Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3

Size: px
Start display at page:

Download "Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3"

Transcription

1 Domain-specific modeling (and the Eclipse Modeling Framework) Ákos Horváth Gábor Bergmann Dániel Varró István Ráth Model Driven Software Development Lecture 3 Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

2 OVERVIEW Metamodeling and Domain Specific Modeling

3 Domain specific modeling languages Business analyst Business process System designer Dependability expert Dependability model Risk model Security expert Software developer Programming language Software model Metamodeling and Domain Specific Modeling Software architect

4 Concrete syntax Usage example of DSMs Abstract syntax Well-formedness constraints Behavioural semantics, simulation, refactoring Call graph (view) Metamodeling and Domain Specific Modeling State machines (different DSM)

5 Graphical syntax Structure of DSMs Abstract syntax Well-formedness constraints Behavioural semantics, simulation, refactoring Mapping Code generation Textual syntax View Code (documentation, configuration) Metamodeling and Domain Specific Modeling

6 Aspects of Defining DSMLs Abstract syntax Collaborate Wellformedness constraints DSML Views translations mappings Concrete syntax Behavioural (dynamic) semantics Metamodeling and Domain Specific Modeling

7 Role of EMF/Ecore technology in DSL GMF, Graphiti, EuGENia, Sirius, Spray, Xtext, Edit Goal: Provide common base for advanced DSL tools Consistent model manipulation Persist models Tree based editor EMF Compare EMF Store, CDO, Collaborate EMF modeling core Process & View Acceleo, ATL, Epsilon, IncQuery, QVT, Xtend, Metamodeling and Domain Specific Modeling

8 DOMAIN SPECIFIC MODELING Metamodeling and Domain Specific Modeling

9 Designing modeling languages Language design checklist o Abstract syntax (metamodel) Taxonomy and relationships of model elements Well-formedness rules o Semantics (does not strictly belong to a language) Static Behavioural o??? o Concrete syntax Textual notation Visual notation Metamodeling and Domain Specific Modeling

10 Revisiting the example Generalization Automaton initial states transitions Association Instantiation Meta (Language) level AccState State from color:{r,g,b} to Metamodel Transition Class Attribute (Instance) Model level Object Link fr t3 ini to s1 st st a1 s3 fr tr st tr to t1 s2 t2 to fr Model in abstract syntax Metamodeling and Domain Specific Modeling

11 Revisiting the example Automaton Meta (Language) level initial states transitions AccState State from Transition color:{r,g,b} to Metamodel Model level fr t3 ini to s1 st st a1 s3 fr tr st tr to t1 s2 t2 to fr a1 s1 t3 t1 s3 s2 t2 Abstract syntax Concrete syntax Metamodeling and Domain Specific Modeling

12 Example: Concrete Syntax request() { if (state == "idle" && this.load<10) state = "calculating"; } response() { if (state == "calculating") state = "idle" } Graphical notation Textual notation Metamodeling and Domain Specific Modeling

13 Textual notation: Textual vs. Visual + Easy to write: Able to capture complex expressions - Difficult to read: Difficult to comprehend and manage after certain complexity (e.g what refers me?) Visual notation: + Easy to read: Able to express (selected / subset of) details in an intuitive, understandable form + Safe to write: Able to construct syntactically correct models - Difficult to write: graphical editing is slower Metamodeling and Domain Specific Modeling

14 Abstract Syntax Example: UML model Graphical notation (Class Diagram) Metamodeling and Domain </packagedelement> Specific Modeling <?xml version="1.0" encoding="utf-8"?> <uml:package name="geography" xmi:version="2.1" xmlns:xmi=" xmlns:uml=" xmi:id="_7qi_as2ued-vcp9iy9gyhg"> [...] <packagedelement xmi:type="uml:class" name="country" xmi <ownedattribute name="name" aggregation="composite" xm <type xmi:type="uml:primitivetype" href="pathmap://u </ownedattribute> <ownedattribute name="formercapitals" aggregation="com <uppervalue value="*" xmi:type="uml:literalunlimited <lowervalue xmi:type="uml:literalinteger" xmi:id="_y </ownedattribute> <ownedoperation name="coup" xmi:id="_fhicec2ved-vcp9iy <ownedparameter direction="return" xmi:id="_le7b8c2v </ownedoperation> </packagedelement> <packagedelement xmi:type="uml:class" name="city" xmi:id <ownedattribute name="name" aggregation="composite" xm <type xmi:type="uml:primitivetype" href="pathmap://u </ownedattribute> <ownedattribute name="founded" aggregation="composite" <type xmi:type="uml:primitivetype" href="pathmap://u </ownedattribute> </packagedelement> <packagedelement xmi:type="uml:association" xmi:id="_xq_ <ownedend name="cities" type=" KgpUC2vEd-VCP9iY9GYHg" <uppervalue value="*" xmi:type="uml:literalunlimited <lowervalue value="1" xmi:type="uml:literalinteger" </ownedend> Textual notation <ownedend name="country" type="_ggassc2ved-vcp9iy9gyhg <uppervalue xmi:type="uml:literalunlimitednatural" (XMI 2.1) x <lowervalue xmi:type="uml:literalinteger" value="1" </ownedend>

15 One-to-many Multiplicity of Notations o 1 abstract syntax many textual and visual notations Human-readable-writable textual or visual syntax Textual syntax for exchange or storage (typically XML) In case of UML, each diagram is only a partial view o 1 abstract model many concrete forms in 1 syntax! Whitespace, diagram layout Comments Syntactic sugar o 1 semantic interpretation many abstract models e.g. UML2 Attribute vs. one-way Association Metamodeling and Domain Specific Modeling

16 METALEVELS Metamodeling and Domain Specific Modeling

17 Metalevels Automaton AccState «instance» initial State states color:{r,g,b} from to transitions Transition Meta relationship between models fr ini t3 to s1 st st a1 s3 fr tr st tr to t1 s2 t2 to fr Clear level separation: o Loses some flexibility Metamodeling and Domain Specific Modeling o Much easier to understand o Usually enough to keep two levels in mind at once

