Login | Register
My pages Projects Community openCollabNet

argouml
Wiki: Tasks for UML 2.x Support

Revision 5 as of 2009-04-02 09:48:34 -0800

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

 

This page is relevant for all willing contributors to UML 2.x support

Introduction

Back in the days where the model subsystem was created, the goal was to allow for an easy replacement of the model repository implementation (we wanted to replace Novosoft NSUML by Netbeans MDR). In fact, this was a transition from UML 1.3 to 1.4. There were differences, but not too many, so things got running and new UML 1.4 features were only implemented where absolute necessary or needed (still not finished).

For the transition of UML 1.x to 2.x, too many things in the metamodel changed to just replace the model implementation and only handle a few changes. Existing metamodel elements changed the way they are used (like Classifier) or completely vanished (like AssociantionEnd or ClassifierRole). So we can expect that our model subsystem interface changes a lot: Facade, Factories, Helpers and ?ModelEventPump. Luckily, Bogdan has done a great part here already with eUML, mainly focussing on class diagrams.

But even after Bogdan's work we have two approaches:

  • Systematically go through all changes in the UML spec, or
  • do this only for a single feature, and then proceed feature by feature.

Systematic approaches to analyse the changes

Independently if this is done only for a particular feature or for the whole UML, a first step would be to analyse the relevant changes. And here we again have several possible approaches:

  • Review the (relevant) chapters of the UML superstructure specification.
  • Review the (relevant) parts of our current MDR model subsystem implementation and see if there's a change in the UML spec (e.g.: "Is this method suitable for UML2, and is the condition for not throwing an ?IllegalArgumentException?").

  • Review the (relevant) client code for the model subsystem and see if there's a change in the UML spec for the used model methods (e.g. "Does this property panel or model figure still makes sense, does it need to be modified/extended?".

List of all Tasks

Here are tables of all identified tasks with links to corresponding issues. Please contribute to these tables, they need to be extended and updated.

Preliminary Tasks

ID

Task Summary

Status

Dependencies

T1

decision: when making a first eUML based release

0%

-

T2

read UML superstructure specification

0%

-

T3

analyze changes between UML 1.4 (1.3) and UML 2.2

0%

-

T4

analyze Bogdan's changes to the core for his demo

0%

-

T5

decision: roadmap on complience levels

0%

-

General Implementation Tasks

Issue No

Task Summary

Status

Dependencies

?

upgrade to actual eclipse UML2 version

0%

-

?

apply changes to the core (similar to what Bogdan chaged for the demo)

0%

T4

?

create UML 2.x profile

0%

-

?

check the persistence functionality

0%

-

?

make a first eUML based release

0%

T1,T5

Class Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML Facade implementation completion for class diagrams

0%

-

?

eUML Factory implementation completion for class diagrams

0%

-

?

eUML Helper implementation completion for class diagrams

0%

-

?

interface notation (circle and half circle)

0%

-

?

enable operations for classes/interfaces

0%

-

?

fix property panels for class diagrams

0%

-

?

0%

-

?

completing JUnit tests for class diagrams

0%

-

Use Case Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

0%

-

?

completing JUnit tests

0%

-

Sequence Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

new structuring features (loops, "if", ...)

0%

-

?

0%

-

?

completing JUnit tests

0%

-

Collaboration Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

0%

-

?

completing JUnit tests

0%

-

Statechart Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

0%

-

?

completing JUnit tests

0%

-

Activity Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

0%

-

?

completing JUnit tests

0%

-

Deployment Diagram Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix property panels

0%

-

?

0%

-

?

completing JUnit tests

0%

-

New Diagram Types Implementation

Issue No

Task Summary

Status

Dependencies

?

eUML subsystem implementation completion

0%

-

?

fix/create property panels

0%

-

?

0%

-

?

creating JUnit tests

0%

-