120 likes | 278 Views
Kermeta Executable Metamodeling Language. Initiated by Franck Fleury in 2005 within IRISA – Triskell team Kernel Metamodeling Execution platform under Eclipse Open-source language (EPL). Outline. Context definition Overview Goals Model Driven Architecture Context Adhesion
E N D
Kermeta Executable Metamodeling Language • Initiated by Franck Fleury in 2005 within IRISA – Triskell team • Kernel Metamodeling • Execution platform under Eclipse • Open-source language (EPL)
Outline • Context definition • Overview • Goals • Model Driven Architecture Context Adhesion • Basic Concepts • Concepts in Action • Cumulative View • Capabilities • Limitations
Context definition • Java – lack MOF concepts (associations, multiplicities) • OCL – UML support • Action Semantics - different levels of abstraction
Kermeta – Executable Metamodel Basic principles in Eclipse context Behavior aspect principle
Kermeta Goals Intuitive EMOF compatible Eclipse Model transformation EMOF compatible Traceability Model testing Model prototyping
Kermeta in Model Driven Architecture Context Model DrivenTechnologies Metadata Language (MOF) Action Languages (Action Semantics) Transformation Languages (QVT) Constraint Languages (OCL)
Example – Agenda Executable model – class diagram
Example – Agenda (cont’d) • Executable model – Prototype diagram
Example – Agenda – Possible scenario • Agenda GUI • Add a new group • Choose a group • Add a new entry • Remove an entry • Print group contents • Remove a group • Print agenda contents
Kermeta IDE – Capabilities Kermeta Help Integrated Syntax highlighting Kermeta documentation generator Different running methods
Kermeta IDE - Limitations “Uninspired” autocompletion suggestions Broken autocompletion Wrong errors
Bibliography • [1] Towards a traceability framework for model transformations in Kermeta; Jean-Rémi Falleri, Marianne Huchard, Clémentine Nebut; 2006 • [2] Kermeta, an Executable Meta-modeling Language; Jun Li • [3] Weaving Executability into Object-Oriented Meta-L1/15/20101/15/2010anguages; Pierre-Alain Muller, Franck Fleury, Jean-Marc Jézéquel; 2005 • [4] From Model-driven Design to Resource Management for Distributed Embedded Systems –Reifying the Semantic Domains of Component Contracts; Jean-Marc Jézéquel; 2006 • [5] On the Formal Execution of UML and DSL Models; Julien DeAntoni, Frédéric Mallet, Charles André; 2009 • [6] Generic Model Refactorings; Naouel, Vincent Mahé, Olivier Barais, Jean-Marc Jézéquel; 2008 • [7] On Executable Meta-Languages Applied to Model Transformations; Pierre-Alain Muller, Franck Fleurey, Zoé Drey, Damien Pollet, Frédéric Fondement, Philippe Studer, 2007 • [8] http://www.kermeta.org/documents