18 Metalevels in MOF OMG s MOF (Meta Object Facility) o 4-layer approach M3 level meta-metamodel MOF Model Fixed: MetaClass, MetaAttr, M2 level metamodel UML Metamodel MetaClass ( Class, MetaAttr ( name )) MetaClass ( Attr, MetaAttr ( name )) M1 level model UML Model Class( Car,Attr( licenseplate )) M0 level data Application Data Car( ABC-123 ), Car( DEF-456 ) o Why exactly four levels? Metamodeling and Domain Specific Modeling

19 Metalevels in other approaches EMF (Eclipse Modeling Framework) meta-metamodel Ecore Fixed: EClass, EAttr metamodel Ecore Model (EPackage) «instance» EClass( Car,EAttr( licenseplate )) model Multi-level metamodeling o VPM o Ontologies Application Data (Resource) «instance» Car( ABC-123 ), Car( DEF-456 ) Metamodeling and Domain Specific Modeling

20 SEMANTICS Metamodeling and Domain Specific Modeling

21 Semantics Semantics: the meaning of concepts in a language o Static: what does a snapshot of a model mean? o Dynamic: how does the model change/evolve/behave? Static Semantics o Interpretation of metamodel elements o Meaning of concepts in the abstract syntax o Formal: mathematical statements about the interpretation E.g. formally defined semantics of OCL Metamodeling and Domain Specific Modeling

22 Dynamic Semantics Operational o Modeling the operational behavior of language concepts o interpreted o e.g. defining how the finite automaton may change state at run-time o Sometimes dynamic features are introduced only for formalizing dynamic sematics Denotational (Translational) o translating concepts in one language to another language (called semantic domain) o compiled o E.g. explaining state machines as Petri-net Metamodeling and Domain Specific Modeling

23 Example: Denotational semantics Automaton Meta (Language) level initial states transitions AccState State from Transition color:{r,g,b} to Metamodel Model level fr t3 ini to s1 st st a1 s3 fr tr st tr to a1 s1 t3 s3 t1 s2 t2 to fr t1 s2 t2 Abstract syntax Semantic Domain Metamodeling and Domain Specific Modeling

24 Example: Operational semantics Dynamic feature Meta (Language) level current AccState Automaton initial states transitions State from Transition color:{r,g,b} to Metamodel (Instance) Model level At first, current = initial fr ini s1 st st a1 s3 fr tr st tr to t1 s2 t2 to fr Metamodeling and Domain Specific Modeling t3 to Model in abstract syntax Possible evolution: current is redirected along a transition

25 Relationship of models scanning and parsing Concrete syntax Abstract syntax layout operational semantics denotational semantics semantic feedback Semantic domain/ Programming language Metamodeling and Domain Specific Modeling

26 DOMAIN-SPECIFIC MODELING LANGUAGES IN ENGINEERING PRACTICE Metamodeling and Domain Specific Modeling

27 Well known DSLs MATLAB, SQL, Erlang, Shell scripts, AWK, Verilog, YACC, R,S, Mathematica, XSLT, XMI, OCL, Template languages, Metamodeling and Domain Specific Modeling

28 Automotive Industry standard DSMLs o AUTOSAR, MATLAB StateFlow, EAST-AADL Aerospace o AADL Railways o UML-MARTE Systems engineering o SysML, UML-FT Metamodeling and Domain Specific Modeling

29 Technologies MATLAB Rational Software Architect Eclipse o EMF, Sirius o Xtext/Xcore/etc. Microsoft o DSL Tools (Visual Studio) MetaCase o MetaEdit+ JetBrains MPS GEMS, GME, ViatraDSM COTS Language engineering (industry) Academia Metamodeling and Domain Specific Modeling

30 MetaEdit+ Metamodeling and Domain Specific Modeling

31 Eclipse GMF Metamodeling and Domain Specific Modeling

32 Microsoft DSL Tools Metamodeling and Domain Specific Modeling

33 MPS Metamodeling and Domain Specific Modeling

34 GME Metamodeling and Domain Specific Modeling

35 Metamodeling Summary of DSMs o Structural, formal definition of domains o Abstract syntax Domain-Specific Modeling o Concrete notations o Syntax known by experts of the field Metalevels o Meta-relationship between models Semantics o Formal dynamic Denotational / Operational Metamodeling and Domain Specific Modeling

36 ECLIPSE MODELING FRAMEWORK Metamodeling and Domain Specific Modeling

37 What does EMF provide? EMF = Eclipse Modeling Framework o Reflective Metamodeling Core (Ecore MOF 2.0) o Support for Domain Specific Languages o Editing Support (Notification, Undo, Commands) o Basic Editor Support o XMI Serialization, DB Persistence o Eclipse Integration Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

38 EMF model structure Containment hierarchy ResourceSet EObject Root object (typically single) EObject EObject EObject EObject Resource EObject Containment reference EObject Cross-reference Resource (typically file) Resource Objects with attributes Metamodeling and Domain Specific Modeling

39 ECORE METAMODELLING Metamodeling and Domain Specific Modeling

40 Core Ecore constructs Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

41 Core Ecore constructs Class with arbitrary num. of superclasses associations attributes Typed Attribute Méréstechnika és Információs Rendszerek Tanszék Unidirectional (binary) relation (Association) typed optional inverse end multiplicities Metamodeling and Domain Specific Modeling

42 Complete Ecore hiearchy Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

43 Complete Ecore hiearchy Abstract Class Aside: EClass deep_instantiates(2) EObject = every EClass instance implicitly subtypes EObject = every instance of every instance of EClass implicitly instantiates EObject Methods connected to the EClasses EMF-based Enums Parameter for the Eoperation Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

44 DEFINING A DSM THE EMF WAY Metamodeling and Domain Specific Modeling

