Presentation is loading. Please wait.

Presentation is loading. Please wait.

Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM.

Similar presentations


Presentation on theme: "Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM."— Presentation transcript:

1 Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM 2006, Kaiserslautern

2 SAM'06 - damyot@site.uottawa.ca 2 Motivation Domain-Specific Modeling Languages (DSMLs) –Have interesting benefits –But tool development may discourage their adoption Technology now available to accelerate the development of DSML environments How good are these technologies and tools? –Especially for graphical editors for DSMLs based on meta- models?

3 SAM'06 - damyot@site.uottawa.ca 3 Overview of Presentation A Few Notes on DSMLs Evaluation Context –Editor for a simplified Goal-oriented Requirement Language –Evaluation criteria Evaluation of DSML Development Tools –Generic Modeling Environment (GME) –Telelogic Tau G2 –Rational Software Architect (RSA) –Xactium’s XMF-Mosaic –Eclipse (with EMF and GEF) Comparison and Conclusions

4 SAM'06 - damyot@site.uottawa.ca 4 Domain-Specific Modeling Languages High-level languages specific to a particular application or set of tasks Closer to the problem domain and concepts than: –general-purpose programming languages such as Java –modeling languages such as plain UML Used to satisfy specific modeling, scripting, testing needs… Developed by standard bodies (ITU-T, OMG…) and internally by companies

5 SAM'06 - damyot@site.uottawa.ca 5 Domain-Specific Modeling Languages Major Benefits: –Improvements in productivity –Comprehensibility by users Major Drawback: –Effort required to create and maintain the environment: (Graphical) editors Compilers Translators Debuggers Etc.

6 SAM'06 - damyot@site.uottawa.ca 6 Evaluation Context We want to develop a graphical editor for an evolving graphical modeling language defined by a metamodel Case study based on a simplified version of the Goal-oriented Requirement Language (GRL) –Part of User Requirements Notation –Domain: requirements engineering, especially goal-oriented modeling –Used to specify and reason about business or system goals, alternative means of achieving goals, the rationale for goals and alternatives, and how goals are refined as requirements –Complement the Use Case Map scenario view in URN

7 SAM'06 - damyot@site.uottawa.ca 7 Simplified GRL Metamodel

8 SAM'06 - damyot@site.uottawa.ca 8 Graphical Symbols for GRL Subset (d) Model Example

9 SAM'06 - damyot@site.uottawa.ca 9 Evaluation Criteria Graphical completeness –Can we represent all the notation elements? Editor usability –Undo/redo, load/save, simple manipulation of elements/properties? Effort –How much time and effort is required to learn the approach and produce DSML tools? Language evolution –How are older models handled when the language or metamodel evolves? Integration with other languages –How can we support additional languages (e.g., Use Case Maps in combination with GRL) or integrate with other tools? Analysis capabilities –Can we easily analyze or transform models produced with the graphical editor?

10 SAM'06 - damyot@site.uottawa.ca 10 1. Generic Modeling Environment (GME) From Vanderbilt University Version used: 4.0 (version 5.0 now available) DSML is described as a paradigm (a metamodel) Predefined meta-metamodel and data types Aspects used to control the visibility of elements OCL constraints used to increase precision and validate use models in the editor

11 SAM'06 - damyot@site.uottawa.ca 11 GRL Paradigm (Metamodel) in GME

12 SAM'06 - damyot@site.uottawa.ca 12 More on GME Default shapes, connections, and bitmaps support Additional decorators (COM objects, in C++) can be programmed for specific shapes and behaviours –Also available: higher-level C++ API (Builder Object Network); simpler than COM decorators but more limited. Free: loading/saving (binary and XML), multiple undo/redo, drag&drop, validation against multiplicities and OCL constraints, printing, zooming, overviews, property views, etc.

13 SAM'06 - damyot@site.uottawa.ca 13 GRL Editor with GME

14 SAM'06 - damyot@site.uottawa.ca 14 Observations on GME Good documentation and examples Evolving paradigms preserve backward compatibility –If elements, links and references are added but not renamed or deleted –More robustness for attribute handling Big effort required to program COM decorators Hard to associate decorators to links –GRL contributions: intermediate nodes needed GRL correlations (dashed lines) not supported Analysis and transformation require C++ programming Standalone editor, no integration with other tools

15 SAM'06 - damyot@site.uottawa.ca 15 2. Tau G2 From Telelogic Version used: 2.4 (version 2.6 now available) DSML is described as a UML 2.0 profile Two ways of creating profiles: –Stereotype Mechanism (SM) –Metamodel Extension Mechanism (MEM)

16 SAM'06 - damyot@site.uottawa.ca 16 Tau G2: Stereotype Mechanism (SM) Stereotypes that extend basic UML elements Extensions include customizations of names, attributes, and appearance. In this way, each GRL element can be implemented as a stereotype of a UML class. Relatively straightforward, but the editor still includes all the basic UML elements that were extended (e.g. class diagram concepts). –Risk of pollution!

