Installation guidelines

Because pmMDA.NET is still in alpha stage, there is no automated setup.

Follow the instruction to install pmMDA.NET.

prerequisites

The following tools must be installed to use pmMDA.NET :

Check out pmMDA.NET repository

  1. Download and install TortoiseSVN from tortoisesvn.tigris.org/download.html.
  2. Check out the pmMDA project from svn://isvn.hsr.ch/pmMDA with TortoiseSVN using the windows explorer. You can use every local directory you like.
    check out 1
    2a) Select the folder to check out pmMDA.NET
    check out 2
    2b) Enter repository URL
    Note: To check out the repository no username and password is used. To commit data to the repository you may send an email to mpederse(at)hsr.ch to request a username and password.

Check out extended java-pmMDA

Although the java source code was already checked out (repository\source\pmmda), we need to import the pmmda project to eclipse. One possibility is to check out the source\pmmda subfolder to an eclipse project. Below this proceeding is described.

Subclipse

Subclipse is a plugin for eclipse which allows to check out Subversion repositories.

Install subclipse from subclipse.tigris.org using the eclipse plugin feature (there is a guide on the subclipse webpage). Use the JavaSVN library (tmate.org/svn) if you have any trouble using subclipse.

  1. Open eclipse (at least version 3.1) and switch to the "SVN Repository Explorer" perspective.
  2. Add a new SVN Repository:
    1. Add a new repository location
      add repository location (1)

    2. Fill in user data. You may request a username and pasword from mpederse(at)hsr.ch.
      add repository location (2)

    3. Check out java-pmmda
      add repository location (3)

Configure extended java-pmMDA

  1. Open eclipse and swicth the perspective to java.
  2. Open the project pmmda which has been checked out.
  3. Adjust the build properties
  4. Adjust the tools.jar library.
    1. Go to the project settings >> Java Build Path >> Libraries
    2. Select the JDK_TOOLS tools.jar entry and hit the "Edit..." button.
    3. Click the "Variable..." button on the next dialog.
    4. Press the "New..." button and enter:
      Name: JDK_TOOLS
      Path (example): c:/programs/java/jdk1.5.0_03/lib/tools.jar
    java tools library

Run pmMDA

The following variables are used to describe directories

Variable name Description
eclipse_repository Directory of the checked out java-pmmda project. E.g. d:\Eclipse\pmmda
repository Directory of the checked out pmMDA.NET project. E.g. d:\i.svn.ch

Run pmMDA Explorer

  1. Open eclipse and swicth the perspective to java.
  2. Right click on the eclipse project and choose "Run As >> Run...".
  3. Right click on "Java Application" and choose "New".
  4. Enter a configuration name (e.g pmMDA), and set the main class to "ch.bbv.mda.ui.MdaApplication".
  5. Click run
run java-pmmda

Generate example artefacts

To generate the example artefacts follow these instructions:

  1. Open the file "repository\source\pmmda\model\mda-model-net.zargo" within the pmMDA explorer.
  2. Choose Menu --> Generate --> Generate all
  3. The artefacts are generated in the directroy "eclipse projects directory\pmmda\gendir\pmMDA.NET".

Run example artefacts

Copy the generated artefacts

The example artefacts are already part of the visual studio project pmMDA.NET. The visual studio solution is located at "repository\source\pmMDA.NET\pmMDA.NET.sln".

Copy the source files from "eclipse_repository\pmmda\gendir\pmMDA.NET\Dog\*" to the directory "repository\source\pmMDA.NET\pmMDA.NET.Examples.Artefacts\DataObjects" and the NHibernate config files from "eclipse_repository\pmmda\gendir\pmMDA.NET\NHibernate\*.hmb.xml" to "repository\source\pmMDA.NET\pmMDA.NET.Examples.Artefacts\"
Alternatively you can also use the original files which are located in the Examples project. They are the same as the generated artefacts.

Run MySql scripts

  1. Open the MySql Command Line Client.
  2. Create a database with name NHibernate and use this database.
    CREATE DATABASE NHibernate;
    USE NHibernate
  3. Create the mysql tables and the data integrity running the scripts located at "eclipse_repository\gendir\ojb-server" (run createTablesMySQL.sql before createIntegrityMySQL.sql).
    You may copy & paste the content of the scripts into the MySQL Command Line Client or you can use the MySQL SOURCE command.
    SOURCE eclipse_repository/pmmda/gendir/pmMDA.NET/NHibernate/pmMDA.NET.createTables.MySql.sql
    SOURCE eclipse_repository/pmmda/gendir/pmMDA.NET/NHibernate/pmMDA.NET.createIntegrity.MySql.sql