45 The Classical EMF/Ecore Waterfall Design domain metamodel (Questionnaire.ecore) Specify derived features & constraints (OCL, Epsilon, IncQuery, Java) Generate tooling (Questionnaire.genmodel) Edit instance models (Form1.questionnaire) Validate instance models Metamodeling and Domain Specific Modeling

46 The EMF Toolkit Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

47 The EMF Toolkit Metamodel of the Domain / Modeling language Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

48 The EMF Toolkit Mapping of the Ecore model to the impl platform Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

49 The EMF Toolkit Code templates for generating implementation Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

50 The EMF Toolkit Code generation is carried out based upon the generator model code templates Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

51 The EMF Toolkit Core model manipulation and persistence impl. (Java library) Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

52 The EMF Toolkit Displaying EMF objects Command based model manipulation (with undo/redo support) Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

53 The EMF Toolkit Automatically generated tree view editor Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

54 Creation of Ecore metamodels Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

55 Creation of Ecore metamodels UML class diagram Rational Software Architect EclipseUML (Omondo) Borland Together Architect Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

56 Creation of Ecore metamodels An XML schema is the metamodel of an XML document Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

57 Creation of Ecore metamodels Simple programming language for defining Ecore models Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

58 Creation of Ecore metamodels Direct Ecore defining Ecore tree editor Ecore Tools diagram Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

59 Creation of Ecore metamodels Specially annotated Java interfaces, defines the metamodel Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

60 THE PETRI NET EXAMPLE Metamodeling and Domain Specific Modeling

61 Domain Metamodel: Petri Nets Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

62 EMF model Ecore representation Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

63 EMF model Ecore representation EPackage Path of containing resource Type of EReference EClass Inheritance Type of EAttribute Root element Méréstechnika és Információs Rendszerek Tanszék Reference to all model elements Metamodeling and Domain Specific Modeling

64 Class Definition in PetriNet.ecore <eclassifiers xsi:type="ecore:eclass" name="place" esupertypes="#//petrinet/pnelement"> <estructuralfeatures xsi:type="ecore:eattribute" name="token" lowerbound="1" etype="ecore:edatatype <estructuralfeatures xsi:type="ecore:ereference" name="outgoingarcs" upperbound="-1" etype="#//petrinet/ptarc" containment="true" eopposite="#//petrinet/ptarc/fromplace"/> <estructuralfeatures xsi:type="ecore:ereference" name="incomingarcs" upperbound="-1" etype="#//petrinet/tparc" eopposite="#//petrinet/tparc/toplace"/> </eclassifiers> Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

65 Class Definition in PetriNet.ecore <eclassifiers xsi:type="ecore:eclass" name="place" esupertypes="#//petrinet/pnelement"> Class <estructuralfeatures xsi:type="ecore:eattribute" name="token" lowerbound="1" etype="ecore:edatatype Attribute <estructuralfeatures xsi:type="ecore:ereference" name="outgoingarcs" upperbound="-1" etype="#//petrinet/ptarc" containment="true" Reference eopposite="#//petrinet/ptarc/fromplace"/> Multiplicity Containment <estructuralfeatures xsi:type="ecore:ereference" name="incomingarcs" upperbound="-1" etype="#//petrinet/tparc" eopposite="#//petrinet/tparc/toplace"/> </eclassifiers> Type Opposite End Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

66 CODE GENERATION FROM ECORE Metamodeling and Domain Specific Modeling

67 Goal: Generator model (.genmodel) o Specify the attributes of the code generation EMF model o Tree Editor o Refers to the Ecore model Code generation attributes o Java version (e.g., use Enums in case of Java 5 and higher) o Package/project names o Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

68 Code Generation from Ecore (.genmodel) Ecore model remains pure and independent Customizable (wrappers, code formatters, etc.) Generated plugins: o Model persistency (EMF.model) o Model management (EMF.edit) o Model editor (EMF.editor) Has some limitations o What happens when the underlying.ecore changes? Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

69 Generator model Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

70 Generator model referred Ecore elements General parameters Edit specific attributes Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling Editor specific attributes

71 Generated EMF components 3. Tree Editor 2. Model Manipulation 1. Model Persistency Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

72 Generated EMF components Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

73 EMF.model Optimized persistency handling Fully featured Java code of the Ecore model Specific factories for all packages Notification mechanism (observer pattern) Possible extension points: o Advanced editor o Own file format with parser Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

74 EClass implementation <interface> Notifier BasicNotifierImpl Notification/Observer Layer <interface> EObject <interface> Place BasicEObjectImpl EObjectImpl PlaceImpl Common Implementation Layer Generalize the already defined framework element Business Layer Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

