TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING
|
|
- Audra Flynn
- 5 years ago
- Views:
Transcription
1 TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING Juan de Lara Computer Science Department Universidad Autónoma de Madrid (Spain) NWPT 12 Bergen, Norway
2 MOTIVATION Model-Driven Engineering (MDE) is about building systems by an active use of models: Modelling as oposed to programming. Domain-Specific Modelling Languages (DSMLs). Code generators. MDE can be seen as a reutilization approach: DSMLs are reused across projects within the same domain. Similar approach to Software Product Lines. But MDE artefacts are defined for specific DSMLs, and are not applicable to similar DSMLs. 2
3 AGENDA Model-Driven Engineering (MDE). Meta-Modelling and DSMLs. Model Transformations. Limitations. Reutilization Appropaches for MDE. Concept-based Genericity. Multi-level-based Genericity. Example: Reusable abstractions for Modelling Languages. Conclusions and Outlook. 3
4 MODEL DRIVEN ENGINEERING Increase the level of abstraction in software development. Models are actively used to: Describe the problem Simulate/verify/test Generate code for the final application. Move from the solution space (code-centric) to the problem space: Higher levels of productivity and quality. Less accidental details. 4
5 MODEL DRIVEN ENGINEERING For specific domains: Avoid coding the same solutions over and over. Families of applications. Domain-Specific Modelling Languages. Code Generator Modelling, validation and automatic generation of telephony services. 5
6 MODEL DRIVEN ENGINEERING For specific domains: Avoid coding the same solutions over and over. Families of applications. Domain-Specific Modelling Languages. Code generator Code generation from State-Machines for Railway Signaling Systems. 6
7 DOMAIN SPECIFIC MODELLING LANGUAGES Describe the structure of the domain Relevant primitives and abstractions. Relations, features. Explicit expert knowledge. 7 MetaEdit+
8 DOMAIN SPECIFIC MODELLING LANGUAGES DSMLs need not be graphical 8 xtext
9 MODELS AND META-MODELS The abstract syntax of DSMLs is defined through a meta-model Classes, Attributes, Relations. Conveyor parts Part inps 1.. outs 1.. Generator Factory meta-model Machine Assembler Terminator 9
10 MODELS AND META-MODELS The abstract syntax of DSMLs is defined through a meta-model Classes, Attributes, Relations. «conforms to» Conveyor parts Part inps outs Generator Factory meta-model Machine Assembler Terminator outs g:generator outs c1:conveyor c2:conveyor inps inps p2: Part a:assembler outs p2: Part c3:conveyor inps t:terminator 10
11 OCL CONSTRAINTS Object Constraint Language Well-formedness rules, which every model should satisfy. Conveyor inps outs Factory meta-model Machine parts Based on First-Order Logic. Part Generator Assembler Terminator context Generator inv: inv: self.inps->isempty() «conforms to» and and self.outs->size()>0 context Terminator inv: self.outs->isempty() and self.inps->size()>0 c:conveyor context Assembler inv: self.inps->size()>0 and self.outs.size()>0 g:generator 11
12 MODELS AND META-MODELS Models are represented using concrete syntax Visual Textual No need for a 1-1 correspondence between abstract and concrete syntax elements. asse 12
13 MODEL TRANSFORMATIONS Models need to be manipulated for: Simulation. Optimization/refactoring. Generating another model. Generating code. in-place transformations 13
14 MODEL TRANSFORMATIONS Models need to be manipulated for: Simulation. Optimization/refactoring. Generating another model. Generating code. model-to-model transformations Source Target 14
15 MODEL TRANSFORMATIONS Models need to be manipulated for: Simulation. Optimization/refactoring. Generating another model. Generating code. model-to-model transformations Transformation developer MM src from Transformation definition to MM tar «conforms to» «conforms to» Final user M src Transformation execution M tar 15
16 MODEL TRANSFORMATIONS Models need to be manipulated for: Simulation. Optimization/refactoring. Generating another model. Generating code. query and model navigation Template languages 16
17 SPECIFYING MODEL TRANSFORMATIONS Model transformations are not normally specified using general purpose languages Specialized languages for transformation Declarative/imperative Visual/textual LHS work RHS Formal/semi-formal G H 17
18 SPECIFYING MODEL TRANSFORMATIONS Model transformations are not normally specified using general purpose languages Specialized languages for transformation Declarative/imperative Visual/textual Formal/semi-formal L G l m P.O. k P.O. m f K D r d R H 18
19 SPECIFYING MODEL TRANSFORMATIONS Model transformations are not normally specified using general purpose languages Specialized languages for transformation Declarative/imperative operation main() { // Epsilon Object Language Visual/textual } Formal/semi-formal operation Machine work() { for (c in self.inps) { var p : Part := c.parts.random(); c.parts.remove(p); delete p; } for (c in self.outs) c.parts.add(new Part); } 19
20 SPECIFYING MODEL TRANSFORMATIONS Model transformations are not normally specified using general purpose languages Specialized languages for transformation Declarative/imperative Visual/textual Formal/semi-formal rule Conveyor2Place transform c : Conveyor to p : Place { p.tokens := c.parts.size(); } 20
21 SPECIFYING MODEL TRANSFORMATIONS Transformations use the types of the meta-model How to reuse such transformations for similar meta-models? operation Machine work() { for (c in self.inps) { var p : Part := c.parts.random(); c.parts.remove(p); delete p; } for (c in self.outs) c.parts.add(new Part); } :Part parts c: Conveyor inps a:assembler outs c: Conveyor LHS c: Conveyor inps a:assembler outs c: Conveyor :Part parts rule Conveyor2Place transform c : Conveyor to p : Place { p.tokens := c.parts.size(); } RHS 21
22 SPECIFYING MODEL TRANSFORMATIONS Transformations use the types of the meta-model :Message LHS b:buffer RHS How to reuse such transformations for similar meta-models? operation Processor work() { for (c in Buffer.all.select(b b.outp.includes(self)) { var p: Message := c.msgs.random(); c.msgs.remove(p); delete p; } for (c in self.outb) c.msgs.add(new Message); } b:buffer p:processor b1:buffer p:processor b1:buffer :Message rule Buffer2Place transform b : Buffer to p: Place { p.tokens:=b.msgs.size(); } 22
23 MAKING TRANSFORMATIONS GENERIC Take ideas from generic programming. part:t LHS RHS input:h Transformation templates: Variable types in transformations. Template instantiation: Bind variable types to specific types. input:h process:p output:h process:p output:h newpart:t 23
24 MAKING TRANSFORMATIONS GENERIC Take ideas from generic programming. part:t LHS RHS input:h Transformation templates: Variable types in transformations. input:h process:p output:h process:p output:h newpart:t Template instantiation: Bind variable types to specific types. Can we express what do we require from meta-models? 24
25 STRUCTURAL CONCEPTS Structural Concepts. They gather the structure needed from meta-models for the transformation to be applicable. They have the form of a meta-model as well. Token-Holder Concept Holder tokens Token in out Process Their elements are treated as variables, which need to be bound to elements in specific meta-models. 25
26 REUSABLE TRANSFORMATIONS Transformations are defined using the types of the concept. Token-Holder Concept Holder tokens Token in out Process LHS RHS :Holder :Process :Holder :Holder :Process :Holder :Token :Token NOT :Holder :Process NOT :Token Application Condition 26
27 BINDING Concept binding: Bind each element in the concept to an element in the meta-model. Token-Holder Concept Holder tokens Token in out Process Binding Holder Conveyor Process Machine Token Part in inps out outps tokens parts Conveyor parts Part inps outs Factory DSL Machine Generator Assembler Terminator 27
28 REUSABLE TRANSFORMATIONS Transformations are retyped to conform to the bound metamodel LHS RHS :Conveyor :Machine :Conveyor :Conveyor :Machine :Conveyor :Part :Part NOT :Conveyor :Machine NOT :Part Application Condition 28
29 REUSABLE TRANSFORMATIONS Concepts con be bound to meta-models sharing essential structural features. Transformations defined over concepts become reusable Meta-Model 1 «conforms to» «binds» executes on Concept A «requires» Transf. executes on «binds» Meta-Model 2 «conforms to» Model 1 Model 1 Model 1 Model 1 29
30 MORE FLEXIBLE BINDINGS Concepts also express a particular design choice on how structure is organized. Holder tokens in out Token binding Process Different meta-models may implement the same essential structure differently. Conveyor parts:int inps outs Machine Generator Assembler 30
31 HYBRID CONCEPTS Hide unessential structure behind required operations. Operations need to be implemented together with the binding. Holder tokens():int addtokens(int n) Process inputs():holder[] outputs():holder[] The generic transformation may use these required operations. 31
32 HYBRID CONCEPTS Hide unessential structure behind required operations. Holder tokens():int addtokens(int n) Process inputs():holder[] outputs():holder[] Operations need to be operation main() { implemented together var enabled with : Set(Process):=enabledSet(); the binding.. while (enabled.size()>0 and numstep<maxstep) {. The generic transformation } may use these } required operations. operation enabledset() : Set(Process) { var en : Set(Process); for (t in Process.all()) if (t.inputs().forall(h h.tokens()>0)) en.add(t); return en; } 32
33 BINDING HYBRID CONCEPTS operation Conveyor tokens() { return self.parts; } operation Machine inputs() { return Conveyor.all().select(c c.outs.includes(self)) } + Holder tokens():int addtokens(int n) Holder Conveyor Process Machine Process inputs():holder[] outputs():holder[] Conveyor parts:int inps outs Machine Generator Assembler 33
34 BINDING ADAPTERS Expressions resolving the heterogeneities between the concept and the meta-model. These induce an adaptation of the transformation. UML reference Domain from: concept UMLClass id : String Class name : String Generalization superclasses Binding: Class UMLClass Class.name UMLClass.id superclasses generals->collect (g g.reference) generals adapter rule class2jclass { from class : OO!Class to jclass : Java!JavaClass ( name <- class.name extends <- class.superclasses.first() ) } generated adapted rule rule class2jclass { from class : UML!UMLClass to jclass : Java!JavaClass ( name <- class.id extends <- class.generals->collect (g g.reference).first() ) } 34
35 MULTI-LEVEL BASED GENERICITY Modelling using multiple metalevels. Many domains can be naturally described using more than two meta-levels at the same time. Clabjects (Kühne&Atkinson) Task src tar Coding:Task src src tar data: Coding : C2T Gateway Seq C2T: Seq T2C: Seq tar Par tar Test: Task unitdt: Test gui: Coding src src tar «conf» «conf» : T2C 35
36 MULTI-LEVEL BASED GENERICITY Domain-specific Meta- Modelling Describe families of related meta-models. Process Modelling Software Process Modelling Language Educational Modelling Language Software Process Models Educational Models 36
37 MULTI-LEVEL BASED GENERICITY Transformations can be defined at the top meta-level defined on Process Modelling Applicable to instances of all languages in the family applicable to Transformation Software Process Modelling Language Educational Modelling Language Software Process Models Educational Models 37
38 MULTI-LEVEL BASED GENERICITY Task src src tar Coding:Task tar Gateway Seq C2T: Seq T2C: Seq Par tar Test: Task src «conf» defined on applicable to rule Task2Place transform t : Level0!Task to p : Place {... }... src data: Coding : C2T tar unitdt: Test gui: Coding «conf» src tar : T2C data: Coding gui: Coding unitdt: Test 38
39 MULTI-LEVEL BASED GENERICITY Task src tar Gateway Seq Par rule Task2Place transform t : Level0!Task to p : Place {... }... Coding:Task src src tar data: Coding : C2T C2T: Seq T2C: Seq tar Test: Task unitdt: Test gui: Coding tar src «conf» «conf» src tar : T2C defined on applicable to rule Coding2Place transform t : Coding to p : Place { } rule Test2Place transform t : Test to p : Place { } data: Coding gui: Coding unitdt: Test 39
40 MULTI-LEVEL VS CONCEPT-BASED GENERICITY A posteriori binding: metamodels may exist first. Adapters and hybrid concepts to solve heterogeneities. Concept-based Genericity Multi-level-based Genericity A priori: meta-meta-model should exist first. Ability to apply an operation several meta-levels below. Domain-Specific metamodelling. 40
41 EXAMPLE: REUSABLE ABSTRACTIONS A model abstraction is an operation that reduces the complexity of some aspect of a model. increases comprehensibility reduces size (e.g. to ease verification while retaining properties of interest). An abstraction may: delete existing model elements, add new ones e.g. aggregate objects or hierarchical constructs encapsulating existing elements with commonalities. Make abstractions reusable! 41
42 TYPES OF ABSTRACTIONS Horizontal. applicable to modelling languages of (perhaps very) different domains Merge. Aggregation. Vertical. specific to a family of DSMLs sharing semantics Deletion. Views. Applicability Behaviour 42
43 TYPES OF ABSTRACTIONS Horizontal. Applicable to modelling languages of (perhaps very) different domains Vertical. specific to a family of DSMLs sharing semantics Merge. a set of elements considered similar is replaced by one element collecting the properties of the merged elements Aggregation. Deletion. Views. Applicability Behaviour 43
44 TYPES OF ABSTRACTIONS Horizontal. S0 Applicable S4 to modelling S1 languages e of (perhaps very) S2 different domains S1 S2 S3 e e Vertical. f S0 S3 specific to a family of DSMLs sharing semantics e f S4 Merge. Aggregation. a set of similar elements is grouped hierarchically under a higher-level aggregate element. Deletion. Views. Applicability Behaviour 44
45 TYPES OF ABSTRACTIONS Horizontal. Applicable to modelling languages of (perhaps very) different domains Vertical. specific to a family of DSMLs sharing semantics Merge. Aggregation. Deletion. deletes elements that are not considered relevant or that do not modify some observed property of a model Views. Applicability Behaviour 45
46 TYPES OF ABSTRACTIONS Horizontal. Applicable to modelling languages of (perhaps very) different domains Perf meeting Report Vertical. start Perf meeting specific to a family of Eval DSMLs sharing semantics Eval report report end Merge. Aggregation. Deletion. Views. produces a new model (the view), perhaps expressed in a different DSML, discarding features of the original model which are irrelevant for the aim of the abstraction Applicability Behaviour 46
47 A CATALOGUE OF ABSTRACTIONS Generic abstractions that designers can select and customize for particular DSMLs. Operations defined over suitable concepts to be bound to the meta-models of specific DSMLs. From a structural concept: when the structure of the concept and meta-model are similar From a hybrid concept: gives freedom regarding Some vertical abstractions defined using multilevel meta-modelling (process modelling). 47
48 HORIZONTAL ABSTRACTIONS Target Parallel. Aggregates items with same target, through a given relation. 48
49 HORIZONTAL ABSTRACTIONS Target Parallel. Aggregates items with same target, through a given relation. 49
50 HORIZONTAL ABSTRACTIONS Sequential. Aggregates a linear sequence of items. Sequential struct. concept next Item canaggregate(item): boolean child Aggregate aggregate(set(item)) next :Item :Item :Item next next next next next next :Aggregate next next next child child child next next :Item :Item :Item 50
51 HORIZONTAL ABSTRACTIONS Sequential. Aggregates a linear sequence of items. Sequential struct. concept next Item canaggregate(item): boolean child Aggregate aggregate(set(item)) next :Item :Item :Item next next next next next next :Aggregate next next next child child child next next :Item :Item :Item child FlowElem Container FlowElement FlowNode Activity SubProcess Item targetref sourceref Gateway Aggregate next Sequence Flow + A 0 A 1 A 2 A 0 A 1 A 2 A 3 + A 4 A 4 A A 4 A 4 51
52 DOMAIN-SPECIFIC ABSTRACTIONS Fusion Series Places. Merges two places in series. Holder tokens Token in out Process 52
53 DOMAIN-SPECIFIC ABSTRACTIONS Fusion Series Places. Merges two places in series. Holder tokens Token in out Process Holder Process asse asse Token asse 53
54 AGENDA Model-Driven Engineering (MDE). Meta-Modelling and DSMLs. Model Transformations and Code generation. Limitations. Reutilization Appropaches for MDE. Concept-based Genericity. Multi-level-based Genericity. Example: Reusable abstractions for Modelling Languages. Conclusions and Outlook. 54
55 SUMMARY MDE promotes an active use of models and automated generation of applications for specific domains. Higher levels of productivity and quality, for specific domains. Model transformations, code generators becomes tied to specific meta-models, difficult to reuse. We have seen two techniques for their reutilization: conceptbased and multi-level based genericity. 55
56 OUTLOOK Type safety, behaviour preservation of transformation template instantiations. More flexible reuse. A posteriori typing in multi level modelling Many interesting research topics in MDE: Mixing modelling and programming: Models at run-time, transformations at run-time. Scalability: how to deal with very large models, distribution. Consistency of artefacts: models, model/meta-model co-evolution, transformation/meta-model co-evolution etc. Correctness of transformations, model analysis, etc. Simpler MDE: use by non-experts. 56
57 THANKS! Questions? With acknowledgements to my collaborators on these topics: E. Guerra, J. S. Cuadrado (Madrid) 57
58 SOME REFERENCES From Types to Type Requirements: Genericity for Model-Driven Engineering J. de Lara, E. Guerra. Software and Systems Modeling (Springer). In press. Flexible Model-to-Model Transformation Templates: An Application to ATL J. Sánchez Cuadrado, E. Guerra, J. de Lara. Best papers of ICMT'11. Journal of Object Technology Volume 11, no. 2. Domain-specific textual meta-modelling languages for modeldriven engineering J. de Lara and E. Guerra. LNCS 7349, pp.: , Springer. Presented at ECMFA'12: 8th European Conference on Modelling Foundations and Applications Abstracting modelling languages: A reutilization approach J. de Lara, E. Guerra and J. Sánchez Cuadrado. LNCS 7328, pp: Presented at CAiSE'12: 24th International Conference on Advanced Information Systems Engineering.
APPROACHES TO MODEL TRANSFORMATION REUSE
APPROACHES TO MODEL TRANSFORMATION REUSE Juan de Lara joint work with Esther Guerra and Jesús Sánchez Cuadrado Modelling&Software Engineering Research Group http://miso.es @miso_uam ICMT 2016, Viena FROM
More informationFormal Support for QVT-Relations with Coloured Petri Nets
Formal Support for QVT-Relations with Coloured Petri Nets Juan de Lara Univ. Autónoma de Madrid (Spain) MODELS 2009 Denver, Colorado, USA Esther Guerra 1 Univ. Carlos III de Madrid (Spain) Motivation Model-to-Model
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 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 informationUnifying Software Reuse
Unifying Software Reuse Jörg Kienzle Software Composition and Reuse Laboratory (SCORE) School of Computer Science McGill University Montreal, Canada Email: Joerg.Kienzle@mcgill.ca 1 How Did We Get Here?
More informationIntroduction 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 informationModel 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 informationTowards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema
Towards Formalizing Domain-specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Outline! DSML overview! Framework for DSML design Syntax definition Semantic domain specification Semantic
More informationModel Querying with Graphical Notation of QVT Relations
Model Querying with Graphical Notation of QVT Relations Dan LI, Xiaoshan LI Faculty of Science and Technology, University of Macau Volker Stolz University of Oslo, Norway Agenda! Motivation! QVT Relations
More informationA-posteriori Typing for Model-Driven Engineering
A-posteriori Typing for Model-Driven Engineering Juan de Lara, Esther Guerra, Jesús Sánchez Cuadrado Universidad Autónoma de Madrid Abstract Model-Driven Engineering is founded on the ability to create
More informationStart 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 informationCompositional 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 informationExperimenting with Multi-Level Models in a Two-Level Modeling Tool
Experimenting with Multi-Level Models in a Two-Level Modeling Tool Martin Gogolla Database Systems Group, University of Bremen, Germany gogolla@informatik.uni-bremen.de Abstract. This paper discusses two
More informationDomain-Specific Textual Meta-Modelling Languages for Model Driven Engineering
Domain-Specific Textual Meta-Modelling Languages for Model Driven Engineering Juan de Lara and Esther Guerra Universidad Autónoma de Madrid (Spain) Abstract. Domain-specific modelling languages are normally
More informationA A-posteriori Typing for Model-Driven Engineering: Concepts, Analysis and Applications
A A-posteriori Typing for Model-Driven Engineering: Concepts, Analysis and Applications JUAN DE LARA, Universidad Autónoma de Madrid (Spain) ESTHER GUERRA, Universidad Autónoma de Madrid (Spain) Model-Driven
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 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 informationRepositorio Institucional de la Universidad Autónoma de Madrid. https://repositorio.uam.es
Repositorio Institucional de la Universidad Autónoma de Madrid https://repositorio.uam.es Esta es la versión de autor de la comunicación de congreso publicada en: This is an author produced version of
More informationGeneric Meta-modelling with Concepts, Templates and Mixin Layers
Generic Meta-modelling with Concepts, Templates and Mixin Layers Juan de Lara 1 and Esther Guerra 2 1 Universidad Autónoma de Madrid, Spain Juan.deLara@uam.es 2 Universidad Carlos III de Madrid, Spain
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 informationSemantic Model-driven Engineering
Web Science & Technologies University of Koblenz Landau, Germany Semantic Model-driven Engineering Acknowledgements to students and colleagues@most project http://most-project.eu New level in Software
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 informationMultilevel modelling of coloured Petri nets
Multilevel modelling of coloured Petri nets Alejandro Rodríguez 1, Adrian Rutle 1, Francisco Durán 2, Lars Michael Kristensen 1 and Fernando Macías 1 1 Western Norway University of Applied Sciences, Bergen
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 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 informationTowards 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 informationPrimitive Operators for the Concurrent Execution of Model Transformations Based on LinTra
Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra Loli Burgueño 1, Eugene Syriani 2, Manuel Wimmer 3, Jeff Gray 2, and Antonio Vallecillo 1 1 Universidad de Málaga,
More informationFormal Support for QVT-Relations with Coloured Petri Nets
Formal Support for QVT-Relations with Coloured Petri Nets Juan de Lara 1 and Esther Guerra 2 1 Universidad Autónoma de Madrid (Spain), jdelara@uam.es 2 Universidad Carlos III de Madrid (Spain), eguerra@inf.uc3m.es
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 informationAutomation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1
Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1 Dhirubhai Ambani Institute for Information and Communication Technology, Gandhinagar, Gujarat, India Email:
More informationExisting Model Metrics and Relations to Model Quality
Existing Model Metrics and Relations to Model Quality Parastoo Mohagheghi, Vegard Dehlen WoSQ 09 ICT 1 Background In SINTEF ICT, we do research on Model-Driven Engineering and develop methods and tools:
More informationThe GEMOC Initiative On the Globalization of Modeling Languages
The GEMOC Initiative On the Globalization of Modeling Languages Benoit Combemale (Inria & Univ. Rennes 1) http://people.irisa.fr/benoit.combemale benoit.combemale@irisa.fr @bcombemale SOFTWARE COLUMN SECTION
More informationDomain-Specific Language Architecture for Automation Systems: An Industrial Case Study
Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study Christopher Preschern, Andrea Leitner, and Christian Kreiner Institure for Technical Informatics Graz University of
More informationOntology-based Model Transformation
Ontology-based Model Transformation Stephan Roser Advisor: Bernhard Bauer Progamming of Distributed Systems Institute of Computer Science, University of Augsburg, Germany [roser,bauer]@informatik.uni-augsburg.de
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 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 informationMulti-Level Modelling in the Modelverse
Multi-Level Modelling in the Modelverse Simon Van Mierlo 1, Bruno Barroca 2, Hans Vangheluwe 1,2, Eugene Syriani 3, Thomas Kühne 4 1 University of Antwerp, Belgium {simon.vanmierlo,hans.vangheluwe}@uantwerpen.be
More informationCombination of Domain-Specific Languages
UNIVERSITEIT ANTWERPEN Combination of Domain-Specific Languages by Rafael Ugaz A thesis submitted in partial fulfillment for the degree of Master of Science: Computer Science in the Mathematics and Computer
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 informationPattern composition in graph transformation rules
Pattern composition in graph transformation rules András Balogh and Dániel Varró Department of Measurement and Information Systems Budapest University of Technology and Economics H-1117 Magyar tudosok
More informationOutline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network
By Alberto Puggelli Outline SLD challenges Platform Based Design (PBD) Case study: Wireless Sensor Network Leveraging state of the art CAD Metropolis Case study: JPEG Encoder SLD Challenge Establish a
More informationTopics in Object-Oriented Design Patterns
Software design Topics in Object-Oriented Design Patterns Material mainly from the book Design Patterns by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides; slides originally by Spiros Mancoridis;
More informationDefinition of Visual Language Editors Using Declarative Languages
Definition of Visual Language Editors Using Declarative Languages Torbjörn Lundkvist TUCS Turku Centre for Computer Science SoSE Graduate School on Software Systems and Engineering Department of Information
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 informationSoftware Architecture
Software Architecture Benjamin Satzger Distributed Systems Group TU Wien http://www.infosys.tuwien.ac.at/staff/ bsatzger Models Terms Unified Modeling Language (UML) Architecture Description Language (ADL)
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 informationChapter 8: Class and Method Design
Chapter 8: Class and Method Design Objectives Become familiar with coupling, cohesion, and connascence. Be able to specify, restructure, and optimize object designs. Be able to identify the reuse of predefined
More informationModel Transformation by Graph Transformation: A Comparative Study
Model Transformation by Graph Transformation: A Comparative Study Karsten Ehrig 1, Esther Guerra 2, Juan de Lara 3, Laszlo Lengyel 4, Tihamer Levendovszky 4, Ulrike Prange 1, Gabriele Taentzer 1, Daniel
More informationchallenges 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 informationEmergent Model-Driven Engineering Ecosystems by means of Patterns
Emergent Model-Driven Engineering Ecosystems by means of Patterns Antonio Cicchetti 1 Mälardalen University, IDT, Västerås, Sweden, antonio.cicchetti@mdh.se Abstract. In Model-Driven Engineering (MDE)
More informationThe etrice Eclipse Project Proposal
The etrice Eclipse Project Proposal Dipl.-Ing. Thomas Schütz, Protos Software GmbH Eclipse Embedded Day 2010, Stuttgart Agenda Motivation Scope of etrice ROOM Language Codegenerators Middleware Realization
More informationTowards a Generic Architechture for Multi-Level Modeling
Towards a Generic Architechture for Multi-Level Modeling T. Aschauer, G. Dauenhauer, W. Pree Technical Report August 10, 2009 Software & systems Research Center (SRC) C. Doppler Laboratory Embedded Software
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 informationObject-Oriented Theories for Model Driven Architecture
Object-Oriented Theories for Model Driven Architecture Tony Clark 1, Andy Evans 2, Robert France 3 1 King s College London, UK, anclark@dcs.kcl.ac.uk, 2 University of York, UK, andye@cs.york.ac.uk, 3 University
More informationMulti-level Language Descriptions
Multi-level Language Descriptions Andreas Prinz Department of ICT, University of Agder, Grimstad, Norway andreas.prinz@uia.no Abstract. Language descriptions are a multi-level issue. In particular, the
More informationA Visual Specification Language for Model-to-Model Transformations
A Visual Specification Language for Model-to-Model Transformations Esther Guerra Computer Science Department Universidad Carlos III de Madrid Madrid, Spain eguerra@inf.uc3m.es Juan de Lara School of Computer
More informationSoftware Engineering from a
Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning
More informationTowards V&V suitable Domain Specific Modeling Languages for MBSE
Doctoral symposium, Nîmes France, 16 June 2016 Towards V&V suitable Domain Specific Modeling Languages for MBSE Laboratoire de Génie Informatique et d Ingénierie de Production Blazo Nastov 1, Vincent Chapurlat
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 informationIt s all Done with Mirrors Patterns and OCL. KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu
It s all Done with Mirrors Patterns and OCL KMF Kent Modelling Framework D.H.Akehurst and O.Patrascoiu Goal Model Implementation MDA Goal Meta-Model Specification Tool Code Generation Is a Transformation
More informationAn Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com
An Introduction to Model Driven Engineering (MDE) Bahman Zamani, Ph.D. bahmanzamani.com Department of Software Systems Engineering University of Isfahan Fall 2013 Overview Model & Modeling UML & UML Profile
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 informationDSL 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 informationAUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS
MASTER THESIS AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS C.J.H. Weeïnk FACULTY OF ELECTRICAL ENGINEERING, MATHEMATICS AND COMPUTER SCIENCE SOFTWARE ENGINEERING EXAMINATION COMMITTEE dr.
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 informationModel View Management with Triple Graph Transformation Systems
Model View Management with Triple Graph Transformation Systems Esther Guerra and Juan de Lara Computer Science Department, Universidad Carlos III de Madrid (Spain) eguerra@inf.ucm.es Polytechnic School,
More informationMetamodeling. 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 informationHorvá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 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 informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationObject-Oriented Design
Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration
More informationWhat are the characteristics of Object Oriented programming language?
What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is
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 informationmodel-driven development Separation of Concerns in Model-Driven Development
focus model-driven development Separation of Concerns in Model-Driven Development Vinay Kulkarni and Sreedhar Reddy, Tata Research Development and Design Centre To facilitate traceability, reuse, and evolution,
More informationA DSL for Model Mutation and its Applications to Different Domains
A DSL for Model Mutation and its Applications to Different Domains Pablo Gómez-Abajo Universidad Autónoma de Madrid, Spain, Pablo.GomezA@uam.es http://www.miso.es Abstract. Model-Driven Engineering (MDE)
More informationSemantic Specifications for Domain-Specific Modeling Languages
Semantic Specifications for Domain-Specific Modeling Languages Gabor Simko Institute for Software Integrated Systems Vanderbilt University Nashville, TN Abstract. While there is a generic agreement that
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 informationOutline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods
Outline The Unified Modeling Language Opportunities and Challenges for Formal Methods An update on UML Language definition Tools A precise OO meta-modeling facility - MMF Stuart Kent University of Kent
More informationWhole Platform Foundation. The Long Way Toward Language Oriented Programming
Whole Platform Foundation The Long Way Toward Language Oriented Programming 2008 by Riccardo Solmi made available under the Creative Commons License last updated 22 October 2008 Outline Aim: Engineering
More informationDiverSE s Seminar about Software Language Engineering
DiverSE s Seminar about Software Language Engineering May 28 th, 2015 Rennes, France http://people.irisa.fr/benoit.combemale/sleseminar2015 THE DIVERSE TEAM DiverSE s Seminar about SLE - May 28 th, 2015-2
More informationTeaching Model Views with UML and OCL
Teaching Model Views with UML and OCL Loli Burgueño Universidad de Málaga, Spain loli@lcc.uma.es Marbella International University Centre, Spain lola@miuc.org Antonio Vallecillo Universidad de Málaga,
More informationSpoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT
Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT Karl Trygve Kalleberg 1 Department of Informatics, University of Bergen, P.O. Box 7800, N-5020 BERGEN,
More informationConstruction of Complex UML Profiles
Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040, Spain mmiguel@dit.upm.es!1 Context of this work Profiles Construction The present courseware has been
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 informationComponent Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems
Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
More informationAnalysing Graph Transformation Rules Through OCL
Analysing Graph Transformation Rules Through OCL Jordi Cabot 1, Robert Clarisó 1, Esther Guerra 2, and Juan de Lara 3 1 Universitat Oberta de Catalunya (Spain), {jcabot,rclariso}@uoc.edu 2 Universidad
More informationComponents Based Design and Development. Unit 3: Software Design Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
More informationA UML 2 Profile for Variability Models and their Dependency to Business Processes
A UML 2 Profile for Variability Models and their Dependency to Business Processes Birgit Korherr and Beate List Women s Postgraduate College for Internet Technologies Institute of Software Technology and
More informationBeyond OCL: Model Queries for Mere Mortals
Prof. Dr. Danmarks Tekniske Universitet (DTU) Beyond OCL: Model Queries for Mere Mortals Università di Trento, 23.5.2014 Problem In Model Based Development or Business Process Reengineering, large systems
More informationAdvanced 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 informationUML with Action Semantics
UML with Action Semantics Concepts, Application and Implications Milan Ignjatovic Software Engineering Consultant Software Engineering Trainer Zuehlke Engineering AG Agenda Part 1: What is UML with Action
More informationOCL for the Specification of Model Transformation Contracts
OCL for the Specification of Model Transformation Contracts Eric Cariou, Raphaël Marvie, Lionel Seinturier, and Laurence Duchien LIFL - Université des Sciences et Technologies de Lille UMR CNRS 8022 -
More informationWeaving Variability into Domain Metamodels
1 Weaving Variability into Domain Metamodels B. Morin, G. Perrouin, Ph. Lahire, O. Barais, G. Vanwormhoudt and J-M. Jézéquel MODELS 09 Variability Management session Friday 9th October Outline Introduction
More informationOrganizing and Managing Grassroots Enterprise Mashup Environments. Doctorial Thesis, 24 th June, Volker Hoyer
Organizing and Managing Grassroots Enterprise Mashup Environments Doctorial Thesis, 24 th June, 2010 Volker Hoyer Motivation and Research Questions Research Design Results Conclusion Motivation and Research
More informationOverview of lectures today and Wednesday
Model-driven development (MDA), Software Oriented Architecture (SOA) and semantic web (exemplified by WSMO) Draft of presentation John Krogstie Professor, IDI, NTNU Senior Researcher, SINTEF ICT 1 Overview
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 informationRecent Advances in Multi-paradigm Modeling (MPM 2011)
Electronic Communications of the EASST Volume 50 (2011) Recent Advances in Multi-paradigm Modeling (MPM 2011) Reusing Model Transformations across Heterogeneous Metamodels Manuel Wimmer, Angelika Kusel,
More informationReuse for the Reuse-Agnostic
Faculty of Computer Science, Institute of Software and Multimedia Technology, Software Technology Group Adding Modularity to Your Language of Choice http://reuseware.org Jakob Henriksson, Jendrik Johannes,
More informationLinTraP: Primitive Operators for the Execution of Model Transformations with LinTra
LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra Loli Burgueño Universidad de Málaga Malaga, Spain loli@lcc.uma.es Eugene Syriani University of Alabama Tuscaloosa AL,
More information