challenges in domain-specific modeling raphaël mannadiar august 27, 2009
|
|
- Dylan Lawson
- 5 years ago
- Views:
Transcription
1 challenges in domain-specific modeling raphaël mannadiar august 27, 2009 raphaël mannadiar challenges in domain-specific modeling 1/59
2 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 2/59
3 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 3/59
4 0110s to dsm why not abstract? generated code less efficient? general purpose languages less expressive? why abstract? mapping to develop, maintain, debug... is error prone and difficult increased productivity compensates for loss in efficiency domain-specific languages should be less expressive raphaël mannadiar challenges in domain-specific modeling 4/59
5 how is productivity increased? user s mental model of problem is closer to implementation more intuitive and less error-prone development dsm environment constrains user to create valid domain models leverage expertise domain experts play with domain models programming experts play with APIs and frameworks domain, programming and transformation experts play with model-to-artifact transformations raphaël mannadiar challenges in domain-specific modeling 5/59
6 how is productivity increased? user s mental model of problem is closer to implementation more intuitive and less error-prone development dsm environment constrains user to create valid domain models leverage expertise domain experts play with domain models programming experts play with APIs and frameworks domain, programming and transformation experts play with model-to-artifact transformations increased productivity raphaël mannadiar challenges in domain-specific modeling 6/59
7 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent raphaël mannadiar challenges in domain-specific modeling 7/59
8 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models raphaël mannadiar challenges in domain-specific modeling 8/59
9 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining metamodels common approaches are graph grammars and (augmented) uml class diagrams defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models raphaël mannadiar challenges in domain-specific modeling 9/59
10 modeling concepts why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent defining models a metamodel defines a set of entities, associations and constraints that determine a possibly infinite set of conforming models defining metamodels common approaches are graph grammars and (augmented) uml class diagrams defining model semantics common approach is mapping down to domains with well-defined semantics (e.g. mathematics, statecharts, python) raphaël mannadiar challenges in domain-specific modeling 10/59
11 dsm vs. code generation traditional code generation... not popular because generated code is often awkward, inefficient, inflexible and/or incomplete source domain is too large target domain is too large raphaël mannadiar challenges in domain-specific modeling 11/59
12 dsm vs. code generation traditional code generation... not popular because generated code is often awkward, inefficient, inflexible and/or incomplete source domain is too large target domain is too large but! dsm is different... source domain restricted from all models of all applications to models of applications from 1 domain target domain restricted from all applications to applications from 1 domain enables generation of complete and optimized artifacts raphaël mannadiar challenges in domain-specific modeling 12/59
13 dsm challenges the coding community has mature tools that facilitate editing debugging differencing versioning of text-based artifacts (e.g., code, xml) raphaël mannadiar challenges in domain-specific modeling 13/59
14 dsm challenges the coding community has mature tools that facilitate editing debugging differencing versioning of text-based artifacts (e.g., code, xml) how can the these activities and their underlying principles be generalized to dsm? raphaël mannadiar challenges in domain-specific modeling 14/59
15 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 15/59
16 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) raphaël mannadiar challenges in domain-specific modeling 16/59
17 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) example instead of coding a LinkedList, an ArrayList and a SyncList, code a List<T> which can be instantiated with arbitrary configurations raphaël mannadiar challenges in domain-specific modeling 17/59
18 generative programming (gp) basic idea bring software engineering to the same level of automation as other forms of manufacturing i.e., standardized components (e.g., 1 4 bolts) standardized interfaces (e.g., category B plug) customizable assembly lines (e.g., same line for red and blue Corollas) example instead of coding a LinkedList, an ArrayList and a SyncList, code a List<T> which can be instantiated with arbitrary configurations gp vs. dsm an appropriate technique for implementing domain frameworks raphaël mannadiar challenges in domain-specific modeling 18/59
19 model-driven architecture (mda) the object management group s (omg) approach to model-driven engineering basic idea software development viewed as a series of model refinements where lower and lower level models (referred to as platform-specific models) are (semi-)automatically generated from higher level ones (referred to as platform-independent models) modelers are expected to modify and contribute to generated intermediate models raphaël mannadiar challenges in domain-specific modeling 19/59
20 model-driven architecture (mda) the object management group s (omg) approach to model-driven engineering basic idea software development viewed as a series of model refinements where lower and lower level models (referred to as platform-specific models) are (semi-)automatically generated from higher level ones (referred to as platform-independent models) modelers are expected to modify and contribute to generated intermediate models mda vs. dsm between UML modeling and dsm... interaction with intermediate models prevents true raise in abstraction raphaël mannadiar challenges in domain-specific modeling 20/59
21 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel raphaël mannadiar challenges in domain-specific modeling 21/59
22 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel example one generic tool used as a modeling environment for any metamodel raphaël mannadiar challenges in domain-specific modeling 22/59
23 metamodeling basic idea complex operations on models and metamodels should not be developed from scratch for every metamodel they should take metamodels as parameters hence, all metamodels should conform to a metametamodel example one generic tool used as a modeling environment for any metamodel metamodeling vs. dsm there is a consensus that metamodeling is the key to empowering model based techniques raphaël mannadiar challenges in domain-specific modeling 23/59
24 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 24/59
25 simulation premise simulating a model empowers the modeler to test and reason about its behavior raphaël mannadiar challenges in domain-specific modeling 25/59
26 simulation premise simulating a model empowers the modeler to test and reason about its behavior approach 1 : hard-coded simulators the behavioral semantics of a formalism are hard-coded in a tool that can simulate conforming models raphaël mannadiar challenges in domain-specific modeling 26/59
27 simulation premise simulating a model empowers the modeler to test and reason about its behavior approach 1 : hard-coded simulators the behavioral semantics of a formalism are hard-coded in a tool that can simulate conforming models approach 2 : rule-based simulators rules define simulation steps simulating equals the sequential (and interactive) application of these rules a metamodeling tool can generate a simulation environment from these rules raphaël mannadiar challenges in domain-specific modeling 27/59
28 debugging premise error tracking and reproduction are key activities in debugging software modern coding tools allow setting/clearing breakpoints, stepping over/into expressions, pausing/resuming execution and reading field values these facilities should also be offered by model debugging tools raphaël mannadiar challenges in domain-specific modeling 28/59
29 debugging premise error tracking and reproduction are key activities in debugging software modern coding tools allow setting/clearing breakpoints, stepping over/into expressions, pausing/resuming execution and reading field values these facilities should also be offered by model debugging tools current best approaches... deal with textual dsls only instrument code generation rules to store mapping of dsl statements to gpl statements instrument code generation rules such that generated gpl code updates dsl variable values reuse gpl debuggers (e.g., gdb, jdb) to provide debugging operations at the dsl level (e.g., a breakpoint set in the dsl code will call jdb s breaking function from the matching line in the generated java code) raphaël mannadiar challenges in domain-specific modeling 29/59
30 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 30/59
31 computing differences premise means to merge, version and store sequential and parallel versions of models are needed means to visualize differences between models are needed raphaël mannadiar challenges in domain-specific modeling 31/59
32 computing differences premise means to merge, version and store sequential and parallel versions of models are needed means to visualize differences between models are needed lexical differencing approaches differentiate between textual documents (e.g., code, xml) no sense of semantically meaningful and meaningless differences (e.g., layout changes) no sense of design-level differences wrong level of abstraction raphaël mannadiar challenges in domain-specific modeling 32/59
33 computing differences... model differencing approaches 1 create some kind of abstract syntax graph (asg) of the models 2 establish matches between both asgs using unique identifiers or syntactic and structural similarities 3 determine creations, deletions and changes from one asg to the other metamodel-specific and -independent approaches exist raphaël mannadiar challenges in domain-specific modeling 33/59
34 computing differences... model differencing approaches 1 create some kind of abstract syntax graph (asg) of the models 2 establish matches between both asgs using unique identifiers or syntactic and structural similarities 3 determine creations, deletions and changes from one asg to the other metamodel-specific and -independent approaches exist unique identifiers 100% reliable matching tool dependence/lock-in similarity heuristics tool independent sensitive to principled versioning raphaël mannadiar challenges in domain-specific modeling 34/59
35 representing differences premise given a difference between two models, how can it be represented? raphaël mannadiar challenges in domain-specific modeling 35/59
36 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans raphaël mannadiar challenges in domain-specific modeling 36/59
37 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans coloring approaches overlay 2 models and color differences; more familiar to modeler but doesn t scale color document object model- (dom) like view of the model; more compact and scalable raphaël mannadiar challenges in domain-specific modeling 37/59
38 representing differences premise given a difference between two models, how can it be represented? edit scripts approaches differences are sequences of invertible operations (e.g. create element, modify attribute) which specify how a model can be procedurally turned into another low readability for humans coloring approaches overlay 2 models and color differences; more familiar to modeler but doesn t scale color document object model- (dom) like view of the model; more compact and scalable difference models differences are models enables the use of higher-order transformations to manipulate, apply, merge, invert and represent model differences tool-, metamodel- and differencing method-independent raphaël mannadiar challenges in domain-specific modeling 38/59
39 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 39/59
40 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations raphaël mannadiar challenges in domain-specific modeling 40/59
41 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations target-driven model transformations may produce artifacts that interact with some target platform (e.g. API, device) changes in the target may invalidate these transformations and force evolution raphaël mannadiar challenges in domain-specific modeling 41/59
42 sources of evolution domain-driven dsls are tightly coupled with their domain domain changes can spawn metamodel changes these can syntactically and/or semantically invalidate existing models and transformations target-driven model transformations may produce artifacts that interact with some target platform (e.g. API, device) changes in the target may invalidate these transformations and force evolution convenience-driven language extensions and new syntactical constructs maybe added to a language these typically shouldn t invalidate existing models raphaël mannadiar challenges in domain-specific modeling 42/59
43 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve raphaël mannadiar challenges in domain-specific modeling 43/59
44 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve current best approaches... (models) distinguish between easy and difficult metamodel changes use higher-order transformations to generate model co-evolution transformations from metamodel difference models raphaël mannadiar challenges in domain-specific modeling 44/59
45 model and model intrepreter co-evolution traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve current best approaches... (models) distinguish between easy and difficult metamodel changes use higher-order transformations to generate model co-evolution transformations from metamodel difference models only current approach... (intrepreters) instrument model co-evolution rules with instructions to rewrite code patterns in coded model intrepreters raphaël mannadiar challenges in domain-specific modeling 45/59
46 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 46/59
47 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details raphaël mannadiar challenges in domain-specific modeling 47/59
48 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations raphaël mannadiar challenges in domain-specific modeling 48/59
49 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations with xslt serialize models to xml and then transform xml using xslt awkward transformations due to tree-based nature of xml vs. graph based nature of models lacking expressiveness for complex transformations readability and scalability issues lacking means of error reporting raphaël mannadiar challenges in domain-specific modeling 49/59
50 specifying transformations with code transformations are imperative code programs complicates use of higher-order transformations intent of transformation may be lost in implementation details with rules rules contain a pattern, a guard and a body more modular and abstract than coded transformations with xslt serialize models to xml and then transform xml using xslt awkward transformations due to tree-based nature of xml vs. graph based nature of models lacking expressiveness for complex transformations readability and scalability issues lacking means of error reporting with pre-/post- conditions pre-conditions express conditions the host model must satisfy for the rule to be applicable post-conditions express conditions the host model must satisfy after the run has been applied declarative approach well suited for transformation bi-directionality power contingent on constraint solving facilities raphaël mannadiar challenges in domain-specific modeling 50/59
51 specifying transformations... with graph transformations rules rule-based approach left-hand side and right-hand side patterns (which use domain concepts) theoretically founded possible bi-directionality achievable via triple graph grammars raphaël mannadiar challenges in domain-specific modeling 51/59
52 executing rule-based transformations... default graph grammar semantics any applicable rule may run stop when no more rules are applicable lacking facilities for determinism and scheduling raphaël mannadiar challenges in domain-specific modeling 52/59
53 executing rule-based transformations... default graph grammar semantics any applicable rule may run stop when no more rules are applicable lacking facilities for determinism and scheduling structured approaches rule-based approaches become more powerful when control flow and scheduling mechanisms are added some tools offer conditions, loops, transactions and hierarchy these may be reflection-based or graphical raphaël mannadiar challenges in domain-specific modeling 53/59
54 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 54/59
55 weaving features together traditional approach 1 study the domain 2 extract domain concepts, associations and constraints 3 express these in an augmented class diagram raphaël mannadiar challenges in domain-specific modeling 55/59
56 weaving features together traditional approach 1 study the domain 2 extract domain concepts, associations and constraints 3 express these in an augmented class diagram possible future approach : feature weaving motivation: a new formalism where notions of state and transition exist may benefit from reusing parts or all of the statechart formalism idea: inspired from aspect-oriented development where modularly defined concerns are weaved together with core concerns to form complete systems 1 determine basic feature set for all dsls (e.g., state-based, continuous time) 2 select basic features of a dsl 3 compose them somehow to yield new dsl very modular approach axed on reusability synthesized dsls should remain bound to the features composing them allowing for automatic generation of certain artifacts (e.g., basic simulators) raphaël mannadiar challenges in domain-specific modeling 56/59
57 outline 1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 57/59
58 recap over the past decades, software development has naturally evolved towards dsm dsm improves productivity by reducing the conceptual gap between the requirements and the solution to replace traditional software development approaches, robust and scalable means to simulate, debug, difference, version, transform and co-evolve models are required dsl engineering may benefit from techniques from aspect-oriented development raphaël mannadiar challenges in domain-specific modeling 58/59
59 questions? thanks! raphaël mannadiar challenges in domain-specific modeling 59/59
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 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 informationModelling in Enterprise Architecture. MSc Business Information Systems
Modelling in Enterprise Architecture MSc Business Information Systems Models and Modelling Modelling Describing and Representing all relevant aspects of a domain in a defined language. Result of modelling
More informationSequence Diagram Generation with Model Transformation Technology
, March 12-14, 2014, Hong Kong Sequence Diagram Generation with Model Transformation Technology Photchana Sawprakhon, Yachai Limpiyakorn Abstract Creating Sequence diagrams with UML tools can be incomplete,
More informationDefining Domain-Specific Modeling Languages
Defining Domain-Specific Modeling Languages 1 st Oct 2008 Juha-Pekka Tolvanen MetaCase 1 Relevant language classifications to start with General-Purpose / Domain-Specific Narrow area of interest Often
More informationA conceptual framework for building good DSLs. Markus Voelter independent/itemis
DSL Design A conceptual framework for building good DSLs Markus Voelter independent/itemis voelter@acm.org www.voelter.de voelterblog.blogspot.de @markusvoelter +Markus Voelter based on material from a
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 informationRaising the Level of Development: Models, Architectures, Programs
IBM Software Group Raising the Level of Development: Models, Architectures, Programs Dr. James Rumbaugh IBM Distinguished Engineer Why Is Software Difficult? Business domain and computer have different
More informationScience of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach
Science of Computer Programming 75 (2010) 689 725 Contents lists available at ScienceDirect Science of Computer Programming journal homepage: www.elsevier.com/locate/scico Aspect-oriented model-driven
More informationSecond OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management
Second OMG Workshop on Web Services Modeling Easy Development of Scalable Web Services Based on Model-Driven Process Management 88 solutions Chief Technology Officer 2003 Outline! Introduction to Web Services!
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 informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
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 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 informationAn Introduction to MDE
An Introduction to MDE Alfonso Pierantonio Dipartimento di Informatica Università degli Studi dell Aquila alfonso@di.univaq.it. Outline 2 2» Introduction» What is a Model?» Model Driven Engineering Metamodeling
More informationApplying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages
Applying Model Driven Technologies in the Creation Model Driven Development Language Editor Generator Abstraction Model Driven Development Refinement of Domain Specific Modeling Languages Bruce Trask Angel
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 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 informationUSING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE
USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE Who is Flanders Make? A Flemish research institute whose mission is to strengthen the long-term international
More information3rd Lecture Languages for information modeling
3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture
More informationDescribing Computer Languages
Markus Scheidgen Describing Computer Languages Meta-languages to describe languages, and meta-tools to automatically create language tools Doctoral Thesis August 10, 2008 Humboldt-Universität zu Berlin
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 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 informationA little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best
Domain Specific Languages Markus Voelter Independent/itemis voelter@acm.org A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES
More informationApplying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems
Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems Andrey Nechypurenko 1, Egon Wuchner 1, Jules White 2, and Douglas C. Schmidt 2 1 Siemens AG, Corporate Technology
More informationVisual Layout of Graph-Like Models
Visual Layout of Graph-Like Models Tarek Sharbak MhdTarek.Sharbak@uantwerpen.be Abstract The modeling of complex software systems has been growing significantly in the last years, and it is proving to
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 informationCOMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou
COMP-421 Compiler Design Presented by Dr Ioanna Dionysiou Administrative! Next time reading assignment [ALSU07] Chapters 1,2 [ALSU07] Sections 1.1-1.5 (cover in class) [ALSU07] Section 1.6 (read on your
More informationThe Eclipse Modeling Framework and MDA Status and Opportunities
The Eclipse Modeling Framework and MDA Status and Opportunities David Frankel Consulting df@davidfrankelconsulting.com www.davidfrankelconsulting.com Portions adapted from the book Model Driven Architecture:
More 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 informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
More informationSUMMARY: MODEL DRIVEN SECURITY
SUMMARY: MODEL DRIVEN SECURITY JAN-FILIP ZAGALAK, JZAGALAK@STUDENT.ETHZ.CH Model Driven Security: From UML Models to Access Control Infrastructres David Basin, Juergen Doser, ETH Zuerich Torsten lodderstedt,
More informationINT NTION L. Domain Expert DSLs
INT NTION L S O F T W A R E E A Domain Expert DSLs Magnus Christerson Intentional Software Corporation Henk Kolk CTO Financial Services, Capgemini The Challenge Business to accelerate Collabora ation Business
More informationRefactoring Practice: How it is and How it Should be Supported
Refactoring Practice: How it is and How it Should be Supported Zhenchang Xing and EleniStroulia Presented by: Sultan Almaghthawi 1 Outline Main Idea Related Works/Literature Alignment Overview of the Case
More informationBLU AGE 2009 Edition Agile Model Transformation
BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation
More informationModel-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007
Model-Based Techniques in the Development of Net-Centric Applications June 20, 2007 Timothy A. Anderson Basil C. Krikeles BAE-Systems Advanced Information Technologies 6 New England Executive Park Burlington,
More informationMDA Driven xuml Plug-in for JAVA
2012 International Conference on Information and Network Technology (ICINT 2012) IPCSIT vol. 37 (2012) (2012) IACSIT Press, Singapore MDA Driven xuml Plug-in for JAVA A.M.Magar 1, S.S.Kulkarni 1, Pooja
More informationModel Driven Engineering (MDE) and Diagrammatic Predicate Logic (DPL)
Model Driven Engineering (MDE) and Department of Computer Engineering Faculty of Engineering Bergen University College NORWAY 06.06.2008 Institute of Mathematics and Informatics, Vilnius, LITHUANIA Project
More informationA UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE
A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE Andrei Kirshin, Dany Moshkovich, Alan Hartman IBM Haifa Research Lab Mount Carmel, Haifa 31905, Israel E-mail: {kirshin, mdany, hartman}@il.ibm.com
More informationFormal Verification for safety critical requirements From Unit-Test to HIL
Formal Verification for safety critical requirements From Unit-Test to HIL Markus Gros Director Product Sales Europe & North America BTC Embedded Systems AG Berlin, Germany markus.gros@btc-es.de Hans Jürgen
More informationModular Synthesis of Mobile Device Applications from Domain-Specific Models
Modular Synthesis of Mobile Device Applications from Domain-Specific Models Raphael Mannadiar, Hans Vangheluwe School of Computer Science McGill University rmanna@cs.mcgill.ca, hv@cs.mcgill.ca Abstract
More information1 Executive Overview The Benefits and Objectives of BPDM
1 Executive Overview The Benefits and Objectives of BPDM This is an excerpt from the Final Submission BPDM document posted to OMG members on November 13 th 2006. The full version of the specification will
More informationSoftware Reuse Techniques
DCC / ICEx / UFMG Software Reuse Techniques Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo Overview of Reuse Techniques Frameworks Design Patterns Configurable Applications Architecture Patterns
More informationReading part: Design-Space Exploration with Alloy
Reading part: Design-Space Exploration with Alloy Ing. Ken Vanherpen Abstract In the growing world of MDE many tools are offered to describe a (part of a) system, constrain it, and check some properties
More informationMetaprogrammable Toolkit for Model-Integrated Computing
Metaprogrammable Toolkit for Model-Integrated Computing Akos Ledeczi, Miklos Maroti, Gabor Karsai and Greg Nordstrom Institute for Software Integrated Systems Vanderbilt University Abstract Model-Integrated
More informationMDSE USE CASES. Chapter #3
Chapter #3 MDSE USE CASES Teaching material for the book Model-Driven Software Engineering in Practice by Morgan & Claypool, USA, 2012. www.mdse-book.com MDSE GOES FAR BEYOND CODE-GENERATION www.mdse-book.com
More informationPrinciples of Computer Game Design and Implementation. Lecture 3
Principles of Computer Game Design and Implementation Lecture 3 We already knew Introduction to this module History of video High-level information for a game (such as Game platform, player motivation,
More informationCompiler Design. Subject Code: 6CS63/06IS662. Part A UNIT 1. Chapter Introduction. 1.1 Language Processors
Compiler Design Subject Code: 6CS63/06IS662 Part A UNIT 1 Chapter 1 1. Introduction 1.1 Language Processors A compiler is a program that can read a program in one language (source language) and translate
More informationKlocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect
Klocwork Architecture Excavation Methodology Nikolai Mansurov Chief Scientist & Architect Overview! Introduction Production of software is evolutionary and involves multiple releases Evolution of existing
More informationLecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN
Lecture 9 VHDL, part IV Hierarchical and parameterized design Section 1 HIERARCHICAL DESIGN 2 1 Dealing with Large Digital System Design 1. Apply hierarchy to the design At the highest level use larger
More informationCompiling and Interpreting Programming. Overview of Compilers and Interpreters
Copyright R.A. van Engelen, FSU Department of Computer Science, 2000 Overview of Compilers and Interpreters Common compiler and interpreter configurations Virtual machines Integrated programming environments
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 informationUse of MS DSL Tools in the development process of a Domain-Specific Language
Use of MS DSL Tools in the development process of a Domain-Specific Language André Rosa 1, Vasco Amaral 1* and Bruno Barroca 1*, 1 Research Center for Informatics and Information Technologies, Faculdade
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 informationUsing UML To Define XML Document Types
Using UML To Define XML Document Types W. Eliot Kimber ISOGEN International, A DataChannel Company Created On: 10 Dec 1999 Last Revised: 14 Jan 2000 Defines a convention for the use of UML to define XML
More informationAUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK
AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK Wilfrid Lefer LIUPPA - Université de Pau B.P. 1155, 64013 Pau, France e-mail: wilfrid.lefer@univ-pau.fr ABSTRACT VTK (The Visualization Toolkit) has
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationCoding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!
Requirements Spec. Design Coding and Unit Testing Characteristics of System to be built must match required characteristics (high level) Architecture consistent views Software Engineering Computer Science
More informationWhite Paper on RFP II: Abstract Syntax Tree Meta-Model
White Paper on RFP II: Abstract Syntax Tree Meta-Model OMG Architecture Driven Modernization Task Force August 18, 2004 Contributors: Philip Newcomb, The Software Revolution, Inc. Ed Gentry, Blue Phoenix,
More informationIntroduction to Model Driven Engineering using Eclipse. Frameworks
Introduction to Model Driven Engineering using Eclipse Model Driven Development Generator s Bruce Trask Angel Roman MDE Systems Abstraction Model Driven Development Refinement 1 Part I Agenda What is Model
More information2 nd UML 2 Semantics Symposium: Formal Semantics for UML
2 nd UML 2 Semantics Symposium: Formal Semantics for UML Manfred Broy 1, Michelle L. Crane 2, Juergen Dingel 2, Alan Hartman 3, Bernhard Rumpe 4, and Bran Selic 5 1 Technische Universität München, Germany
More informationThe Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask
The Future of Software Radio MDD Tools Dom Paniscotti Bruce Trask Current Challenges facing SDR Development 1 Heterogeneous Processing Elements (GPP/DSP/FPGA) Achieving Portability Systematic Reuse - What
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 informationEnhancing Xtext for General Purpose Languages
Enhancing Xtext for General Purpose Languages Adolfo Sánchez-Barbudo Herrera Department of Computer Science, University of York, UK. asbh500@york.ac.uk Abstract. Xtext is a popular language workbench conceived
More informationModel-checking with the TimeLine formalism
Model-checking with the TimeLine formalism Andrea Zaccara University of Antwerp Andrea.Zaccara@student.uantwerpen.be Abstract A logical model checker can be an effective tool for verification of software
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 informationObject Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/
Executive Summary Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/2014-06-01 This guide describes the Model Driven Architecture (MDA) approach as defined by
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 informationDITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee
DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee Documents initiate and record business change. It is easy to map some business
More informationSmall is Beautiful Building a flexible software factory using small DSLs and Small Models
Small is Beautiful Building a flexible software factory using small DSLs and Small Models Jos Warmer Partner, Ordina jos.warmer@ordina.nl 1 Modeling Maturity Levels MML 0: No specification MML 1: Textual
More informationTesting! Prof. Leon Osterweil! CS 520/620! Spring 2013!
Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are
More informationQoS-aware model-driven SOA using SoaML
QoS-aware model-driven SOA using SoaML Niels Schot A thesis submitted for the degree of MSc Computer Science University of Twente EEMCS - TRESE: Software Engineering Group Examination committee: Luís Ferreira
More 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 informationScenario-based Synthesis of Annotated Class Diagrams in UML
Scenario-based Synthesis of Annotated Class Diagrams in UML Petri Selonen and Tarja Systä Tampere University of Technology, Software Systems Laboratory, P.O.Box 553, FIN-33101 Tampere, Finland {pselonen,tsysta}@cs.tut.fi
More informationE-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) CEN/ISSS/WS-EC/ECIMF. Draft, version 0.2 July 11, 2001
1 1 1 1 1 0 30 3 3 3 E-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) 1. The methodology CEN/ISSS/WS-EC/ECIMF Draft, version 0. July 11, 001 The proposed methodology for analysis and
More informationADT: Eclipse development tools for ATL
ADT: Eclipse development tools for ATL Freddy Allilaire (freddy.allilaire@laposte.net) Tarik Idrissi (tarik.idrissi@laposte.net) Université de Nantes Faculté de Sciences et Techniques LINA (Laboratoire
More informationASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)
ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper) Joseph Bugajski Visa International JBugajsk@visa.com Philippe De Smedt Visa
More informationTransforming UML Collaborating Statecharts for Verification and Simulation
Transforming UML Collaborating Statecharts for Verification and Simulation Patrick O. Bobbie, Yiming Ji, and Lusheng Liang School of Computing and Software Engineering Southern Polytechnic State University
More informationCapturing and Formalizing SAF Availability Management Framework Configuration Requirements
Capturing and Formalizing SAF Availability Management Framework Configuration Requirements A. Gherbi, P. Salehi, F. Khendek and A. Hamou-Lhadj Electrical and Computer Engineering, Concordia University,
More informationDottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005
Dottorato di Ricerca in Informatica Università di Bologna e Padova Whole Platform Riccardo Solmi March 2005 Coordinatore: Prof. Özalp Babaoğlu Tutore: Prof. Andrea Asperti To my mother and my grandmother
More informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
More informationDresden OCL2 in MOFLON
Dresden OCL2 in MOFLON 10 Jahre Dresden-OCL Workshop Felix Klar Felix.Klar@es.tu-darmstadt.de ES Real-Time Systems Lab Prof. Dr. rer. nat. Andy Schürr Dept. of Electrical Engineering and Information Technology
More informationModel Driven Architecture and Rhapsody
Model Driven Architecture and Rhapsody Dr. Bruce Powel Douglass Chief Evangelist Telelogic Model Driven Architecture and Rhapsody Abstract MDA, short for Model Driven Architecture, is a unification by
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 informationRequirements Modelling and Software Systems Implementation Using Formal Languages
Requirements Modelling and Software Systems Implementation Using Formal Languages Radek Kočí Brno University of Technology, Faculty of Information Technology Czech Republic koci@fit.vutbr.cz ICSEA 2018,
More informationAlgebraic Semantics of EMOF/OCL Metamodels
Algebraic Semantics of EMOF/OCL Metamodels Artur Boronat and José Meseguer Department of Information Systems and Computation, Technical University of Valencia. Department of Computer Science, University
More informationEXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS
EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS Sahar Guermazi*, Jérémie Tatibouet*, Arnaud Cuccuru*, Ed Seidewitz +, Saadia Dhouib*, Sébastien Gérard* * CEA LIST - LISE lab +
More informationSemantics-Based Integration of Embedded Systems Models
Semantics-Based Integration of Embedded Systems Models Project András Balogh, OptixWare Research & Development Ltd. n 100021 Outline Embedded systems overview Overview of the GENESYS-INDEXYS approach Current
More informationUtilizing a Common Language as a Generative Software Reuse Tool
Utilizing a Common Language as a Generative Software Reuse Tool Chris Henry and Stanislaw Jarzabek Department of Computer Science School of Computing, National University of Singapore 3 Science Drive,
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 informationModels versus Ontologies - What's the Difference and where does it Matter?
Models versus Ontologies - What's the Difference and where does it Matter? Colin Atkinson University of Mannheim Presentation for University of Birmingham April 19th 2007 1 Brief History Ontologies originated
More informationModule Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation
Module Outline Fundamentals of Object Positioning Object Oriented Analysis Fundamentals of Object 1. Encapsulation 2. Abstraction 3. Inheritance 4. Polymorphism The need of Modeling Unified modeling language
More informationIBM Rational Software Architect
Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for
More informationPractical Model-Driven Development with the IBM Software Development Platform
IBM Software Group Practical Model-Driven Development with the IBM Software Development Platform Osmond Ng (ong@hk1.ibm.com) Technical Consultant, IBM HK SWG 2005 IBM Corporation Overview The Challenges
More informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
More informationCOP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher
COP4020 ming Languages Compilers and Interpreters Robert van Engelen & Chris Lacher Overview Common compiler and interpreter configurations Virtual machines Integrated development environments Compiler
More informationProgram Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.
Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008. Outline. Abstractions for telling a computer how to do things. Computational Paradigms. Language Definition, Translation.
More informationSysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd
SysML Past, Present, and Future J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd A Specification Produced by the OMG Process SysML 1.0 SysML 1.1 Etc. RFI optional Issued by Task Forces RFI responses
More informationIntroduction to Software Engineering 10. Software Architecture
Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >
More informationProgramming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102
Programming Languages and Program Development Life Cycle Fall 2016 Introduction to Information and Communication Technologies CSD 102 Outline The most common approaches to program design and development
More information