75 Auto-Generated Interface ESuperClass EMF specific annotations Getters/Setters for attributes No setter when multiplicity > 1 (use add/remove instead) EList: EMF list interface (~10 implementations Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

76 EObject API <interface> Place getincomingarcs(): Elist getoutgoingarcs(): Elist gettoken(): int settoken(value:int) PlaceImpl getincomingarcs(): Elist getoutgoingarcs(): Elist gettoken(): int settoken(value:int) Every class contains framework-specific methods: o Reflective get/set (eget, eset) o Consistent manipulation (einverseremove) o Notifications for feature changes (very useful e.g. in GUI!) Inherited from common supertype EObject o see deep instantiation earlier Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

77 EOperation Implementation Represents the frame of a Java method Present in both the interface and implementing class Important: o Have to change the generated annotation to NOT so that next code generation phase does not overwrite it o Have to implement the method manually Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

78 Client Programming with EMF Place p1 = PetrinetFactory.eINSTANCE.createPlace(); p1.setname("p1"); Place p2 = PetrinetFactory.eINSTANCE.createPlace(); p2.setname("p2"); Transition t1 = PetrinetFactory.eINSTANCE.createTransition(); t1.setname("t1"); // Inverse direction (p1.outgoingarcs) is set automatically PTArc a0 = PetrinetFactory.eINSTANCE.createPTArc(); a0.setfromplace(p1); a0.settotransition(t1); TPArc a1 = PetrinetFactory.eINSTANCE.createTPArc(); a1.settoplace(p2); a1.setfromtransition(t1); Set target of PT arc Create a place Create a transition Create a PT arc Set source of PT arc Advanced client programming: Reflective Ecore API Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

79 The org.eclipse.emf.ecore.util Package Contains utility classes and interfaces: o ECoreEContentAdapter: maintains itself as a notification adapter for a whole containment (sub)tree o UsageCrossReferencer: finds each ModelElement pointing to the corresponding EObject o ContentTreeIterator: An iterator over the tree contents of a collection of EObjects o Copier: deep copy of EObject Elements and EReferences o Etc. (This is not generated but a generic component) Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

80 Generated EMF components Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

81 EMF.Edit Separates the GUI and the model Generator pattern: o Provider class for each model element o Base class: ItemProvider o Forward EMF model change notifications to the viewer Provides: o Element text o Icon o Description of features in EClass Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

82 EMF.Edit Handles EMF.model notifications Model manipulation commands (base + own) Converts model notifications to GUI notifications Model manipulation through commands o Possible alternative to direct setters o Undoable, redoable o ItemProvider.createAddCommand( ) etc. Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

83 Generated EMF components Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

84 EMF.Editor EMF.Editor generates the SWT/JFace for the graphical editor Generates: o Tree editor o Wizards o Menus o plugins Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

85 The editor of Petri Net models <?xml version="1.0" encoding="utf-8"?> <PetriNets.petrinet:PetriNet xmi:version="2.0" xmlns:xmi=" xmlns:petrinets.petrinet= " <transitions name="t1" incomingarcs= <outgoingarcs weight="2" </transitions> <places name="p1" token="1"> <outgoingarcs weight="1" </places> <places name="p2" incomingarcs= </PetriNets.petrinet:PetriNet> Tree View Place p1 XMI 2.0 View Reference: URI (or XMI.id) Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

86 TOOLS, API AND UTILITIES Metamodeling and Domain Specific Modeling

87 Basic EMF tools Validation o Validate constraints over EMF models Query o High-level query language for EMF o See also: EMF-IncQuery Compare o To structurally compare EMF models (e.g., versioning) Teneo o Persistency layer over relation databases SDO o Service Oriented Architecture based on EMF CDO o distributed, client-server EMF models Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

88 Ecore Tools: Ecore Diagram Editor Graphical DSL to define EMF metamodels o Based on GMF Metamodeling and Domain Specific Modeling

89 Textual DSL for defining metamodel + textual syntax Context-free grammar! Generates: o Metamodel o Parser o Editor features Xtext Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

90 GMF Méréstechnika és Információs Rendszerek Tanszék Metamodeling and Domain Specific Modeling

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth

Horváth Ákos Bergmann Gábor Dániel Varró István Ráth Metamodeling and Domain Specific Modeling Horváth Ákos Bergmann Gábor Dániel Varró István Ráth Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Agenda Metamodeling

More information

Eclipse Modeling Framework (EMF) Paweł Żalejko

Eclipse Modeling Framework (EMF) Paweł Żalejko Eclipse Modeling Framework (EMF) Paweł Żalejko Agenda Model-Driven Development What is EMF? EMF demo - hello world EMF demo - command stack & adapters EMF demo - data binding & validation EMF demo - generating

More information

CISC836: Models in Software Development: Methods, Techniques and Tools

CISC836: Models in Software Development: Methods, Techniques and Tools CISC836: Models in Software Development: Methods, Techniques and Tools Topic 4: Code Generation with EMF Meta modeling Languages for meta models: Ecore Using EMF and Ecoreto define a data model Using EMF

More information

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler Model-based Software Engineering (02341, spring 2017) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

More information

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler

Model-based Software Engineering (02341, spring 2016) Ekkart Kindler Model-based Software Engineering (02341, spring 2016) Meta-modelling and Domain Specific Languages (DSLs) Idea for some Software 3 Example of a Petri net request 1 request 2 critical 1 critical 2 semaphor

More information

Introduction to Dependable Systems: Meta-modeling and modeldriven

Introduction to Dependable Systems: Meta-modeling and modeldriven Introduction to Dependable Systems: Meta-modeling and modeldriven development http://d3s.mff.cuni.cz CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics 3 Software development Automated software

More information

AbstractCommand, AbstractEnumerator, AbstractOverrideableCommand, AddCommand, AbstractTreeIterator, Adapter, EAnnotation.

AbstractCommand, AbstractEnumerator, AbstractOverrideableCommand, AddCommand, AbstractTreeIterator, Adapter, EAnnotation. INDEX A AbstractCommand, 53, 385 86 AbstractEnumerator, 401 2 Abstract model classes, 107, 164 65 AbstractOverrideableCommand, 56 57, 543 44 AbstractTreeIterator, 402 Action bar contributor generator pattern,

More information

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language

Plan. Language engineering and Domain Specific Languages. Language designer defines syntax. How to define language Plan Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

Language engineering and Domain Specific Languages

Language engineering and Domain Specific Languages Language engineering and Domain Specific Languages Perdita Stevens School of Informatics University of Edinburgh Plan 1. Defining languages 2. General purpose languages vs domain specific languages 3.

More information

(Meta)Models between MetaEdit+

(Meta)Models between MetaEdit+ The Interchange of (Meta)Models between MetaEdit+ and Eclipse EMF Heiko Kern kern@informatik.uni-leipzig.de ni ig Nashville, Tennessee, 10/19/2008 1 Agenda 1. Introduction 2. MetaEdit-EMF-Bridge EMF 3.

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) III. Meta-modelling 2 1. Background / Motivation Mid / end 90ties: CASE (Computer Aided Software Engineering) modelling tools become more popular code generation

More information

Introduction to MDE and Model Transformation

Introduction to MDE and Model Transformation Vlad Acretoaie Department of Applied Mathematics and Computer Science Technical University of Denmark rvac@dtu.dk DTU Course 02291 System Integration Vlad Acretoaie Department of Applied Mathematics and

