Login | Register
My pages Projects Community openCollabNet

argouml
Wiki: Diff for "UML 2.x support"

Edit this page | Links to this page | Page information | Attachments | Refresh page

 

Differences between revisions 8 and 34 (spanning 27 versions)

Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
The top level issue to collect all UML 2.x migration and compliance issues is: [http://argouml.tigris.org/issues/show_bug.cgi?id=5463 Issue 5463], please discuss there! This page summarizes the discussions in that issue and presents the state of the current work. The top level issue to collect all UML 2.x migration and compliance issues is: [http://argouml.tigris.org/issues/show_bug.cgi?id=5463 Issue 5463], please discuss there! This page summarizes the discussions in that issue and presents the state of the current work. Navigate to the ["eUML"] page for documentation of the current UML 2.x model subsystem implementation.
Line 6: Line 6:
The basis for the work towards UML 2.x support is the set of UML specification documents from the OMG. The current version is 2.1.2, so that should be the target until a new spec is released. Here's the link, most relevant is the Superstructure specification: The basis for the work towards UML 2.x support is the set of UML specification documents from the OMG. The current version is 2.3, and a beta for 2.4 is available, but our target so far is 2.2 unless our used model repository (see below) implements 2.3. Here's the link, most relevant is the Superstructure specification:
Line 8: Line 8:
http://www.omg.org/spec/UML/2.1.2/ http://www.omg.org/spec/UML/2.2/
Line 10: Line 10:
(UML spec 2.2 is announced already, the link to the actual beta version is: http://www.omg.org/spec/UML/2.2/Beta1/) The OMG has announced the Model Interchange Working Group in July 2009, one of us (thn) joined their mailing list. For more information, see our page about ["UML 2.x Model Interchange"].
Line 12: Line 12:
An ArgoUML 0.26.x project of the UML metamodel of the Superstructure spec (2.1.2) can be found [http://argouml.tigris.org/models/omg/uml2superstructure.zargo here]. An ArgoUML 0.28 project of the UML metamodel of the Superstructure spec (2.2) can be found [http://argouml.tigris.org/models/omg/uml2superstructure.zargo here].
Line 17: Line 17:
(mention EUML here) ArgoUML has it's own model subsystem implementation for UML 2, called ["eUML"], to replace the mdr-based model implementation. It is based on [http://www.eclipse.org/modeling/mdt/?project=uml2 Eclipse UML2] ([http://download.eclipse.org/modeling/mdt/uml2/javadoc/3.1.0/ Javadoc]) and [http://www.eclipse.org/modeling/emf/ EMF] ([http://download.eclipse.org/modeling/emf/emf/javadoc/2.5.0/ Javadoc]). The [http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/ sources of eUML] are organized inside of the core ArgoUML project. This is functional, but not complete currently.
Line 19: Line 19:
(mention GSoC work on EUML and argouml-euml subproject here) The eUML subsystem started as a [http://code.google.com/soc/2007/ Google Summer of Code (TM)] 2007 (GSoC) project, the initial contributors were Bogdan Pistol (the student) and Tom Morris (the mentor). For an introduction on using Eclipse UML2, see [http://euml.wikispaces.com/ Bogdan's eUML wiki].
Line 21: Line 21:
eUML resources:
 * [http://argouml.tigris.org/source/browse/argouml/trunk/src/argouml-core-model-euml/ Source code] (it's in SVN)
 * (very old) ["Status of eUML"], when Bogdan has finished his work
 * ["Demo of the eUML Subsystem"]: This has become obsolete with the ArgoUML 0.29.1 release (however the Undo feature is still missing).

== Running and Debugging ArgoUML with the EUML Model Implementation ==
Eclipse is recommended.

Launch ArgoUML with the "ArgoUML UML-EUML debug"-configuration.

Run tests with the "ArgoUML Model all tests with eUML"-configuration.

(Further questions (by Dave) on practical steps on what to actually do,
need to be answered: How do I set up
ArgoUML with the new model, in whatever functional/non-functional state
it is in? How do I know what has or hasn't been updated yet? How do I
know if it is working? How do I know the difference between a test that
is supposed to pass and an obsolete test that will never pass?)

== Tasks for UML 2.x Support ==

Implementing this is a lot of work. It needs to be split into many tasks. See our ["Tasks for UML 2.x Support"] page and help improving it!
Line 24: Line 46:
As ArgoUML switches from UML 1.4 to UML 2.x, these changes have to be
considered. This section lists some of the most important changed concepts
As ArgoUML switches from UML 1.4 to UML 2.x,
["C
hanges from UML 1.x to UML 2.x"] have to be considered.
See
that page for some of the most important changed concepts
Line 27: Line 50:

=== Classifier ===

In UML 1.4, a classifier is is the metamodel superclass of {{{Class}}}, {{{DataType}}}, and {{{Interface}}}. ArgoUML relies on that in many places by using the model facade method {{{isAClassifier()}}}. These method calls have to be rethought.

=== Association End ===

In UML 1.4, an association end is a part of an association (composition) and is associated with a classifier. ArgoUML has a property panel for it.

In UML 2.x, there is no association end metaclass. An association end instead is represented by a property (which also represents attributes).

The no longer supported {{{targetScope}}} of an association end has already been taken care of in [http://argouml.tigris.org/issues/show_bug.cgi?id=5458 issue 5458].

=== Classifier Role ===

In UML 2.x interactions are contained within classifiers and not only within collaborations. Their participants are modeled by lifelines instead of classifier roles. For sequence diagrams this means that there are no classifier roles, but "connectable elements" associated with lifelines.

(To be explained: connectable elements. The concepts of classifier role, association role, and association end role have been superseded in UML 2.x.)

The top level issue to collect all UML 2.x migration and compliance issues is: Issue 5463, please discuss there! This page summarizes the discussions in that issue and presents the state of the current work. Navigate to the eUML page for documentation of the current UML 2.x model subsystem implementation.

OMG Specs

The basis for the work towards UML 2.x support is the set of UML specification documents from the OMG. The current version is 2.3, and a beta for 2.4 is available, but our target so far is 2.2 unless our used model repository (see below) implements 2.3. Here's the link, most relevant is the Superstructure specification:

http://www.omg.org/spec/UML/2.2/

The OMG has announced the Model Interchange Working Group in July 2009, one of us (thn) joined their mailing list. For more information, see our page about UML 2.x Model Interchange.

An ArgoUML 0.28 project of the UML metamodel of the Superstructure spec (2.2) can be found here.

Model Repository

ArgoUML has it's own model subsystem implementation for UML 2, called eUML, to replace the mdr-based model implementation. It is based on Eclipse UML2 (Javadoc) and EMF (Javadoc). The sources of eUML are organized inside of the core ArgoUML project. This is functional, but not complete currently.

The eUML subsystem started as a Google Summer of Code (TM) 2007 (GSoC) project, the initial contributors were Bogdan Pistol (the student) and Tom Morris (the mentor). For an introduction on using Eclipse UML2, see Bogdan's eUML wiki.

eUML resources:

Running and Debugging ArgoUML with the EUML Model Implementation

Eclipse is recommended.

Launch ArgoUML with the "ArgoUML UML-EUML debug"-configuration.

Run tests with the "ArgoUML Model all tests with eUML"-configuration.

(Further questions (by Dave) on practical steps on what to actually do, need to be answered: How do I set up ArgoUML with the new model, in whatever functional/non-functional state it is in? How do I know what has or hasn't been updated yet? How do I know if it is working? How do I know the difference between a test that is supposed to pass and an obsolete test that will never pass?)

Tasks for UML 2.x Support

Implementing this is a lot of work. It needs to be split into many tasks. See our Tasks for UML 2.x Support page and help improving it!

Changes from UML 1.4 to UML 2.x

As ArgoUML switches from UML 1.4 to UML 2.x, Changes from UML 1.x to UML 2.x have to be considered. See that page for some of the most important changed concepts and the impact of their changes.


CategoryFurtherDevelopment

UML 2.x support (last edited 2011-05-11 06:28:06 -0800 by mvw)