Skip to main content

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

Hi guys,

 

It would be good if such discussions could go through the forum in order every Papyruser can benefit it.

 

Thanks,

Best… Sébastien.

 

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

Sébastien Gérard

Head of the LISE labs and leader of the Eclipse Papyrus project (www.eclipse.org/papyrus).

+33 (0)1 69 08 58 24 / +33(0)6 88 20 00 47

CEA Saclay Nano-INNOV

Institut CARNOT CEA LIST

DILS/Laboratoire d’Ingénierie dirigée par les modèles pour les Systèmes Embarqués (LISE),

Point Courrier n°174

91 191 Gif sur Yvette CEDEX

 

De : mdt-papyrus.dev-bounces@xxxxxxxxxxx [mailto:mdt-papyrus.dev-bounces@xxxxxxxxxxx] De la part de NOYRIT Florian
Envoyé : jeudi 12 février 2015 18:42
À : Papyrus Project list
Objet : [PROVENANCE INTERNET] Re: [mdt-papyrus.dev] Elementtypesconfiguration framework

 

Dear Patrik,

 

“Here I'm a bit confused. E.g. the EditHelpers are (still) there in org.eclipse.papyrus.uml.service.types. Or maybe the thing is that they are not generated anymore?”
->

EditHelpers that were originally generated in each diagram are note generated anymore.

The org.eclipse.papyrus.uml.service.types.helper.ElementEditHelper replaces all of them when possible. If a specific edithelper is required, it should be in org.eclipse.papyrus.uml.service.types.helper.

 

 

“Next question, how are the elementtypesconfigurations models used? Are they just describing the elementTypes and how they relate or are they are used for other things? Also, I miss how they are registered in the ElementType Registry.”

->

elementtypesconfigurations models are registred and interpreted by the classes in org.eclipse.papyrus.infra.elementtypesconfigurations.registries

Those models describe all the elementtypes, advices, matchers and containers definitions.

You may look at /org.eclipse.papyrus.infra.elementtypesconfigurations/model/ElementTypesConfigurations.ecore_diagram to see what can be described (by the generic elementtypesconfiguration)

 

“Yet another newbie question, what is MF?”

->

It is a typo, it should be EMF instead of MF. Regarding this particular point you may refer to http://ed-merks.blogspot.fr/2008/01/creating-children-you-didnt-know.html

 

Best regards.

 

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

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

 

De : mdt-papyrus.dev-bounces@xxxxxxxxxxx [mailto:mdt-papyrus.dev-bounces@xxxxxxxxxxx] De la part de Patrik Nandorf
Envoyé : jeudi 12 février 2015 16:38
À : Papyrus Project list
Objet : Re: [mdt-papyrus.dev] Elementtypesconfiguration framework

 

Hi Florian,

Thanks for this explanation, however I have some questions (see below). I'm trying to get into the GMF Runtime in general and the element types in particular so if I ask stupid questions please bare with me.

I alos have some more specific questions of the code you've committed, e.g .the NamespaceOwnedMemberEditHelperAdvice and the DirectedRelationshipEditHelper since it 'interfere' with some tests I'm writing, but lets start with the questions below.

/Patrik

On 02/09/2015 09:12 AM, NOYRIT Florian wrote:

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.


Here I'm a bit confused. E.g. the EditHelpers are (still) there in org.eclipse.papyrus.uml.service.types. Or maybe the thing is that they are not generated 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”.

 

Next question, how are the elementtypesconfigurations models used? Are they just describing the elementTypes and how they relate or are they are used for other things? Also, I miss how they are registered in the ElementType Registry.

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)


Yet another newbie question, what is MF?

- 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

 



_______________________________________________
mdt-papyrus.dev mailing list
mdt-papyrus.dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/mdt-papyrus.dev

 


Back to the top