More information

EMF Code Generation with Fujaba

EMF Code Generation with Fujaba EMF Code Generation with Fujaba Leif Geiger Universität Kassel Wilhelmshöher Allee 73 34121 Kassel leif.geiger@uni-kassel.de Thomas Buchmann Universität Bayreuth Universitätsstr. 30 95447 Bayreuth thomas.buchmann@unibayreuth.de

More information

Model Driven Ontology: A New Methodology for Ontology Development

Model Driven Ontology: A New Methodology for Ontology Development Model Driven Ontology: A New Methodology for Ontology Development Mohamed Keshk Sally Chambless Raytheon Company Largo, Florida Mohamed.Keshk@raytheon.com Sally.Chambless@raytheon.com Abstract Semantic

More information

Challenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics

Challenges for advanced domain-specific modeling. István Ráth. Budapest University of Technology and Economics Challenges for advanced domain-specific modeling frameworks István Ráth Dániel Varró Department of Measurement and Information Systems Department of Measurement and Information Systems Budapest University

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Domain specific Languages in a Nutshell Overview of Eclipse Modeling

More information

EMF-IncQuery gets Sirius: faster and better diagrams

EMF-IncQuery gets Sirius: faster and better diagrams EMF-IncQuery gets Sirius: faster and better diagrams Ákos Horváth, Ábel Hegedüs, Zoltán Ujhelyi IncQuery Labs Ltd. Ádám Lengyel, István Ráth, Dániel Varró Budapest University of Technology and Economics

More information

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation)

EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) EMFT 1.0 Release Review (OCL, Query, Transaction, and Validation) June 16, 2006 Christian Damus EMFT Developer IBM, Ottawa 1 EMFT 1.0 Release Review 2006 by IBM Corporation, made available under the EPL

More information

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations

MDD with OMG Standards MOF, OCL, QVT & Graph Transformations 1 MDD with OMG Standards MOF, OCL, QVT & Graph Transformations Andy Schürr Darmstadt University of Technology andy. schuerr@es.tu-darmstadt.de 20th Feb. 2007, Trento Outline of Presentation 2 Languages

More information

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach

A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach A Comparison of Ecore and GOPPRR through an Information System Meta Modeling Approach Vladimir Dimitrieski, Milan Čeliković, Vladimir Ivančević and Ivan Luković University of Novi Sad, Faculty of Technical

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) Recapitulation (I. Introduction ) 2 Levels of models ClassDiagram is an instance of PetriNet * Object * Class 1 start 1 end * Association concrete syntax

More information

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract

Kermeta tutorial. How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette. Abstract Kermeta tutorial How to create an EMF meta model? François Tanguy, Didier Vojtisek, Zoé Drey, Marie Gouyette Abstract This tutorial show how to create an EMF model for the FSM example. Published Build

More information

Compositional Model Based Software Development

Compositional Model Based Software Development Compositional Model Based Software Development Prof. Dr. Bernhard Rumpe http://www.se-rwth.de/ Seite 2 Our Working Groups and Topics Automotive / Robotics Autonomous driving Functional architecture Variability

More information

Dominique Blouin Etienne Borde

Dominique Blouin Etienne Borde Dominique Blouin Etienne Borde SE206: Code Generation Techniques dominique.blouin@telecom-paristech.fr etienne.borde@telecom-paristech.fr Institut Mines-Télécom Content Introduction Domain specific Languages

More information

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik

Modellierung operationaler Aspekte von Systemarchitekturen. Master Thesis presentation. October 2005 March Mirko Bleyh - Medieninformatik Modellierung operationaler Aspekte von Systemarchitekturen Master Thesis presentation October 2005 March 2006 Agenda Goals Model-Driven Software Development Pro-active Infrastructure (PAI) Operational

More information

Institutionen för datavetenskap

Institutionen för datavetenskap Institutionen för datavetenskap Department of Computer and Information Science Final thesis Validation of ModelicaML Models by Goutham Gatla LIU-IDA/LITH-EX-A 12/061 2012-11-22 Linköpings universitet SE-581

More information

A Practical Evaluation of Using TXL for Model Transformation

A Practical Evaluation of Using TXL for Model Transformation A Practical Evaluation of Using TXL for Model Transformation Hongzhi Liang and Juergen Dingel School of Computing, Queen s University, Canada {liang, dingel}@cs.queensu.ca Abstract. As one of the MDA s

More information

Model driven Engineering & Model driven Architecture

Model driven Engineering & Model driven Architecture Model driven Engineering & Model driven Architecture Prof. Dr. Mark van den Brand Software Engineering and Technology Faculteit Wiskunde en Informatica Technische Universiteit Eindhoven Model driven software

More information

Model handling with EMF

Model handling with EMF Model handling with EMF An introduction to the Eclipse Modeling Framework ATLAS group (INRIA & LINA), University of Nantes France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The

More information

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment

Design and Prototypical Implementation of a Pivot Model as Exchange Format for Models and Metamodels in a QVT/OCL Development Environment Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer Design and Prototypical Implementation of a Pivot Model as Exchange Format

More information

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger

Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Model-Driven Engineering (MDE) Lecture 1: Metamodels and Xtext Regina Hebig, Thorsten Berger Reuses some material from: Andrzej Wasowski, Model-Driven Development, ITU Copenhagen Where I am from WASP 2017

More information

An Implementation of the Behavior Annex in the AADL-toolset Osate2

An Implementation of the Behavior Annex in the AADL-toolset Osate2 2011 16th IEEE International Conference on Engineering of Complex Computer Systems An Implementation of the Behavior Annex in the AADL-toolset Osate2 Gilles Lasnier, Laurent Pautet Inst. TELECOM - TELECOM

More information

Graphical Editors 2. GMF. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Graphical Editors 2. GMF. Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Graphical Editors 2. GMF Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék GMF Graphical Modeling Framework Goal o Graphical edi:ng of DSLs o Model- based, with

