Model transformations. Overview of DSLE. Model transformations. Model transformations. The 4-layer architecture
|
|
- Garey Elijah Ford
- 5 years ago
- Views:
Transcription
1 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 design often manually translated into design documents and code no guarantee for consistency between model, design and resulting code Models increase the quality of the code via model checking Models increase the efficiency of software development code generation / Faculteit Wiskunde en Informatica PAGE 0 / Faculteit Wiskunde en Informatica PAGE 1 Meta-Meta-Model Model world The 4-layer architecture M3 Meta-Meta-Model Layer defines structure of the meta-metadata M2 Meta-Model Layer defines the structure of the metadata M1 Model Layer describes the data in the information layer M0 Information Layer data we wish to describe Grammar world The 4-layer architecture M3 (E)BNF/SDF grammar defines structure of the (E)BNF in (E)BNF M2 Java grammar defines the structure of Java in (E)BNF M1 Java program describes the manipulation (algorithm) of objects in the object layer M0 Object layer Objects we wish to manipulate / Faculteit Wiskunde en Informatica PAGE 2 / Faculteit Wiskunde en Informatica PAGE 3
2 Mappings are defined on meta-models The mapping is defined with meta-models; one metalevel higher than the input and output models of the transformation Transformations are defined on models A transformation implements a mapping Source Meta-model <<InstanceOf>> Mapping based on Target Meta-model <<InstanceOf>> Input Model Transformation Output Model / Faculteit Wiskunde en Informatica PAGE 4 / Faculteit Wiskunde en Informatica PAGE 5 A model transformation takes input and changes the input, or produces output transforms according to a predefined d mapping is used in run time Two main categories of transformations Vertical or horizontal transformations Exogenous or endogenous transformations Vertical transformations Source model is at a different level of abstraction than the target model Examples of vertical transformation refinement (specialization) PIM PSM transformations abstraction (generalization) / Faculteit Wiskunde en Informatica PAGE 6 / Faculteit Wiskunde en Informatica PAGE 7
3 Model transformation Horizontal transformations Source model has the same level of abstraction as target model not to be confused with meta-levels Examples of horizontal transformation refactoring merging Endogenous transformations: between same meta-models Exogenous transformations: ti between different meta-models / Faculteit Wiskunde en Informatica PAGE 8 / Faculteit Wiskunde en Informatica PAGE 9 Taxonomy Approach Horizontal Vertical Meta-metamodel Endogenous Refactoring Refinement Exogenous Migration Code generation Further distinction: syntactic vs. semantic transformation Conforms to Source Metamodel Conforms to Source Model Input Transformation Language Conforms to Transformation Definition Instance of Transformation Conforms to Target Metamodel Conforms to Target Model Output / Faculteit Wiskunde en Informatica PAGE 10 / Faculteit Wiskunde en Informatica PAGE 11
4 Model transformation formalisms ATL Xtend Xtext Xpand QVT Relations QVT Operations QVT Core Platform: Eclipse and EMF ASF+SDF Stratego/XT VIATRA Tefkat ETL (Epsilon) GrGen How are the meta-models of Xtext, for instance, mapped to meta-models describing the abstract syntax? General architecture: Parse/construct st an input model (Xtext/GMF) t/g Map concrete syntax model to abstract syntax model Apply transformation from input to output model Unparse the output model / Faculteit Wiskunde en Informatica PAGE 12 / Faculteit Wiskunde en Informatica PAGE 13 The Atlas Transformation Language (ATL) is a hybrid language (a mix of declarative and imperative constructions) designed to express model transformations A transformation model in ATL is expressed as a set of transformation rules Hybrid style of programming: Declarative transformation based on simple mappings Imperative for complex mappings OCL is used to expression constraints on rules Guards (constraints) on the entry point for a rule Documentation: An ATL transformation program is composed of rules that define how source model elements are matched and navigated to create and initialize the elements of the target models The ATL programs for model to model transformation are called modules / Faculteit Wiskunde en Informatica PAGE 14 / Faculteit Wiskunde en Informatica PAGE 15
5 An example of an ATL specification The goal is to present a use case of a model to model transformation written in ATL ATL: Book2Publication example MMM This use case is named: Books to Publications Initially ta we have a text t describing a list of books We want to transform this into another text describing a list of publications MM a MM t MM b M t M a Transformation M b / Faculteit Wiskunde en Informatica PAGE 16 / Faculteit Wiskunde en Informatica PAGE 17 ATL: Book2Publication example Meta-model of Book: Ecore MM Book ATL MM Publication Example of Book: Book2Publication Book Transformation Publication / Faculteit Wiskunde en Informatica PAGE 18 / Faculteit Wiskunde en Informatica PAGE 19
6 Meta-model of Publication: First we create an ATL project Getting started Select in Eclipse File/New/ATL Project Select then the Finish button / Faculteit Wiskunde en Informatica PAGE 20 / Faculteit Wiskunde en Informatica PAGE 21 First we have to create/ obtain meta-models Next we create an ATL file Getting started Select in Eclipse File/New/ATL File Select then the Next button Next we have to set the Input/Output parameters of ATL transformation: Select then the Finish button This will generate automatically the header section / Faculteit Wiskunde en Informatica PAGE 22 / Faculteit Wiskunde en Informatica PAGE 23
7 An detailed description of a transformation can be found at: _Create_a_simple_ATL_transformation a transformation ATL transformation code A header section that defines some attributes that are relative to the transformation module An optional import section that enables to import some existing ATL libraries A set of helpers that can be viewed as an ATL equivalent to Java methods A set of rules that defines the way target models are generated from source ones / Faculteit Wiskunde en Informatica PAGE 24 / Faculteit Wiskunde en Informatica PAGE 25 Header: The header section names the transformation module and names the variables corresponding to the source and target models ("IN" and "OUT") together with their meta-models ( Book" and Publication") acting as types. module Book2Publication; create OUT : Publication from IN : Book; Libraries: The optional import section enables to declare which ATL libraries have to be imported The declaration of an ATL library is achieved as follows: uses extensionless_library_file_name; library name; For example: uses strings; / Faculteit Wiskunde en Informatica PAGE 26 / Faculteit Wiskunde en Informatica PAGE 27
8 ATL helpers ATL helpers can be viewed as the ATL equivalent to Java methods They make it possible to define factorized ATL code that can be called from different points of an ATL transformation Body of helpers is OCL code An ATL helper is defined by the following elements: aname a context type The context type defines the context in which this attribute is defined Optional a return value type. Note that, in ATL, each helper must have a return value an OCL expression that represents the code of the ATL helper; an optional set of parameters, in which a parameter is identified by a couple (parameter name, parameter type). / Faculteit Wiskunde en Informatica PAGE 28 / Faculteit Wiskunde en Informatica PAGE 29 Helper functions: A helper is an auxiliary function that computes a result needed in a rule helper context Book!Book def : getauthors() : String = self.chapters-> collect(e e.author)-> asset()-> iterate(authorname, acc : String = '' acc + if acc = '' then authorname else ' and ' + authorname endif); Select the chapters Get the authors of each chapter Filter duplicates helper context Book!Book def : getauthors() : String = self.chapters-> collect(e e.author)-> asset()-> iterate(authorname; acc : String = '' acc + if acc = '' then authorname else ' and ' + authorname endif); Build a list / Faculteit Wiskunde en Informatica PAGE 30 / Faculteit Wiskunde en Informatica PAGE 31
9 To iterate over a collection source -> iterate(elem, var : Type = init_exp body ) var is an accumulator which gets an initial value elem is an iterator which iterates on each element of the collection For each iteration body is evaluated and then used to update var Helper To get the total of pages helper context Book!Book def : getnbpages() : Integer = self.chapters-> collect(f f.nbpages)-> iterate(pages, acc : Integer = 0 acc + pages); Alternative helper context Book!Book def : getnbpageseasy() : Integer = self.chapters -> collect(f f.nbpages) -> sum(); / Faculteit Wiskunde en Informatica PAGE 32 / Faculteit Wiskunde en Informatica PAGE 33 It is possible to consider a helper that returns the maximum of two integer values: the contextual integer and an additional integer value which is passed as parameter: helper context Integer def : max(x : Integer) : Integer =...; ATL Rules There exist three different kinds of rules that correspond to the two different programming modes provided by : the matched rules (declarative programming), the lazy rules, and the called rules (imperative programming). / Faculteit Wiskunde en Informatica PAGE 34 / Faculteit Wiskunde en Informatica PAGE 35
10 ATL matched rule mechanism provides a mean to specify the way target model elements must be generated from source model elements. A matched rule enables to specify: 1. which source model element must be matched, 2. the number and the type of the generated target model elements, and 3. the way these target model elements must be initialized from the matched source elements Each matched rule is identified by its name (rule_name). A matched rule name must be unique within an ATL transformation. An ATL matched rule is composed of two mandatory sections from and to parts. two optional sections: using and do parts. The different variables that may be declared in the scope of a rule (the source and target pattern elements and the local variables) must have a unique name. / Faculteit Wiskunde en Informatica PAGE 36 / Faculteit Wiskunde en Informatica PAGE 37 Matched rules rule rule_name{ from in: MM1!MetaClass(<matching condition>) using{<variable definitions>} to out1: MM2!MetaClass1( <bindings1> ), out2: MM2!MetaClass2( <bindings2> ) do{<imperative block>} } Matches on all model elements of type MM1!MetaClass, similar to ASF s traversal functions Rules rule Book2Publication { from b : Book!Book ( b.getnbpages() > 2 ) to out : Publication!Publication ( title <- b.title, authors <- b.getauthors(), nbpages <- b.getnbpages() ) } / Faculteit Wiskunde en Informatica PAGE 39
11 Assigning attributes in ATL rules: In/out pattern Meta model identification Meta model element identification rule example1{ from in: MM1!MetaClassA to out: MM2!MetaClassB( attr <- in.attr ) } Attribute assignment Source pattern The from section corresponds to the rule source pattern. This pattern (a single source pattern element) contains the source variable declaration (in_var) of the type of the source model elements that will be matched by the rule (in_type). It may contain, between brackets, an optional boolean expression (condition) The following code illustrates the syntax of the from section: from p : MMPerson!Person e ( p.name = 'Smith' ) / Faculteit Wiskunde en Informatica PAGE 40 / Faculteit Wiskunde en Informatica PAGE 41 ATL imperative code Assignment statement enables to assign values to either attributes that are defined in the context of the ATL module, or to target model element features target <- exp; ATL imperative code If statement enables to define alternative imperative treatments if(condition) { statements1 } [else { statements2 }]? Condition is an OCL expression / Faculteit Wiskunde en Informatica PAGE 42 / Faculteit Wiskunde en Informatica PAGE 43
12 ATL imperative code For statement enables to define iterative imperative computations: for(iterator in collection) { statements } / Faculteit Wiskunde en Informatica PAGE 44
DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages
Overview of DSLE Model driven software enineerin in eneral Grammars, and meta-models Code eneration Model-driven enineerin Goal: Raisin the level of abstraction from the computin domain to the problem
More informationModel transformations. Model transformations. Model transformations. Model transformations
The initialization of the attributes of a generated target model element by assigning references: Model target element generated by current rule Default target model element generated by another rule Non-default
More informationATL: ATLAS Transformation Language. MISO - Uniandes
ATL: ATLAS Transformation Language MISO - Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 What is ATL? ATL is a model transformation language (MTL) developed
More informationATL: ATLAS Transformation Language
ATL: ATLAS Transformation Language Rubby Casallas Grupo de Construcción de Software Uniandes 1 Models are first class entities Transformations are models Transformations are assets 2 1 What is ATL? ATL
More informationRubby Casallas Grupo de Construcción de Software Uniandes http://wiki.eclipse.org/atl/user_guide http://www.sciences.univnantes.fr/lina/atl/atldemo/oclturorial/ 1 ATL and OCL Matched Rules Lazy Rules Called
More informationATL: 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 informationIntroduction 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 informationETL: Epsilon Transformation Language. MISO - Uniandes
ETL: Epsilon Transformation Language MISO - Uniandes 1 References http://www.eclipse.org/epsilon/doc/book/ http://www.eclipse.org/epsilon/examples/ Examples available at the wiki 2 Models are first class
More informationThe Model Driven Architecture. Dennis Wagelaar Viviane Jonckers Software Languages Lab
The Model Driven Architecture Dennis Wagelaar Viviane Jonckers Software Languages Lab Special session: ( ) The Model Driven Architecture origins, goals concepts Platform, CIM, PIM, PSM... Models and meta-models
More informationModel 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 informationQVT: Query, Views, Transformations
QVT: Query, Views, Transformations Rubby Casallas Grupo de Construcción de Software Uniandes Basics Transformations are essential for the MDE A model transformation: takes as input a model conforming to
More informationBook. Signatures and grammars. Signatures and grammars. Syntaxes. The 4-layer architecture
Book Generic Language g Technology (2IS15) Syntaxes Software Language g Engineering g by Anneke Kleppe (Addison Wesley) Prof.dr. Mark van den Brand / Faculteit Wiskunde en Informatica 13-9-2011 PAGE 1
More informationIntroduction To Model-to-Model Transformation
- 1 - Context of this work The present courseware has been elaborated in the context of the MODELPLEX European IST FP6 project ( http://www.modelplex.org/). Co-funded by the European Commission, the MODELPLEX
More informationQuality Assessment of ATL Model Transformations using Metrics
Quality Assessment of ATL Model Transformations using Metrics M.F. van Amstel and M.G.J. van den Brand Department of Mathematics and Computer Science Eindhoven University of Technology, Eindhoven, The
More informationECLIPSE 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 informationwith 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 informationIntroduction 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 informationSCENARIO-BASED REQUIREMENTS MODELLING
SCENARIO-BASED REQUIREMENTS MODELLING A PROGRESS REPORT SUBMITTED TO THE UNIVERSITY OF MANCHESTER IN PARTIAL FULLFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE IN THE FUCALTY OF ENGINEERING
More informationOn Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf
Open Source Software for Model Driven Engineering 2014 On Open Source Tools for Behavioral Modeling and Analysis with fuml and Alf Zoltán Micskei, Raimund-Andreas Konnerth, Benedek Horváth, Oszkár Semeráth,
More informationMDD 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 informationRules and Helpers Dependencies in ATL Technical Report
Rules and Helpers Dependencies in ATL Technical Report Javier Troya 1, Martin Fleck 2, Marouanne Kessentini 3, Manuel Wimmer 2, and Bader Alkhaze 3 1 Department of Computer Languages and Systems, Universidad
More informationM. (1) (1) (2) (1) ATLAS
Practice of Model Transformation and Model Weaving in the Eclipse Modeling Project with ATL and AMW Part 1 ATL: the ATLAS Transformation Language Mikaël Barbero (1) Marcos Didonet Del Fabro (1) Juan M.
More informationTransforming models with ATL
The ATLAS Transformation Language Frédéric Jouault ATLAS group (INRIA & LINA), University of Nantes, France http://www.sciences.univ-nantes.fr/lina/atl/!1 Context of this work The present courseware has
More informationATL Demystified and an Introduction to the RPG2Petrinet Experiment
ATL Demystified and an Introduction to the RPG2Petrinet Experiment Daan Janssens daan.janssens@student.uantwerpen.be University of Antwerp Abstract ATL is a fairly well known M2M model transformation language.
More informationIntroduction 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 informationSequence 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 informationMetamodeling with Metamodels. Using. UML/MOF including OCL
Metamodeling with Metamodels Using UML/MOF including OCL Introducing Metamodels (Wikipedia) A metamodel is a model of a model An instantiation of metamodel gives a model Metamodeling is the process of
More informationATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES LUIS ROCHA. A project submitted in partial fulfillment
ATHABASCA UNIVERSITY RULE ENHANCED BUSINESS PROCESS MODELING OF SERVICE ORIENTED ARCHITECTURES BY LUIS ROCHA A project submitted in partial fulfillment Of the requirements for the degree of MASTER OF SCIENCE
More informationComputation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):
viii Preface The software industry has evolved to tackle new approaches aligned with the Internet, object-orientation, distributed components and new platforms. However, the majority of the large information
More informationADT: Eclipse development tools for ATL
ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire
More informationPlan. 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 informationGrammars. Prof. Andreas Prinz. Introduction, Compilers. Examples Meta-models vs. Grammars Summary
Meta-models and Grammars Prof. Andreas Prinz Introduction, Compilers Modelling & Meta-modelling Examples Meta-models vs. Grammars Summary Compilers Graphical Editor Parser Text editor Static checks (OCL)
More information<is web> Information Systems & Semantic Web University of Koblenz Landau, Germany
Information Systems University of Koblenz Landau, Germany Joint Metamodels for UML and OWL Ontologies & Software Tech: Starting Point @Koblenz IST Institute for Software Technology @Koblenz OWL Model theory
More informationModel-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript
Freiberg University of Mining and Technology The University of Resources. Since 1765. WEB3D 2012-17th International Conference on 3D Web Technology Model-Driven Iterative Development of 3D Web-Applications
More informationATL Transformation. Catalogue of Model Transformations
1. ATL TRANSFORMATION EXAMPLE: REPLACE INHERITANCE BY ASSOCIATION... 1 2. ATL TRANSFORMATION OVERVIEW... 2 2.1. DESCRIPTION... 2 2.2. PURPOSE... 2 2.3. RULES SPECIFICATION... 2 2.4. ATL CODE... 3 3. REFERENCES...
More informationLanguage 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 informationTOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING
TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING Juan de Lara Computer Science Department Universidad Autónoma de Madrid (Spain) NWPT 12 Bergen, Norway MOTIVATION Model-Driven Engineering (MDE) is about
More informationModel-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 informationRubby Casallas Grupo de Construcción de Software Uniandes
UML OCL 2.0 Rubby Casallas Grupo de Construcción de Software Uniandes Why OCL? A UML diagram, such as a class diagram, is typically not refined enough to provide all the relevant aspects of a specification.
More informationIndex. business modeling syntax 181 business process modeling 57 business rule 40
OCL.book Page 203 Tuesday, July 22, 2003 9:48 PM Index Symbols OclAny, of 167 = OclAny, of 167 @pre 34, 86, 155 ^ 34, 156 ^^ 157 A abstract syntax 93 accumulator 153 action in statechart 56 activity
More informationEclipse Development Tools for Epsilon
Eclipse Development Tools for Epsilon Dimitrios S. Kolovos, Richard F. Paige, and Fiona A.C. Polack Department of Computer Science, University of York, Heslington, York, YO10 5DD, UK. {dkolovos,paige,fiona@cs.york.ac.uk
More informationATL Transformation Examples. The KM3 to Metric ATL transformation
s The KM3 to Metric ATL transformation - version 0.1 - September 2005 by ATLAS group LINA & INRIA Nantes Content 1 Introduction... 1 2 The KM3 to Metrics ATL transformation... 1 2.1 Transformation overview...
More informationOCL Tooling for OMG specifications
OCL Tooling for OMG specifications Edward Willink Thales representative for OMG OCL RTF Eclipse OCL Project Lead Thales representative for OMG QVT RTF Eclipse QVT Declarative Project Lead OMG Quarterly
More informationOCL omissions and contradictions
OCL omissions and contradictions Edward Willink OCL RTF chair, QVT RTF representative Eclipse OCL Project Lead, Eclipse QVTd Project Lead, OMG ADTF 21st March 2012 Made available under EPL 1.0 Overview
More informationATL TRANSFORMATION EXAMPLE
1. ATL Transformation Example 1.1. Example: KM3 Problem The example describes a transformation a KM3 metamodel [1] in a Problem model. The generated Problem model contains the list of non-structural errors
More informationModel Refinement in the Model Driven Architecture Context
Journal of Computer Science 8 (8): 1205-1211, 2012 ISSN 1549-3636 2012 Science Publications Model Refinement in the Model Driven Architecture Context 1,2 Luciane Telinski Wiedermann Agner, 1,2 Inali Wisniewski
More informationNote that in this definition, n + m denotes the syntactic expression with three symbols n, +, and m, not to the number that is the sum of n and m.
CS 6110 S18 Lecture 8 Structural Operational Semantics and IMP Today we introduce a very simple imperative language, IMP, along with two systems of rules for evaluation called small-step and big-step semantics.
More informationUnified Modeling Language 2
Unified Modeling Language 2 Profiles 166 Usage scenarios Metamodel customization for adapting terminology to a specific platform or domain adding (visual) notation adding and specializing semantics adding
More informationDr. Klaus Fischer. Multiagent Systems Group DFKI GmbH Saarbrücken, Germany ICAART
Technologies for Semantic Interoperability in SOA Systems: Agent Technologies Dr. Klaus Fischer Multiagent Systems Group DFKI GmbH Saarbrücken, Germany ICAART 2011 1 Overview Context at DFKI An MDA Approach
More informationCISC836: 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 informationBlazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014
Apport de l Ingénierie des Langages de Modélisation à l Ingénierie Système Basée sur les Modèles : conception d une méthode outillée pour la génération de Langages Métier interopérables, analysables et
More informationIntroduction to Model Driven Engineering using Eclipse. Frameworks
Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model
More informationModel Transformation. Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that?
Eugene Syriani Suppose I ask you to provide a software that converts any E-R diagram into a UML class diagram, how would you achieve that? 2 Write a program that takes as input a.er file and outputs a.uml
More informationISSUES OF ITERATIVE MDA-BASED SOFTWARE DEVELOPMENT PROCESSES
ISSUES OF ITERATIVE MDA-BASED SOFTWARE DEVELOPMENT PROCESSES MASTER THESIS Author: Geert Vos Thesis for the masters degree Computer Science. Department of Computer Science, University of Twente, the Netherlands.
More informationM B S E. Model Transformations in Model-Based Systems Engineering. Chris Paredis Associate Director. Model-Based Systems Engineering Center
1 M B S E Model-Based Systems Engineering Center Model Transformations in Model-Based Systems Engineering Chris Paredis Associate Director Model-Based Systems Engineering Center Georgia Tech chris.paredis@me.gatech.edu
More informationStatic 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 informationComputer Science at Kent
Computer Science at Kent YATL: Yet Another Transformation Language - Reference Manual Version 1.0 Octavian Patrascoiu Technical Report No. 2-04 March 2004 Copyright 2004 University of Kent at Canterbury
More informationTowards 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 informationSoftwaretechnik Model Driven Architecture Meta Modeling
Softwaretechnik Model Driven Architecture Meta Modeling Prof. Dr. Peter Thiemann Universität Freiburg 22.06.2009 PT (Univ. Freiburg) Softwaretechnik Model Driven Architecture Meta Modeling 22.06.2009 1
More informationBLU 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 informationA 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 informationComparison 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 informationMeasuring Incrementally Developed Model Transformations Using Change Metrics
Measuring Incrementally Developed Model Transformations Using Change Metrics by Eyrak Paen A thesis submitted to the School of Computing in conformity with the requirements for the degree of Master of
More informationModel-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 informationModel 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 informationDominique 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 informationThe 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 informationInformatica 3 Syntax and Semantics
Informatica 3 Syntax and Semantics Marcello Restelli 9/15/07 Laurea in Ingegneria Informatica Politecnico di Milano Introduction Introduction to the concepts of syntax and semantics Binding Variables Routines
More informationDeveloping 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 informationQuery Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater
Query Language for AADLv2, Jérôme Hugues, ISAE Serban Gheorghe, Edgewater Outline 1. Discussion from previous meetings 2. Defining elements for a DSL, inputs from the meta model 3. Defining elements for
More informationQoS-aware model-driven SOA using SoaML
QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira
More informationIncQuery for MagicDraw Quick Start Guide
IncQuery for MagicDraw Quick Start Guide v1.6.2, June 17, 2018 Table of Contents 1. Installation Guide............................................................. 1 2. Custom Query Evaluation......................................................
More informationGoals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1
Natural Semantics Goals: Define the syntax of a simple imperative language Define a semantics using natural deduction 1 1 Natural deduction is an instance of first-order logic; that is, it is the formal
More informationRecursion and Iteration Support in USE Validator with AnATLyzer
Recursion and Iteration Support in USE Validator with AnATLyzer Jesús Sánchez Cuadrado Modelling and Software Engineering Research Group (http://www.miso.es) Universidad Autónoma de Madrid (Spain) Abstract.
More informationAn 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 informationKerMeta Transformation Rules
INRIA Build date: @BUILD.DATE@ David Touzet KerMeta Transformation Rules Reference manual David Touzet Build date: @BUILD.DATE@ Date: June 2007 Metadata to be filled by the author The metadata gather information
More informationUniversity of Alabama
Eugene Syriani Software Engineering Group Department of Computer Science College of Engineering University of Alabama MOTIVATION Suppose I ask you to provide a software that converts any E-R diagram into
More informationCS111: PROGRAMMING LANGUAGE II
CS111: PROGRAMMING LANGUAGE II Computer Science Department Lecture 1(c): Java Basics (II) Lecture Contents Java basics (part II) Conditions Loops Methods Conditions & Branching Conditional Statements A
More informationA Survey on Domain-Specific Languages in Robotics
A Survey on Domain-Specific Languages in Robotics Arne Nordmann Nico Hochgeschwender Sebastian Wrede October 21st 2014 0 Arne Nordmann, Nico Hochgeschwender, Sebastian Wrede A Survey on Domain-Specific
More informationGeneric Language Technology
Generic Language Technology Working with Xtext Introduction We have used Xtext to define a concrete syntax for a domain-specific language called Simple Language of Communicating Objects (SLCO). This language
More informationMeasuring ATL Transformations
Measuring ATL Transformations Andrés Vignaga MaTE, Department of Computer Science, Universidad de Chile avignaga@dcc.uchile.cl Abstract Model transformations are a key element in Model Driven Engineering
More informationSmall 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 informationTwo Basic Correctness Properties for ATL Transformations: Executability and Coverage
Two Basic Correctness Properties for ATL Transformations: Executability and Coverage Elena Planas 1, Jordi Cabot 2, and Cristina Gómez 3 1 Universitat Oberta de Catalunya (Spain), eplanash@uoc.edu 2 École
More informationDesigning Information Hiding Modularity for Model Transformation Languages
Designing Information Hiding Modularity for Model Transformation Languages Andreas Rentschler Dominik Werle Qais Noorshams Lucia Happe Ralf Reussner Karlsruhe Institute of Technology KIT) 76131 Karlsruhe,
More informationTowards Programs Logic Based Representation Driven by Grammar and Conforming to a Metamodel
Towards Programs Logic Based Representation Driven by Grammar and Conforming to a Metamodel Ciprian-Bogdan Chirila and Călin Jebelean University Politehnica of Timişoara, Romania Faculty of Automation
More informationATL Transformation Example
1. ATL Transformation Example: UML2 to Measure The UML2 to Measure example describes measurement on UML2 models, using metrics defined as ATL libraries. 1.1. Transformation Overview The aim of this transformation
More informationdynamically typed languages Building Domain-Specific Languages for Model- Driven Development
focus dynamically typed languages Building Domain-Specific Languages for Model- Driven Development Jesús Sánchez Cuadrado and Jesús García Molina, University of Murcia Embedding a domain-specific language
More informationEnhancing Xtext for General Purpose Languages
Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera Department of Computer Science, University of York, UK. asbh500@york.ac.uk Abstract. Xtext is a popular language workbench conceived
More informationA Taxonomy of Model Transformation
Electronic Notes in Theoretical Computer Science 152 (2006) 125 142 www.elsevier.com/locate/entcs A Taxonomy of Model Transformation Tom Mens 1 Software Engineering Lab Université de Mons-Hainaut Mons,
More informationCA Compiler Construction
CA4003 - Compiler Construction Semantic Analysis David Sinclair Semantic Actions A compiler has to do more than just recognise if a sequence of characters forms a valid sentence in the language. It must
More information(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 informationProcess DSL Transformation by Mappings Using Virtual Functional Views
Baltic J. Modern Computing, Vol. 3 (2015), No. 2, 133-147 Process DSL Transformation by Mappings Using Virtual Functional Views Lelde LACE, Audris KALNINS, Agris SOSTAKS Institute of Mathematics and Computer
More informationModel-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 informationAlgebraic Semantics of EMOF/OCL Metamodels
Algebraic Semantics of EMOF/OCL Metamodels Artur Boronat and José Meseguer Department of Information Systems and Computation, Technical University of Valencia. Department of Computer Science, University
More informationPart I CHR tutorial. Cambridge University Press Constraint Handling Rules Thom Fruhwirth Excerpt More information
Part I CHR tutorial We present the essentials of the Constraint Handling Rules (CHR) programming language by the use of examples in this Tutorial part. The first chapter Getting started is a step-by-step
More informationThe rcos Modeler. ICTAC Summer School 2013 ECNU, Shanghai, China. Volker Stolz, Zhiming Liu. Friday, August 30, 13
The rcos Modeler ICTAC Summer School 2013 ECNU, Shanghai, China Volker Stolz, Zhiming Liu Benefits of Modeling Given the right models, we get for free: executable program user interfaces test cases (model-based
More informationWhat Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs
What Every Xtext User Wished to Know Industry Experience of Implementing 80+ DSLs EclipseCon Europe 2016 2016-10-26 Roman Mitin Avaloq Evolution AG Allmendstrasse 140 8027 Zurich Switzerland T +41 58 316
More informationA SEMI-AUTOMATIC TRANSFORMATION FROM OBJECT-ORIENTED SYSTEMS TO ROLE-BASED SYSTEMS
Faculty Computer Science Institute of Software and Multimedia Engineering, Chair of Software Technology A SEMI-AUTOMATIC TRANSFORMATION FROM OBJECT-ORIENTED SYSTEMS TO ROLE-BASED SYSTEMS Kay Bierzynski
More informationPTL: A Model Transformation Language based on Logic Programming
PTL: A Model Transformation Language based on Logic Programming Jesús M. Almendros-Jiménez and Luis Iribarne University of Almería, SPAIN, {jalmen,luis.iribarne}@ual.es Jesús López-Fernández and Ángel
More informationExtracting Models from Source Code in Software Modernization
Extracting Models from Source Code in Software Modernization Javier Cánovas, Jesus Garcia Molina To cite this version: Javier Cánovas, Jesus Garcia Molina. Extracting Models from Source Code in Software
More information