Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[mdt-papyrus.dev] Elementtypesconfiguration framework

Dear Papyrus developers,

 

I merged the elementtypesconfiguration framework in master this weekend. It relies on the GMF Elementtypes registry (you can look at “Developer's Guide to the Extensible Type Registry” in Eclipse Help for a short introduction).

 

This new framework is used to refactor the semantic handling of model element in diagram editors. Before, each diagram handled the semantic edition of the model through its own editpolicies, edithelper and edit commands.

Now those are merged and centralized in org.eclipse.papyrus.uml.service.types or org.eclipse.papyrus.sysml.service.types. The Papyrus’s gmfgen code generator doesn’t generate the editpolicies, edithelpers and editcomamnds anymore.

So far, only the class diagram and usecase diagrams have been fully migrated to the elementtypesconfiguration framework. The activity diagram has been partially migrated.

 

All the UML elementypes are defined in org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations. Then every diagram specializes those elementypes (e.g. org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations)

In the gmfgen, the MetamodelTypes or SpecializationTypes are set to be “defined externally”.

 

The elementtypesconfiguration mainly consists of:

- org.eclipse.papyrus.infra.elementtypesconfigurations

The core of the framework. In this plugins generated code is clearly separated from manually coded sources.

- org.eclipse.papyrus.infra.elementtypesconfigurations.edit

                Obvious

- org.eclipse.papyrus.infra.elementtypesconfigurations.editor

                Obvious (note that extensions use the childcreationextender feature of MF so this editor can be used for extension of the elementtypesconfigurations framework too)

- org.eclipse.papyrus.infra.elementtypesconfigurations.emf

                Provides an extension of the generic framework for EMF model edition operations (not much tested)

- org.eclipse.papyrus.infra.elementtypesconfigurations.invarianttypes

Provides a generic extension of the elementtypesconfigurations framework to define invariants (e.g. an abstract class that must  always be an abstract class) (not much tested)

- org.eclipse.papyrus.uml.tools.elementtypesconfigurations

                Provides an extension of the generic framework for UML model edition operations (not much tested)

- org.eclipse.papyrus.uml.service.types & org.eclipse.papyrus.sysml.service.types

                The elementtypes defintions together with appropriate commands, edithelpers, …

- org.eclipse.papyrus.elementtypesconfigurations.developer

                Some developer utils. Especially a view to list registered elementtypes.

 

This framework aims to replace the extendedtypes framework. Should you rely on the extendedtypes framework, you should switch to the elementtypesconfiguration framework. The migration should be rather straight forward.

 

This contribution most probably added regressions. Some are already identified and some should appear soon. Despite this regressions, we decided to push this framework because many ongoing tasks depend on it to go further and because it is more than time to get feedback.

 

So far, I was (almost, thanks Christian) the only one working on this framework and migration. Even though some other contributors and committers have formally been asked to join me in this effort, you are all welcome to contribute to it.

 

Yours faithfully.

 

--------------------------------

Florian NOYRIT

+33 (0)1 69 08 01 01 - florian.noyrit@xxxxxx

CEA Saclay Nano-INNOV

Institut CARNOT CEA LIST

DILS/Laboratory of model driven engineering for embedded systems (LISE),

Point Courrier 174, 91191 Gif-sur-Yvette, France

 


Back to the top