More information

Towards Generating Domain-Specific Model Editors with Complex Editing Commands

Towards Generating Domain-Specific Model Editors with Complex Editing Commands Towards Generating Domain-Specific Model Editors with Complex Editing Commands Gabriele Taentzer Technical University of Berlin Germany gabi@cs.tu-berlin.de May 10, 2006 Abstract Domain specific modeling

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) IV. (Meta-) Modelling Frameworks 2 1. Motivation & Overview With MOF, we have: Modelling notation (EMOF / CMOF) Java API (JMI, EMF, etc) Instance model /

More information

Sequence Diagram Generation with Model Transformation Technology

Sequence Diagram Generation with Model Transformation Technology , March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,

More information

A universal PNML Tool. Lukasz Zoglowek

A universal PNML Tool. Lukasz Zoglowek A universal PNML Tool Lukasz Zoglowek Kongens Lyngby 2008 Technical University of Denmark Informatics and Mathematical Modelling Building 321, DK-2800 Kongens Lyngby, Denmark Phone +45 45253351, Fax +45

More information

Christian Doppler Laboratory

Christian Doppler Laboratory Christian Doppler Laboratory Software Engineering Integration For Flexible Automation Systems AutomationML Models (in EMF and EA) for Modelers and Software Developers Emanuel Mätzler Institute of Software

More information

Introduction to XML Metadata Interchange (XMI)

Introduction to XML Metadata Interchange (XMI) Introduction to XML Metadata Interchange (XMI) Department for Cooperative and Trusted Systems Information and Communication Technology, SINTEF, Forskningsveien 1, N-0314 Oslo, Norway http://www.sintef.no!1

More information

XML Metadata Interchange (XMI)

XML Metadata Interchange (XMI) XML Metadata Interchange (XMI) XMI is a standard (and a trademark) from the OMG. XMI is a framework for defining, interchanging, manipulating and integrating XML data and objects. Used for integration

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

with openarchitectureware

with openarchitectureware Model-Driven Development with openarchitectureware Markus Völter voelter@acm.orgorg www.voelter.de Sven Efftinge sven@efftinge.de www.efftinge.de Bernd Kolb bernd@kolbware.de www.kolbware.de 2006-7 Völter,

More information

ECLIPSE MODELING PROJECT

ECLIPSE MODELING PROJECT ECLIPSE MODELING PROJECT A Domain-Specific Language Toolkit Richard С. Gronback AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Pans Madrid

More information

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University

Metamodeling. Janos Sztipanovits ISIS, Vanderbilt University Metamodeling Janos ISIS, Vanderbilt University janos.sztipanovits@vanderbilt.edusztipanovits@vanderbilt edu Content Overview of Metamodeling Abstract Syntax Metamodeling Concepts Metamodeling languages

More information

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s)

What is Wazaabi 2.0? Declarative UI framework. based on. live EMF model(s) What is Wazaabi 2.0? Declarative UI framework based on live EMF model(s) What is an EMF Model? Specification of an application s data Object attributes Relationships (associations) between objects Operations

More information

AADL Graphical Editor Design

AADL Graphical Editor Design AADL Graphical Editor Design Peter Feiler Software Engineering Institute phf@sei.cmu.edu Introduction An AADL specification is a set of component type and implementation declarations. They are organized

More information

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, Spring 2017) Ekkart Kindler Model-based Software Engineering (02341, Spring 2017) I. Introduction 1. Motivation What is software engineering? What is software? software = program software engineering = programming 3 Program vs. Software

More information

Lessons learned from building Eclipse-based add-ons for commercial modeling tools

Lessons learned from building Eclipse-based add-ons for commercial modeling tools Lessons learned from building Eclipse-based add-ons for commercial modeling tools (from a technology perspective) István Ráth Ákos Horváth EclipseCon France June 14 2018 MagicDraw A popular modeling tool

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering I. Introduction Introduction Motivation: Software engineering & management Agile development The role of models in software engineering

More information

A Formal Approach to Modeling and Model Transformations in Software Engineering

A Formal Approach to Modeling and Model Transformations in Software Engineering A Formal Approach to Modeling and Model Transformations in Software Engineering Department of Computer Engineering Faculty of Engineering Bergen University College 17.06.2008 EXPO 2008, Integration and

More information

Comparative analysis of MDA tools

Comparative analysis of MDA tools STUDIA INFORMATICA Nr 1-2(16) Systems and information technology 2012 Comparative analysis of MDA tools Krzysztof Pietraszek 1 1 Institute of Computer Science, University of Natural Sciences and Humanities,

More information

Small is Beautiful Building a flexible software factory using small DSLs and Small Models

Small is Beautiful Building a flexible software factory using small DSLs and Small Models Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual

More information

UML PROFILING AND DSL

UML PROFILING AND DSL UML PROFILING AND DSL version 17.0.1 user guide No Magic, Inc. 2011 All material contained herein is considered proprietary information owned by No Magic, Inc. and is not to be shared, copied, or reproduced

More information

Static analysis and testing of executable DSL specification

Static analysis and testing of executable DSL specification Static analysis and testing of executable DSL specification Qinan Lai 1, Andy Carpenter 1 1 School of Computer Science, the University of Manchester, Manchester, UK {laiq,afc}@cs.man.ac.uk Keywords: Abstract:

More information

Tiger EMF Model Transformation Framework (EMT)

Tiger EMF Model Transformation Framework (EMT) Tiger EMF Model Transformation Framework (EMT) Version 1.2.0 User Manual TU Berlin EMT Project Team: Enrico Biermann, Karsten Ehrig, Claudia Ermel, Christian Köhler, Günter Kuhns, Gabi Taentzer Email:

More information

Introduction to EGF. Benoît Langlois / Thales Global Services.

Introduction to EGF. Benoît Langlois / Thales Global Services. www.thalesgroup.com Introduction to EGF Benoît Langlois / Thales Global Services 2 / Agenda Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Agenda Introduction EGF Architecture Concepts

