challenges in domain-specific modeling rapha el mannadiar august - - PowerPoint PPT Presentation

challenges in domain specific modeling rapha el mannadiar
SMART_READER_LITE
LIVE PREVIEW

challenges in domain-specific modeling rapha el mannadiar august - - PowerPoint PPT Presentation

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion challenges in domain-specific modeling rapha el mannadiar august 27, 2009 rapha el mannadiar challenges in


slide-1
SLIDE 1

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

challenges in domain-specific modeling rapha¨ el mannadiar august 27, 2009

rapha¨ el mannadiar challenges in domain-specific modeling 1/59

slide-2
SLIDE 2

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 2/59

slide-3
SLIDE 3

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 3/59

slide-4
SLIDE 4

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 4/59

slide-5
SLIDE 5

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 5/59

slide-6
SLIDE 6

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 6/59

slide-7
SLIDE 7

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

modeling concepts

why model? models are cheaper, safer and quicker to build, reason about, test and modify than the systems they represent

rapha¨ el mannadiar challenges in domain-specific modeling 7/59

slide-8
SLIDE 8

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 8/59

slide-9
SLIDE 9

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

rapha¨ el mannadiar challenges in domain-specific modeling 9/59

slide-10
SLIDE 10

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 10/59

slide-11
SLIDE 11

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 11/59

slide-12
SLIDE 12

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 12/59

slide-13
SLIDE 13

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

dsm challenges

the “coding community” has mature tools that facilitate editing debugging differencing versioning

  • f text-based artifacts (e.g., code, xml)

rapha¨ el mannadiar challenges in domain-specific modeling 13/59

slide-14
SLIDE 14

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

dsm challenges

the “coding community” has mature tools that facilitate editing debugging differencing versioning

  • f text-based artifacts (e.g., code, xml)

how can the these activities and their underlying principles be generalized to dsm?

rapha¨ el mannadiar challenges in domain-specific modeling 14/59

slide-15
SLIDE 15

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 15/59

slide-16
SLIDE 16

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 16/59

slide-17
SLIDE 17

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 17/59

slide-18
SLIDE 18

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 18/59

slide-19
SLIDE 19

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 19/59

slide-20
SLIDE 20

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 20/59

slide-21
SLIDE 21

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 21/59

slide-22
SLIDE 22

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

  • ne generic tool used as a modeling environment for any metamodel

rapha¨ el mannadiar challenges in domain-specific modeling 22/59

slide-23
SLIDE 23

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

  • ne 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¨ el mannadiar challenges in domain-specific modeling 23/59

slide-24
SLIDE 24

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 24/59

slide-25
SLIDE 25

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

simulation

premise simulating a model empowers the modeler to test and reason about its behavior

rapha¨ el mannadiar challenges in domain-specific modeling 25/59

slide-26
SLIDE 26

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 26/59

slide-27
SLIDE 27

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 27/59

slide-28
SLIDE 28

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 28/59

slide-29
SLIDE 29

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 29/59

slide-30
SLIDE 30

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 30/59

slide-31
SLIDE 31

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 31/59

slide-32
SLIDE 32

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 32/59

slide-33
SLIDE 33

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 33/59

slide-34
SLIDE 34

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 34/59

slide-35
SLIDE 35

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

representing differences

premise given a difference ∆ between two models, how can it be represented?

rapha¨ el mannadiar challenges in domain-specific modeling 35/59

slide-36
SLIDE 36

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 36/59

slide-37
SLIDE 37

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

  • verlay 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¨ el mannadiar challenges in domain-specific modeling 37/59

slide-38
SLIDE 38

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

  • verlay 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¨ el mannadiar challenges in domain-specific modeling 38/59

slide-39
SLIDE 39

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 39/59

slide-40
SLIDE 40

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 40/59

slide-41
SLIDE 41

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 41/59

slide-42
SLIDE 42

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 42/59

slide-43
SLIDE 43

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

model and model intrepreter co-evolution

traditional approach : do it yourself manually co-evolve models and model intrepreters as metamodels evolve

rapha¨ el mannadiar challenges in domain-specific modeling 43/59

slide-44
SLIDE 44

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 44/59

slide-45
SLIDE 45

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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

  • nly current approach... (intrepreters)

instrument model co-evolution rules with instructions to rewrite code patterns in coded model intrepreters

rapha¨ el mannadiar challenges in domain-specific modeling 45/59

slide-46
SLIDE 46

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 46/59

slide-47
SLIDE 47

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 47/59

slide-48
SLIDE 48

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 48/59

slide-49
SLIDE 49

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 49/59

slide-50
SLIDE 50

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 50/59

slide-51
SLIDE 51

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 51/59

slide-52
SLIDE 52

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 52/59

slide-53
SLIDE 53

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 53/59

slide-54
SLIDE 54

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 54/59

slide-55
SLIDE 55

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 55/59

slide-56
SLIDE 56

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

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¨ el mannadiar challenges in domain-specific modeling 56/59

slide-57
SLIDE 57

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

  • utline

1 introduction 2 approaches 3 debugging and simulation 4 differencing 5 evolution 6 (transformations) 7 (dsl engineering) 8 conclusion

rapha¨ el mannadiar challenges in domain-specific modeling 57/59

slide-58
SLIDE 58

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

recap

  • ver 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¨ el mannadiar challenges in domain-specific modeling 58/59

slide-59
SLIDE 59

introduction approaches debugging and simulation differencing evolution (transformations) (dsl engineering) conclusion

questions?

thanks!

rapha¨ el mannadiar challenges in domain-specific modeling 59/59