composing models with six different tools: a comparative study

19
Composing Models with Six Different Tools: a Comparative Study Juan Pedro Silva Gallino Universidad Politécnica de Madrid (UPM)

Upload: bowen

Post on 15-Feb-2016

41 views

Category:

Documents


0 download

DESCRIPTION

Composing Models with Six Different Tools: a Comparative Study . Juan Pedro Silva Gallino Universidad Politécnica de Madrid (UPM). Contents. Introduction Tool-set Evaluation Criteria Results for each tool: ATL, AMW, XWeave , Kompose , Theme/UML, Epsilon’s EML. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Composing Models with Six Different Tools: a Comparative Study

Composing Models with Six Different Tools: a Comparative Study

Juan Pedro Silva GallinoUniversidad Politécnica de Madrid

(UPM)

Page 2: Composing Models with Six Different Tools: a Comparative Study

Contents•Introduction•Tool-set•Evaluation Criteria•Results for each tool:

ATL, AMW, XWeave, Kompose, Theme/UML, Epsilon’s EML.

•Summary of the results•Conclusions and Discussion

Page 3: Composing Models with Six Different Tools: a Comparative Study

Introduction•This study is part of the work being done under the ITECBAN project (2006-2010), an Spanish Ministry of Industry’s CENIT project, with a 33 million euros’ budget (http://www.daedalus.es/soluciones/itecban/).•Interest of industry partner: introduce extra-functional concepts without polluting the functional design.•Partner originally working with oAW, we were using ATL. •Recent AOM state of the art study had resulted in Theme/UML as a great candidate => KerTheme?.

Page 4: Composing Models with Six Different Tools: a Comparative Study

Evaluation Use Case

Descriptors Access Control

WSDL + AttachedWS-Policy

Model WS-Policy

Control ModelAcces

iMM Code Stubs

PG1

PG2

PG3

PG4

T1C1

C2

T2

T3

T4

FunctionalModel

Page 5: Composing Models with Six Different Tools: a Comparative Study

Evaluation Project

Page 6: Composing Models with Six Different Tools: a Comparative Study

Tool-set

•The selected tool-set includes a model transformation language (ATL), a model weaver (AMW), a model composer for Kermeta (Kompose), two aspect weavers (XWeave and Theme/UML), and a merging language (EML).

Page 7: Composing Models with Six Different Tools: a Comparative Study

Evaluation Criteria•Graphical Composition. •Input Flexibility. •Necessary Knowledge to use. •Composition Rules Flexibility. •Stability and Robustness of the Tool. •Available Documentation. •Situation and Evolution of the Tool.

Page 8: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: ATL•ATL is a generic transformation language. •One the most flexible tools: no requirements on the input models.•Flexibility among the weaving rules. •Definition of rules libraries. •Well documented tool, although not always easy to find the necessary information. •Only requires knowledge of the ATL language. •Stable tool. •Adding graphical editors and improving debugging would definitely be a great enhancement for ATL.

Page 9: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: AMW•AMMA’s tool targeted on model composition.•Provides a graphical editor for modeling compositions.•Maintains most flexibility on inputs, but requires clean metamodels.•Uses ATL for semantics of the rules and performing the weaving.•Requires extending the abstract weaving metamodel.•Using AMW for the first time is a little more complicated than using ATL. •Advanced features demands some further expertise from the user. •AMW’s basic use is well documented and has a number of available use cases and examples. •Deeper documentation on advanced features and extending the tool would be desirable. •Future plans focus on improving integration with Eclipse (GMT, M2M, etc.). •Well balanced and stable. Not the simplest of tools, but among the most powerful ones.

Page 10: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: Kompose•Kermeta’s framework solution for model composition. •No graphical means for the composition. •Limits the inputs to two models corresponding to the same metamodel. •Supports name matching only, but element names can be changed in pre and post directives. •For each model element to modify => one matching element in the aspect model. •No available documentation on Kompose, but an exemplary video. Promised for the short term.•Only two examples on generating composition specializations for the metamodels. •Overall, an interesting tool taking its first steps. •Would improve a lot with a user interface and a pointcut language (planned features). •No dates on evolution plans.

Page 11: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: XWeave•The easiest tool to use among the ones under evaluation. •An asymmetrical aspect-oriented model composition tool.•Provides a very simple, but still useful pointcut language. •Limited to two input models from the same metamodel.•Greatest limitation: needs a different tool for removing elements or features. •Demands knowing oAW’s workflow and Xtend language. •Scarce documentation: an exemplary video, and a brief user guide. Enough to get going. •XWeave is a simple, very specific tool, focused on aspect-weaving, but with an interesting approach.•Presented some problems, still needs a little tweaking. •The tool is somehow stalled.

Page 12: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: Theme/UML•The Theme/UML tool is a first (incomplete) implementation. •“Merge” compositions work correctly, but “Override” concepts remain to be implemented. •No limitation on the number of input, but mandates the use of the Theme approach •The only required knowledge to use this tool is the Theme methodology•The Theme approach is quite stable and complete, and extensively documented. •A video, user and developer’s guides are provided for the tool. •No evolution plans have been reported.

Page 13: Composing Models with Six Different Tools: a Comparative Study

Use of the tools: EML•Very similar to ATL, no limitations on input models or metamodels.•Syntax specifically focused on model merging, facilitating composition rules. •ModeLink tool not leveraged to be used as an input for model composition.•Great addition: automatic derivation of ECL matches from ModelLink.•Adequate documentation, examples and screen casts on the tools. •Also a book, focused on the description of the languages.•Nice to have: cookbook, or some recipes or cheat sheets. •Requires learning EOL, ECL, and EML (very similar languages).•Epsilon’s languages are considered stable. •Plans for: debugging facilities, additional modeling technologies, scalability and performance. •Integrating ECL with EMF Compare. •EML offers a good balance between flexibility, usability, and potential.

Page 14: Composing Models with Six Different Tools: a Comparative Study

Results of the Evaluation

Page 15: Composing Models with Six Different Tools: a Comparative Study

Results of the Evaluation

•Different state of maturity among the tools.•Different limitations between approaches.•Most of the time: if fexibility ↑, complexity ↑.•Documentation availability varies among them.•Debugging capabilities need to be improved. •Graphical composition is not universally supported.

Page 16: Composing Models with Six Different Tools: a Comparative Study

Conclusions and Discussion•Not much activity around the tools (model composition specifically).•Model-driven ≠ graphical.•Abstracting software development from code = open up to a much larger audience.•The sensation is that tools are (evolved) prototypes of research.•Impression: model composition not widespread and established.

Page 17: Composing Models with Six Different Tools: a Comparative Study

Industrial Partner Conclusions

•↓ costs => Less qualified workforce?, It’s a possibility.•They want graphic tools, easy to use and debug (at least for basic every-day use). •Quick learning curve, fast specification of compositions.•Model Composition: Ready for industrial use?. For our industrial partner, not yet.

Page 18: Composing Models with Six Different Tools: a Comparative Study

Questions?

Page 19: Composing Models with Six Different Tools: a Comparative Study

ModeLink and AMW Weaver