Setup and run pmMDA.NET

  1. Open the visual studio project "repository\source\pmMDA.NET\pmMDA.NET.Examples.sln".
  2. Open the configuration file UserTest\App.config in the visual studio.
    Under the key "hibernate.connection.connection_string" you can set the connection string used by pmMDA.NET. Ensure that the specified user exists in the MySQL database. Of course you can choose a different username and password by creating a new user in the database and modifying the App.config file.
  3. Add the directory "repository\source\pmMDA.NET\Libraries" to the reference path of each project in the exaple solution.
    1. Right click on the project in the "Solution explorer"
    2. Goto "Common Properties" >> "References Path"
    3. Press the "New Line" button or use the shortcut "Ctrl-Insert" and enter the absolute path "repository\source\pmMDA.NET\Libraries" into the new line.
  4. Set the both, the pmMDA.NET.Examples.RemotingHost and the pmMDA.NET.Examples.RemotingClient projects as start projects and rebuild the solution.
  5. Start the Examples solution.
    This test application can create, modify, display and delete a default object tree of providers.
UsersTest

pmMDA.NET repository

repository content
  • Design: Contains design, class and sequence diagrams mainly used to create pictures for the pmMDA.NET documentations.
    • InheritanceStrategy: Design diagrams to explain the inheritance strategies.
    • TaggedValues MetaModel: Class diagram showing all tagged values.
    • Updates: Design and sequence diagrams that are used to explain the update of a dog.
  • doc: Contains the documentation for pmMDA.NET.
    • API Reference: Contains the API reference about the pmMDA.NET framework as windows help file.
    • Concepts: Contains several concept papers.
    • Development: Contains documents which are only used to develop pmMDA.NET.
    • Management: Contains minutes and review documents.
    • Presentations: Contains powerpoint and other presentations about pmMDA.>
    • Requirements: Contains the requirements for paging and views.
    • Webpage: Contains the user and design documentation about pmMDA.NET. The webpage has the same content as the pdf's below.
    • Glossary: Glossary for pmMDA.NET the content of this xml file is attached to each pdf document.
    • pmMDA.NET.design.pdf: Contains design decisions ordered by package.
    • pmMDA.NET.installation.guidelines.pdf: Contains a step by step guide on how to install configure and run pmMDA.NET.
    • pmMDA.NET.tests.pdf: Contains a guide on how to test pmMDA.NET.
    • pmMDA.NET.user.manual.pdf: User manual for pmMDA.NET.
  • source: Contains the source code.
    • bbv: Contains the bbv utilities and their GUI controls.
    • Misc: Contains misc source code such as the OR mapper evaluation projects or the documents generator.
    • Models: Contains the ArgoUML models used to explain and test pmMDA.NET.
    • pmmda: Extended pmMDA java source code. See the chapter Check out extended java-pmMDA for a guide on how to check out the java-pmMDA source code.
    • pmMDA.NET: Contains the source code of the pmMDA.NET framwework as well as example and test projects.
      • Libraries: Contains the libraries used by pmMDA.NET. See the chapter Setup and run pmMDA.NET for a guide on how to add a reference to these libraries.
      • ndocResources: Contains the start page and pictures for the API reference generated by nDoc.
      • Pemi.WinControls: Contains GUI Controls made by M. Pedersen.
      • pmMDA.NET.Common: Contains the part of the pmMDA.NET framework that is used on servers and on clients.
      • pmMDA.NET.Examples.Artefacts: Contains the data objects and NHibernate configuration files for the example pmMDA.NET application.
      • pmMDA.NET.Examples.RemotingClient: Contains the client of the example pmMDA.NET application.
      • pmMDA.NET.Examples.RemotingHost: Contains the server of the example pmMDA.NET application.
      • pmMDA.NET.Remoting.Client: Contains the part of the pmMDA.NET framework that is used on client side.
      • pmMDA.NET.Remoting.Server: Contains the part of the pmMDA.NET framework that is used on server side.
      • pmMDA.NET.UnitTests: Contains the unit tests to test the pmMDA.NET framework.
      • pmMDA.NET.ViewApp: Contains an example application that works with views.
    • pmMDA.NET.Webpage: Contains the webpage as source. The document generator copies this webpage to the doc\Webpage directory.