TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING

Size: px
Start display at page:

Download "TOWARDS A MORE FLEXIBLE MODEL-DRIVEN ENGINEERING"

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 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 information

Formal Support for QVT-Relations with Coloured Petri Nets

Formal 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 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

Recursion and Iteration Support in USE Validator with AnATLyzer

Recursion 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 information

Unifying Software Reuse

Unifying 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 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

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

Towards Formalizing Domain-specific Modeling Languages. Kai Chen Janos Sztipanovits Sandeep Neema

Towards 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 information

Model Querying with Graphical Notation of QVT Relations

Model 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 information

A-posteriori Typing for Model-Driven Engineering

A-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 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

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

Experimenting with Multi-Level Models in a Two-Level Modeling Tool

Experimenting 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 information

Domain-Specific Textual Meta-Modelling Languages for Model Driven Engineering

Domain-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 information

A A-posteriori Typing for Model-Driven Engineering: Concepts, Analysis and Applications

A 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 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

Model-Driven Iterative Development of 3D Web-Applications Using SSIML, X3D and JavaScript

Model-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 information

Repositorio 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 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 information

Generic Meta-modelling with Concepts, Templates and Mixin Layers

Generic 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 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

Semantic Model-driven Engineering

Semantic 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 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

Multilevel modelling of coloured Petri nets

Multilevel 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 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

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

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

Primitive Operators for the Concurrent Execution of Model Transformations Based on LinTra

Primitive 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 information

Formal Support for QVT-Relations with Coloured Petri Nets

Formal 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 information

Blazo Nastov. Journée des doctorant, Nîmes, France 19 June 2014

Blazo 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 information

Automation 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 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 information

Existing Model Metrics and Relations to Model Quality

Existing 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 information

The GEMOC Initiative On the Globalization of Modeling Languages

The 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 information

Domain-Specific Language Architecture for Automation Systems: An Industrial Case Study

Domain-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 information

Ontology-based Model Transformation

Ontology-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 information

Unified Modeling Language 2

Unified 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 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

Multi-Level Modelling in the Modelverse

Multi-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 information

Combination of Domain-Specific Languages

Combination 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 information

Metamodeling with Metamodels. Using. UML/MOF including OCL

Metamodeling 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 information

Pattern composition in graph transformation rules

Pattern 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 information

Outline. SLD challenges Platform Based Design (PBD) Leveraging state of the art CAD Metropolis. Case study: Wireless Sensor Network

Outline. 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 information

Topics in Object-Oriented Design Patterns

Topics 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 information

Definition of Visual Language Editors Using Declarative Languages

Definition 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 information

Two Basic Correctness Properties for ATL Transformations: Executability and Coverage

Two 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 information

Software Architecture

Software 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 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

Chapter 8: Class and Method Design

Chapter 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 information

Model Transformation by Graph Transformation: A Comparative Study

Model 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 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

Emergent Model-Driven Engineering Ecosystems by means of Patterns

Emergent 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 information

The etrice Eclipse Project Proposal

The 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 information

Towards a Generic Architechture for Multi-Level Modeling

Towards 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 information

Model transformations. Model transformations. Model transformations. Model transformations

Model 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 information

Object-Oriented Theories for Model Driven Architecture

Object-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 information

Multi-level Language Descriptions

Multi-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 information

A Visual Specification Language for Model-to-Model Transformations

A 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 information

Software Engineering from a

Software 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 information

Towards V&V suitable Domain Specific Modeling Languages for MBSE

Towards 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 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

It 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 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 information

An 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 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 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

DSL Design. Overview of DSLE. DSL Design. DSL Desing. Domain specific languages

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 information

AUTOMATED BEHAVIOUR REFINEMENT USING INTERACTION PATTERNS

AUTOMATED 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 information

Computation Independent Model (CIM): Platform Independent Model (PIM): Platform Specific Model (PSM): Implementation Specific Model (ISM):

Computation 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 information

Model View Management with Triple Graph Transformation Systems

Model 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 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

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

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

A 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 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 information

Object-Oriented Design

Object-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 information

What are the characteristics of Object Oriented programming language?

What 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 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

model-driven development Separation of Concerns in Model-Driven Development

model-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 information

A DSL for Model Mutation and its Applications to Different Domains

A 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 information

Semantic Specifications for Domain-Specific Modeling Languages

Semantic 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 information

Introduction To Model-to-Model Transformation

Introduction 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 information

Outline. A little history. Outline. The Unified Modeling Language Opportunities and Challenges for Formal Methods

Outline. 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 information

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Whole 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 information

DiverSE s Seminar about Software Language Engineering

DiverSE 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 information

Teaching Model Views with UML and OCL

Teaching 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 information

Spoofax: An Extensible, Interactive Development Environment for Program Transformation with Stratego/XT

Spoofax: 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 information

Construction of Complex UML Profiles

Construction 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 information

Transforming models with ATL

Transforming 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 information

Component 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 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 information

Minsoo Ryu. College of Information and Communications Hanyang University.

Minsoo 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 information

Analysing Graph Transformation Rules Through OCL

Analysing 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 information

Components Based Design and Development. Unit 3: Software Design Quick Overview

Components 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 information

A 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 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 information

Beyond OCL: Model Queries for Mere Mortals

Beyond 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 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

UML with Action Semantics

UML 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 information

OCL for the Specification of Model Transformation Contracts

OCL 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 information

Weaving Variability into Domain Metamodels

Weaving 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 information

Organizing 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, 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 information

Overview of lectures today and Wednesday

Overview 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 information

Softwaretechnik Model Driven Architecture Meta Modeling

Softwaretechnik 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 information

Recent Advances in Multi-paradigm Modeling (MPM 2011)

Recent 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 information

Reuse for the Reuse-Agnostic

Reuse 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 information

LinTraP: Primitive Operators for the Execution of Model Transformations with LinTra

LinTraP: 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