DSL-maps
FROM REQUIREMENTS TO
DESIGN OF DOMAIN
SPECIFIC LANGUAGES
ASE’2016, Singapore
Ana Pescador, Juan de Lara
Modelling&Software Engineering Research Group
http://miso.es @miso_uam
Model-Driven Engineering (MDE)
MOTIVATION (I)
2
Model-centric development
process
• Increase the abstraction level
in software development
Domain-specific languages
(DSLs)
• Targeted to specific domains
Developing DSLs is recurrent in MDE
DSLs designed through a meta-model
• Abstract syntax
Concrete syntax
• Graphical or textual
MOTIVATION (II)
3
State
name: String
init: bool
final: bool
Transition
event: String[0..1]
src
tar
talking answering
finish
questionstartTalk
end
Talk
timeOut
Many meta-modelling tools and
language workbenches
MOTIVATION (III)
4
MetaEdit+
Eugenia
• Entry point is a meta-model
• Already a design!
Requirements representation often
neglected by these tools
Support for requirements
representation for DSLs
Transition to design
1. DSL-maps
2. Transition to design
3. Tool support and evaluation
4. Conclusions and future work
OUTLINE
5
A graphical, flexible notation inspired by mind-maps
Automated transformation to a meta-model
Profit from a library of meta-modelling patterns
Eclipse plugin
Preliminary evaluation with 7 engineers
Notation inspired by
mind-maps
Ideas and subideas
• Hierarchical organization
• Radial axes
Lightweight notation for reqs in agile processes
• User whish lists
DSL-maps
6
Colours for different branches (DSL concerns)
Hierarchical edges can be labelled
Relations between ideas
Key-value pairs for ideas
7
DSL-maps
TRANSITION TO
DESIGN
Assisted synthesis of an initial meta-model draft
Repository of meta-modelling patterns
• State machine
• Workflow
• Components
• …
8
behaviour
semantics
Statechart
structure
module
architecture
component
pattern
dynamic
execution
Statemachine
pattern
Legend:
pattern-conceptgeneralpatternconcept
…
Patterns annotated
with lightweight
ontology
TRANSITION TO
DESIGN
Pattern recommendation based on lightweight NL analysis of
the DSL-map
9
Structure
1.1
Components
1.1.1
Connectors
1.1.2
Ports
1.1.1.1
connect
Component Portports
*
InPort OutPort
Connector
inout
*
*
Components pattern (shallow)
…
SYNTHESIZING AN
INITIAL META-MODEL
10
A (customizable) transformation produces an inital version of
the meta-model
Organization
1.3
Subsystems
1.3.1
Control
Subsystems
1.3.1.1
Organization
subsystems 1..*
can be
Subsystem
Control
Subsystem
• Ideas to classes
• Composition or inheritance
between ideas and sub-ideas
• Bidirectional or unidirectional
references, cardinalities
• Relations to references
• Key-value pairs to attributes
• Pattern recommendations are
inserted in the meta-model
TOOL SUPPORT
11
http://miso.es/tools/DSLtao.html
TOOL SUPPORT
12
http://miso.es/tools/DSLtao.html
TOOL SUPPORT
13
TOOL SUPPORT
14
http://miso.es/tools/DSLtao.html
TOOL SUPPORT
15
http://miso.es/tools/DSLtao.html
TOOL SUPPORT
16
18 classes
1 enumeration type
6 inheritance relations
2 patterns included (state
machine, components)
http://miso.es/tools/DSLtao.html
PRELIMINARY
EVALUATION
7 engineers
• Median experience of 3-6 years in MDE
High understandability of a DSL-map (4.15 out of 5)
• Confirmed by 3 questions (20 correct/1 incorrect)
Build a meta-model out of the DSL-map
• Generally correct, but most with some quality issue
Generated meta-model with pattern assistant
• Regarded as very complete (4.3/5) and useful (4/5)
17
CONCLUSIONS
Building DSLs is recurrent in MDE
Current tools neglect requirements
DSL-maps
• A notation for flexible requirements gathering
• Automated transition to a design meta-model
• Initial tool support (http://miso.es/tools/DSLtao.html)
18
CONCLUSIONS AND
FUTURE WORK
Building DSLs is recurrent in MDE
Current tools neglect requirements
DSL-maps
• A notation for flexible requirements gathering
• Automated transition to a design meta-model
• Initial tool support (http://miso.es/tools/DSLtao.html)
Traceability between DSL-map and meta-model
Generate meta-model packages from ideas
Interoperability with mind-map tools
19
THANKS!
Juan.deLara@uam.es
20
http://www.miso.es
@miso_uam

DSL-maps

  • 1.
    DSL-maps FROM REQUIREMENTS TO DESIGNOF DOMAIN SPECIFIC LANGUAGES ASE’2016, Singapore Ana Pescador, Juan de Lara Modelling&Software Engineering Research Group http://miso.es @miso_uam
  • 2.
    Model-Driven Engineering (MDE) MOTIVATION(I) 2 Model-centric development process • Increase the abstraction level in software development Domain-specific languages (DSLs) • Targeted to specific domains
  • 3.
    Developing DSLs isrecurrent in MDE DSLs designed through a meta-model • Abstract syntax Concrete syntax • Graphical or textual MOTIVATION (II) 3 State name: String init: bool final: bool Transition event: String[0..1] src tar talking answering finish questionstartTalk end Talk timeOut
  • 4.
    Many meta-modelling toolsand language workbenches MOTIVATION (III) 4 MetaEdit+ Eugenia • Entry point is a meta-model • Already a design! Requirements representation often neglected by these tools Support for requirements representation for DSLs Transition to design
  • 5.
    1. DSL-maps 2. Transitionto design 3. Tool support and evaluation 4. Conclusions and future work OUTLINE 5 A graphical, flexible notation inspired by mind-maps Automated transformation to a meta-model Profit from a library of meta-modelling patterns Eclipse plugin Preliminary evaluation with 7 engineers
  • 6.
    Notation inspired by mind-maps Ideasand subideas • Hierarchical organization • Radial axes Lightweight notation for reqs in agile processes • User whish lists DSL-maps 6
  • 7.
    Colours for differentbranches (DSL concerns) Hierarchical edges can be labelled Relations between ideas Key-value pairs for ideas 7 DSL-maps
  • 8.
    TRANSITION TO DESIGN Assisted synthesisof an initial meta-model draft Repository of meta-modelling patterns • State machine • Workflow • Components • … 8 behaviour semantics Statechart structure module architecture component pattern dynamic execution Statemachine pattern Legend: pattern-conceptgeneralpatternconcept … Patterns annotated with lightweight ontology
  • 9.
    TRANSITION TO DESIGN Pattern recommendationbased on lightweight NL analysis of the DSL-map 9 Structure 1.1 Components 1.1.1 Connectors 1.1.2 Ports 1.1.1.1 connect Component Portports * InPort OutPort Connector inout * * Components pattern (shallow) …
  • 10.
    SYNTHESIZING AN INITIAL META-MODEL 10 A(customizable) transformation produces an inital version of the meta-model Organization 1.3 Subsystems 1.3.1 Control Subsystems 1.3.1.1 Organization subsystems 1..* can be Subsystem Control Subsystem • Ideas to classes • Composition or inheritance between ideas and sub-ideas • Bidirectional or unidirectional references, cardinalities • Relations to references • Key-value pairs to attributes • Pattern recommendations are inserted in the meta-model
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
    TOOL SUPPORT 16 18 classes 1enumeration type 6 inheritance relations 2 patterns included (state machine, components) http://miso.es/tools/DSLtao.html
  • 17.
    PRELIMINARY EVALUATION 7 engineers • Medianexperience of 3-6 years in MDE High understandability of a DSL-map (4.15 out of 5) • Confirmed by 3 questions (20 correct/1 incorrect) Build a meta-model out of the DSL-map • Generally correct, but most with some quality issue Generated meta-model with pattern assistant • Regarded as very complete (4.3/5) and useful (4/5) 17
  • 18.
    CONCLUSIONS Building DSLs isrecurrent in MDE Current tools neglect requirements DSL-maps • A notation for flexible requirements gathering • Automated transition to a design meta-model • Initial tool support (http://miso.es/tools/DSLtao.html) 18
  • 19.
    CONCLUSIONS AND FUTURE WORK BuildingDSLs is recurrent in MDE Current tools neglect requirements DSL-maps • A notation for flexible requirements gathering • Automated transition to a design meta-model • Initial tool support (http://miso.es/tools/DSLtao.html) Traceability between DSL-map and meta-model Generate meta-model packages from ideas Interoperability with mind-map tools 19
  • 20.