More information

The Eclipse Modeling Framework and MDA Status and Opportunities

The Eclipse Modeling Framework and MDA Status and Opportunities The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:

More information

High performance model queries

High performance model queries High performance model queries and their novel applications Benedek Izsó Zoltán Szatmári István Ráth Budapest University of Technology and Economics Fault Tolerant Systems Research Group Workshop on Eclipse

More information

Domain-Specific Languages Language Workbenches

Domain-Specific Languages Language Workbenches Software Engineering with and Domain-Specific Languages Language Workbenches Peter Friese Itemis peter.friese@itemis.de Markus Voelter Independent/itemis voelter@acm.org 1 Programming Languages C# Erlang

More information

Model-Driven Language Engineering

Model-Driven Language Engineering Model-Driven Language Engineering Example of the ThingML language Franck Fleurey SINTEF Research Scientist (franck.fleurey@sintef.no) http://www.fleurey.com/franck INF520 - April 202 Language Engineering

More information

Technical Solutions for the Transformation-Driven Graphical Tool Building Platform METAclipse

Technical Solutions for the Transformation-Driven Graphical Tool Building Platform METAclipse Technical Solutions for the Transformation-Driven Graphical Tool Building Platform METAclipse Oskars Vilītis 1, Audris Kalniņš Institute of Mathematics and Computer Science, University of Latvia, 29 Raiņa

More information

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)

Model Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL) Model Driven Engineering (MDE) and Department of Computer Engineering Faculty of Engineering Bergen University College NORWAY 06.06.2008 Institute of Mathematics and Informatics, Vilnius, LITHUANIA Project

More information

1. Getting Started Xpand / Xtend / Check Reference

1. Getting Started Xpand / Xtend / Check Reference Xpand Documentation Sven Efftinge, Peter Friese, Arno Hase, Dennis Hübner, Clemens Kadura, Bernd Kolb, Jan Köhnlein, Dieter Moroff, Karsten Thoms, Markus Völter, Patrick Schönbach, Moritz Eysholdt, Steven

More information

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1

INTRODUCTION TO EMF. Creating Model using EMF. Our Domain model used to showcase this use case is as shown below in fig.1 INTRODUCTION TO EMF Creating Model using EMF This is the basic method of creating the Model instance using EMF (Eclipse Modelling Framework). In this tutorial we are going to explain the following, 1.

More information

AADL Meta Model & XML/XMI

AADL Meta Model & XML/XMI AADL Meta Model & XML/XMI Peter Feiler Software Engineering Institute phf@sei.cmu.edu Meta Modeling Approach Declarative AADL Model AADL Instance Model Outline 2 XMI/XML Based Tool Interoperability Textual

