190 likes | 344 Views
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.
E N D
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. Summary of the results Conclusions and Discussion
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?.
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).
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.
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.
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.
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.
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.
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.
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.
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. Graphicalcompositionisnotuniversallysupported.
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.
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.