17 SAM'06 - damyot@site.uottawa.ca 17 Tau G2: Metamodel Extension Mechanism (MEM) More powerful but also more complex than SM –Creation or modification of dozens of classes and diagrams Provides metamodel extensions of non-basic UML element, such as class diagrams, by extending the UML metamodel itself GRL models can hence be represented as a metaclass extension of UML class diagrams Resulting editor can be restricted to target DSML GUI can also be adapted (e.g. palette)

18 SAM'06 - damyot@site.uottawa.ca 18 GRL Editor (MEM UML 2.0 Profile) with Tau G2

19 SAM'06 - damyot@site.uottawa.ca 19 Observations on Tau G2 Free: loading/saving models, printing, multiple undo/redo, zooming, property sheets, and some validation against the UML 2.0 metamodel Integration to the rest of UML 2.0 models Many manual steps required for profiles –See overview in the paper Almost no documentation at the time –Help from experts Graphical syntax limitations (links, end points, …) Tau agents (in C++) required to analyze models

20 SAM'06 - damyot@site.uottawa.ca 20 3. Rational Software Architect (RSA) From IBM Version 6.0 used Only provides the stereotype mechanism for profiles –No metamodel extensions at the time Creating SM profiles is simpler than with Tau G2

21 SAM'06 - damyot@site.uottawa.ca 21 Associated Metaclasses in RSA Profile Custom shapes for classes, but not for links Contribution types mapped to Association Class links

22 SAM'06 - damyot@site.uottawa.ca 22 GRL Model (UML 2.0 Profile) with RSA

23 SAM'06 - damyot@site.uottawa.ca 23 Observations on RSA Free: loading/saving, multiple undo/redo, zooming, property sheets Integration with UML 2.0 Eclipse-based Usability of GRL editor is rather weak –Often requires modifications in the Property view Class diagram elements (e.g., multiplicities) mixed with DSML elements End points, correlations, and beliefs still are issues GUI customizable via Eclipse API, not the profile

24 SAM'06 - damyot@site.uottawa.ca 24 4. XMF-Mosaic From Xactium Version 0.7 used (version 1.0 now available) Supports OCL, builds on top of MOF/XCore Supports the definition of grammars, parsers, graphical and textual/XML syntaxes, (QVT-like) transformations and mappings, and editors Snapshots can be used to test the metamodel Automatic generation of graphical editors with Xtools –From domain model written in XCore

25 SAM'06 - damyot@site.uottawa.ca 25 GRL Editor with XMF-Mosaic

26 SAM'06 - damyot@site.uottawa.ca 26 Observations on XMF-Mosaic Eclipse-based Simple addition of bitmap shapes and palettes Feedback offered by the tool during development Lot of potential Xtools has still many limitations and issues –Essentially requires XOCL coding of necessary elements –Incorrect handling of OCL and associations from superclasses –No load/save, undo/redo, of models yet Graphical annotations/ends for links unfeasible –GRL contributions, beliefs… Could not evaluate the evolution of metamodels

27 SAM'06 - damyot@site.uottawa.ca 27 5. Eclipse with EMF and GEF Open source, Eclipse Foundation (and IBM…) Version 3.0/3.1 used, 3.2 available Extensible Java-based platform that provides useful services for the creation of textual / graphical editors Eclipse Modeling Framework (EMF) –Framework and code generation facility for building tools and other applications based on a structured data model –Can be created by importing, e.g., Rose class diagrams Graphical Editing Framework (GEF) –Framework that allows to take an existing (EMF) application model and quickly create a rich graphical editor for it

28 SAM'06 - damyot@site.uottawa.ca 28 GRL Editor with Eclipse, GEF and EMF

29 SAM'06 - damyot@site.uottawa.ca 29 Observations on Eclipse with EMF/GEF Eclipse-based EMF metamodel very useful –Integration with GEF, XMI load/save –Evolution robustness similar to GME –But metamodel multiplicities and constraints not handled well Great usability, can handle full notation Steep learning curve, documentation by examples Lots of efforts –Shapes, connectors, undo/redo, label editing, property sheets –But not so much for zooming, palettes, views, exports to images, multi-platform, extension points…

30 SAM'06 - damyot@site.uottawa.ca 30 Comparison Summary GMETau G2RSAXMF- Mosaic Eclipse Graphical Completeness MediumLowVery Low LowHigh Editor Usability Medium Low Very High Effort MediumLowHighLowVery Low Language Evolution High ??? Medium Integration LowHigh LowHigh Analysis / Transformation Medium LowHighMedium

31 SAM'06 - damyot@site.uottawa.ca 31 Conclusions Graphical editors for meta-model based languages such as GRL Evaluation: –For simple/rapid prototyping of modeling language editors: GME –For serious, industrial-strength editors: Eclipse –For integration with UML 2.0: Tau G2 over RSA –XMF-Mosaic: novel and promising ideas, but not mature yet Future work: –Study of Eclipse’s Graphical Modeling Framework (GMF) –Evolve jUCMNav based on Eclipse and perhaps GMF


Download ppt "Evaluation of Development Tools for Domain-Specific Modeling Languages D. Amyot, H. Farah, J.-F. Roy with contributions from Y. Chu and N. Janmohamed SAM."

Similar presentations


Ads by Google