More information

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler Model-based Software Engineering (02341, spring 2017) Lecture 8: Overview (cntd.) Some hints for the implementation Auxiliary datatypes and functions Helpful epnk functions Marking algorithm (OR-join:

More information

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1.

Start Up Benoît Langlois / Thales Global Services Eclipse (EMFT) EGF 2011 by Thales; made available under the EPL v1. www.thalesgroup.com Start Up Benoît Langlois / Thales Global Services 2 / Introduction EGF Architecture Concepts & Practice EGF Portfolios 3 / Introduction EGF Architecture Concepts & Practice EGF Portfolios

More information

EMF Model Refactoring based on Graph Transformation Concepts

EMF Model Refactoring based on Graph Transformation Concepts Page 29 EMF Model Refactoring based on Graph Transformation Concepts Enrico Biermann *, Karsten Ehrig **, Christian Köhler *, Günter Kuhns *, Gabriele Taentzer *, Eduard Weiss * *Department of Computer

More information

Model Transformations for Embedded System Design and Virtual Platforms

Model Transformations for Embedded System Design and Virtual Platforms 1 Model Transformations for Embedded System Design and Virtual Platforms Nikos Matragkas, Ian Gray, Richard Paige, Dimitris Kolovos, Neil Audsley, Leandro Indrusiak Department of Computer Science The University

More information

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support

Model-Level Integration of the OCL Standard Library Using a Pivot Model with Generics Support Faculty of Computer Science, Institute for Software- and Multimedia-Technology, Chair for Software Technology Matthias Bräuer and Birgit Demuth Model-Level Integration of the Using a Pivot Model with Generics

More information

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development

TOPCASED. Toolkit In OPen source for Critical Applications & SystEms Development TOPCASED Toolkit In OPen source for Critical Applications & SystEms Development General presentation of the project A meta-modeling toolset The toolset architecture Services & Formats Demo / screenshots

More information

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on

Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék. Code Genera*on Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Code Genera*on Designing modeling languages Metamodel: a model of models o Abstract syntax o Concrete syntax

More information

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1

Metamodeling. 16. April 2012 Real-Time Systems Lab Prof. Dr. Andy Schürr Dr. Gergely Varró 1 Metamodeling The slides of this lecture are reused from the Model Engineering course at TU Vienna with the kind permission of Prof. Gerti Kappel (head of the Business Informatics Group) 16. April 2012

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)

Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Electronic Communications of the EASST Volume X (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Teaching Model Driven Language Handling Terje

More information

challenges in domain-specific modeling raphaël mannadiar august 27, 2009

challenges in domain-specific modeling raphaël mannadiar august 27, 2009 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing

More information

project in an industrial context

project in an industrial context Anatomy of a domain-specific language project in an industrial context Development and examination of a DSL demonstrator for elevator controllers Software Engineering, Architecture and Platform Technologies

More information

The Meta-Object Facility (MOF)

The Meta-Object Facility (MOF) Richard Paige University of York, UK July 2006 Context of this work The present courseware has been elaborated in the context of the MODELWARE European IST FP6 project (http://www.modelwareist.org/). Co-funded

More information

Software Engineering 2 A practical course in software engineering. Ekkart Kindler

Software Engineering 2 A practical course in software engineering. Ekkart Kindler Software Engineering 2 A practical course in software engineering I. Introduction Introduction Motivation The role of models in software engineering Software engineering & management Organisation of this

More information

An EMF Framework for Event-B

An EMF Framework for Event-B An EMF Framework for Event-B Developed by: Colin Snook University of Southampton, Fabian Fritz Heinrich Heine University, Düsseldorf, Alexei Illiasov Newcastle University EMF Eclipse Modelling Framework

More information

Eclipse technology in IFMS Interface Management System

Eclipse technology in IFMS Interface Management System Eclipse Finance Day 2013 Eclipse technology in IFMS Interface Management System Marc Schlienger A story today about Eclipse and IFMS SOA at Credit Suisse The construction of a System MDD in the large Leveraging

More information

An Introduction to MDE

An Introduction to MDE An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling

More information

Defining Domain-Specific Modeling Languages

Defining Domain-Specific Modeling Languages Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often

More information

Comparison and merge use-cases from practice with EMF Compare

Comparison and merge use-cases from practice with EMF Compare Comparison and merge use-cases from practice with EMF Compare Laurent Delaigue Philip Langer EMF Compare Working with models Comparing text files EMF Compare Working with models Comparing models EMF Compare

More information

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture

Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture Overview of DSLE Model driven software engineering g in general Grammars, signatures and meta-models DSL Design Code generation Models increase the level of abstraction used for both hardware and software

More information

Model Driven Engineering (MDE)

Model Driven Engineering (MDE) Model Driven Engineering (MDE) Yngve Lamo 1 1 Faculty of Engineering, Bergen University College, Norway 26 April 2011 Ålesund Outline Background Software Engineering History, SE Model Driven Engineering

More information

INF5120 Model-Based System Development

INF5120 Model-Based System Development INF5120 Model-Based System Development Lecture #3: Metamodelling and UML profiles, MDA technologies 04 February 2008 Brian Elvesæter, SINTEF 1 Outline Model-driven interoperability (MDI) framework MDA

More information

Comparing graphical DSL editors

Comparing graphical DSL editors Comparing graphical DSL editors AToM 3 vs GMF & MetaEdit+ Nick Baetens Outline Introduction MetaEdit+ Specifications Workflow GMF Specifications Workflow Comparison 2 Introduction Commercial Written in

More information

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering

Variability differences among products in PL. Variability in PLE. Language Workbenches. Language Workbenches. Product Line Engineering PPL 2009 Keynote Markus Voelter Indepenent/itemis voelter@acm.org http://www.voelter.de Language Workbenches in Product Line Engineering Variability in PLE Language Workbenches in Domain Specific Languages

More information

Advanced Topics in Software Engineering (02265) Ekkart Kindler

Advanced Topics in Software Engineering (02265) Ekkart Kindler Advanced Topics in Software Engineering (02265) I. Introduction and Motivation 2 1. Vision 3 Today Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: %pluginname package PetriNets.impl; Bundle-SymbolicName:

More information

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages

Developing Web-Based Applications Using Model Driven Architecture and Domain Specific Languages Proceedings of the 8 th International Conference on Applied Informatics Eger, Hungary, January 27 30, 2010. Vol. 2. pp. 287 293. Developing Web-Based Applications Using Model Driven Architecture and Domain

More information

Metaprogrammable Toolkit for Model-Integrated Computing

Metaprogrammable Toolkit for Model-Integrated Computing Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated

More information

openarchitectureware 4.1 An introduction

openarchitectureware 4.1 An introduction openarchitectureware 4.1 An introduction Markus Voelter, www.voelter.de, openarchitectureware (oaw) is a suite of tools and components assisting with model driven software development, more precisely it

More information

EATOP: An EAST-ADL Tool Platform for Eclipse

EATOP: An EAST-ADL Tool Platform for Eclipse Grant Agreement 260057 Model-based Analysis & Engineering of Novel Architectures for Dependable Electric Vehicles Report type Report name Deliverable D5.3.1 EATOP: An EAST-ADL Tool Platform for Eclipse

More information

Towards xmof: Executable DSMLs based on fuml www.modelexecution.org Tanja Mayerhofer, Philip Langer, Manuel Wimmer Business Informatics Group Institute of Software Technology and Interactive Systems Vienna

More information

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler

Model-based Software Engineering (02341, spring 2017) Ekkart Kindler Model-based Software Engineering (02341, spring 2017) Meta-modelling and Domain Specific Languages (DSLs) and Summary and Outlook Meta-modelling (and MOF) 3 Class Diagrams are models too PetriNet Object

More information

Introduction to OpenArchitectureWare

Introduction to OpenArchitectureWare Introduction to OpenArchitectureWare Dr. Neil Loughran Neil.Loughran@sintef.no 20 th April 2009 ICT 1 Objective To give some insights into an alternative model transformation approach i.e. OpenArchitectureWare

More information

GMF Tooling 3.0 Vision, Architecture, Roadmap

GMF Tooling 3.0 Vision, Architecture, Roadmap GMF Tooling 3.0 Vision, Architecture, Roadmap 2012.03.25, OMG/Eclipse Symposium, Reston VA Michael Golubev, GMF Tooling lead Montages AG www.montages.com GMF Tooling - Overview Vision: Support creation

More information

UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2

UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2 UML&AADL 11 An Implementation of the Behavior Annex in the AADL-toolset OSATE2 Jérôme Hugues Gilles Lasnier Laurent Pautet Lutz Wrage jerome.hugues@isae.fr gilles.lasnier@telecom-paristech.fr laurent.pautet@telecom-paristech.fr

More information

ATL: Atlas Transformation Language. ATL User Manual

ATL: Atlas Transformation Language. ATL User Manual ATL: Atlas Transformation Language ATL User Manual - version 0.7 - February 2006 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 An Introduction to Model Transformation... 2 2.1 The Model-Driven

More information