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

Similar documents
Model Driven Engineering (MDE)

Whole Platform Foundation. The Long Way Toward Language Oriented Programming

Modelling in Enterprise Architecture. MSc Business Information Systems

Sequence Diagram Generation with Model Transformation Technology

Defining Domain-Specific Modeling Languages

A conceptual framework for building good DSLs. Markus Voelter independent/itemis

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

Raising the Level of Development: Models, Architectures, Programs

Science of Computer Programming. Aspect-oriented model-driven skeleton code generation: A graph-based transformation approach

Second OMG Workshop on Web Services Modeling. Easy Development of Scalable Web Services Based on Model-Driven Process Management

Software Architecture

Software Language Engineering of Architectural Viewpoints

Language engineering and Domain Specific Languages

Metamodeling with Metamodels. Using. UML/MOF including OCL

An Introduction to MDE

Applying Model Driven Technologies in the Creation. of Domain Specific Modeling Languages

Compositional Model Based Software Development

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

USING PAPYRUS IN A DESIGN SPACE EXPLORATION TOOLCHAIN CURRENT DEVELOPMENTS AT FLANDERS MAKE

3rd Lecture Languages for information modeling

Describing Computer Languages

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

Model driven Engineering & Model driven Architecture

A little History Domain Specific Languages Examples Tools Benefits A more theoretical View Programming and Modeling The LWES Project Bonus: Best

Applying Model Intelligence Frameworks for Deployment Problem in Real-Time and Embedded Systems

Visual Layout of Graph-Like Models

Introduction to Dependable Systems: Meta-modeling and modeldriven

COMP-421 Compiler Design. Presented by Dr Ioanna Dionysiou

The Eclipse Modeling Framework and MDA Status and Opportunities

Introduction to MDE and Model Transformation

Presenter: Dong hyun Park

SUMMARY: MODEL DRIVEN SECURITY

INT NTION L. Domain Expert DSLs

Refactoring Practice: How it is and How it Should be Supported

BLU AGE 2009 Edition Agile Model Transformation

Model-Based Techniques in the Development of Net-Centric Applications. Timothy A. Anderson Basil C. Krikeles. June 20, 2007

MDA Driven xuml Plug-in for JAVA

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

A UML SIMULATOR BASED ON A GENERIC MODEL EXECUTION ENGINE

Formal Verification for safety critical requirements From Unit-Test to HIL

Modular Synthesis of Mobile Device Applications from Domain-Specific Models

1 Executive Overview The Benefits and Objectives of BPDM

Software Reuse Techniques

Reading part: Design-Space Exploration with Alloy

Metaprogrammable Toolkit for Model-Integrated Computing

MDSE USE CASES. Chapter #3

Principles of Computer Game Design and Implementation. Lecture 3

Compiler Design. Subject Code: 6CS63/06IS662. Part A UNIT 1. Chapter Introduction. 1.1 Language Processors

Klocwork Architecture Excavation Methodology. Nikolai Mansurov Chief Scientist & Architect

Lecture 9. VHDL, part IV. Hierarchical and parameterized design. Section 1 HIERARCHICAL DESIGN

Compiling and Interpreting Programming. Overview of Compilers and Interpreters

Minsoo Ryu. College of Information and Communications Hanyang University.

Use of MS DSL Tools in the development process of a Domain-Specific Language

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

Using UML To Define XML Document Types

AUTOMATIC GRAPHIC USER INTERFACE GENERATION FOR VTK

Software Architectures

Coding and Unit Testing! The Coding Phase! Coding vs. Code! Coding! Overall Coding Language Trends!

White Paper on RFP II: Abstract Syntax Tree Meta-Model

Introduction to Model Driven Engineering using Eclipse. Frameworks

2 nd UML 2 Semantics Symposium: Formal Semantics for UML

The Future of Software Radio MDD Tools. Dom Paniscotti Bruce Trask

ATL: Atlas Transformation Language. ATL User Manual

Enhancing Xtext for General Purpose Languages

Model-checking with the TimeLine formalism

Overview of lectures today and Wednesday

Object Management Group Model Driven Architecture (MDA) MDA Guide rev. 2.0 OMG Document ormsc/

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

DITA for Enterprise Business Documents Sub-committee Proposal Background Why an Enterprise Business Documents Sub committee

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

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

QoS-aware model-driven SOA using SoaML

Automation of Semantic Web based Digital Library using Unified Modeling Language Minal Bhise 1 1

Scenario-based Synthesis of Annotated Class Diagrams in UML

E-Commerce Integration Meta-Framework General Methodology (ECIMF-GM) CEN/ISSS/WS-EC/ECIMF. Draft, version 0.2 July 11, 2001

ADT: Eclipse development tools for ATL

ASSURING DATA INTEROPERABILITY THROUGH THE USE OF FORMAL MODELS OF VISA PAYMENT MESSAGES (Category: Practice-Oriented Paper)

Transforming UML Collaborating Statecharts for Verification and Simulation

Capturing and Formalizing SAF Availability Management Framework Configuration Requirements

Dottorato di Ricerca in Informatica. Università di Bologna e Padova. Whole Platform. Riccardo Solmi. March 2005

Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?

Dresden OCL2 in MOFLON

Model Driven Architecture and Rhapsody

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

Requirements Modelling and Software Systems Implementation Using Formal Languages

Algebraic Semantics of EMOF/OCL Metamodels

EXECUTABLE MODELING WITH FUML AND ALF IN PAPYRUS: TOOLING AND EXPERIMENTS

Semantics-Based Integration of Embedded Systems Models

Utilizing a Common Language as a Generative Software Reuse Tool

Combination of Domain-Specific Languages

Models versus Ontologies - What's the Difference and where does it Matter?

Module Outline. What is Object-Oriented? Some Possible Definitions. Why Object-oriented? Fundamentals of Object Orientation

IBM Rational Software Architect

Practical Model-Driven Development with the IBM Software Development Platform

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

COP4020 Programming Languages. Compilers and Interpreters Robert van Engelen & Chris Lacher

Program Abstractions, Language Paradigms. CS152. Chris Pollett. Aug. 27, 2008.

SysML Past, Present, and Future. J.D. Baker Sparx Systems Ambassador Sparx Systems Pty Ltd

Introduction to Software Engineering 10. Software Architecture

Programming Languages and Program Development Life Cycle Fall Introduction to Information and Communication Technologies CSD 102

Transcription:

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 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion raphaël mannadiar challenges in domain-specific modeling 2/59

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

representing differences premise given a difference between two models, how can it be represented? raphaël mannadiar challenges in domain-specific modeling 35/59

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

questions? thanks! raphaël mannadiar challenges in domain-specific modeling 59/59