My favorites | Sign in
Project Logo
                
Search
for
Updated Sep 10, 2009 by soundasleep
Labels: Featured, Development, Phase-Implementation
Development  
How to set up a development environment.

This document will briefly summarise the steps required to create your own development environment from the source code, in order to understand and contribute to the project. If you only want to check out a copy of the plugin in order to create web application models, check out the installation instructions instead.

Introduction

IAML is currently developed in Java and Eclipse 3.5 (Galileo), and heavily utilizes EMF (for the meta-model definition), GMF (for the graphical editor), OpenArchitectureWare (for code generation and constraint validation) and JBoss Drools (for model inference). Currently an in-depth knowledge of all of these related technologies is assumed for development.

In the future, once issue 28 is resolved, a copy of the entire IAML development environment will be provided on the update site as an SDK feature.

Requirements

First you will need to download Eclipse 3.5 (Galileo) and extract it to your given working directory; and, of course, you will need Java 1.6+ installed.

I suggest adding the following parameters to your eclipse.ini to prevent Out of PermGen Memory errors:

-vmargs
-Xms128m
-Xmx512m
-XX:PermSize=128M
-XX:MaxPermSize=384M

Then, through the Install New Software... manager, install the following plugins and SDKs along with their pre-requisites:

Galileo

Name: Galileo update site
URL: http://download.eclipse.org/releases/galileo

You may also install the TPTP Testing and Profiling tools if you wish to profile the application, but this is not necessary.

GMF

We update from the GMF update site itself to keep up-to-date with recent releases.

Name: GMF update site
URL: http://download.eclipse.org/modeling/gmf/updates/releases/

OpenArchitecureWare

When installing, uncheck "Group items by category". This needs to be installed after the UML2 tools above, or you may run into a prerequisite problem that Eclipse cannot solve itself. We will be using OAW until issue 71 is resolved to migrate it to the new Xpand Eclipse project.

Name: OpenArchitectureWare update site 
URL: http://www.openarchitectureware.org/updatesite/milestone/
  • openArchitectureWare Classic feature (4.3.1)
  • openArchitectureWare Classic SDK feature (4.3.1)
  • openArchitectureWare SDK feature (4.3.1)

JBoss Drools

While JBoss Drools 5.0.1 has been released, there is a major bug that prevents us from using this implementation yet. So, you should instead install Drools 4.0.7:

Name: JBoss Drools update site 
URL: http://downloads.jboss.com/drools/updatesite3.3/
  • JBoss Drools Workbench (4.0.7)

XPath support for EMF

This helps us in our test cases to select various parts of EMF models. (more information)

Name: Ecliptical Software update site
URL: http://www.eclipticalsoftware.com/updates
  • XPath support for EMF (2.0.1)
  • XPath Support for EMF SDK (2.0.1)

GMF Tools

This is not strictly necessary, but the GmfTools sub-project adds some extra functionality not yet provided by GMF; in particular, the ability to generate diagram code from multiple .gmfgens.

Name: IAML GMF Tools Update Site
URL: http://iaml.googlecode.com/svn/trunk/org.openiaml.gmf.tools.update/
  • GMF Tools Feature (0.0.1)

Subclipse

Subclipse permits version control with Subversion; another option is Subversive, but I don't prefer it. You will need to install SVN separately onto your system. Make sure that you select the correct Subclipse version for your current installation of SVN.

Name: Subclipse 1.6.x update site
URL: http://subclipse.tigris.org/update_1.6.x
  • Subclipse (Required) (1.6.5)
  • Subversion Client Adapter (Required) (1.6.4.1)
  • Subversion JavaHL Native Library Adapter (Required) (1.6.4.1)

Checking out

Once you have your Eclipse environment set up, you can check out the latest trunk from the Subversion repository. Simply check out all projects in trunk to your local workspace.

SVN Trunk: http://iaml.googlecode.com/svn/trunk/

Development Guides

In the future this guide will also contain information on topics such as:

  1. Plugin Overview
  2. Building
    1. Reloading the meta-model
    2. GeneratingDiagramEditors
  3. Testing
  4. Deploying
  5. Contributing
  6. Extending
    1. CreatingANewVisualEditor
  7. Integrating
  8. Profiling

For now you can see the PluginIDs of each of the modelling plugins.


Sign in to add a comment
Hosted by Google Code