© fraunhofer first timo wegeler towards quality assurance of dsl engineering vino 2011 19.juli.2011
TRANSCRIPT
© Fraunhofer FIRST
Timo Wegeler
Towards Quality Assurance of DSL Engineering
Vino 2011 19.Juli.2011
© Fraunhofer FIRST
Seite 2
Problem statement
Custom software development requires domain expert‘s knowledge– To communicate requirements– To provide domain characteristics– To define possible test cases
Models or languages are useless if domain experts are unable to use them– Being overwhelmed by too much abstraction in syntax and
semantics
How to identify bad modeling
DSL tools are available, but systematic DSL engineering method is not
© Fraunhofer FIRST
Seite 3
Vision
Provide quality assurance of DSL engineering– Engineering process impelled by domain‘ s characteristics and
domain expert‘s expertise· Strong influence on DSL design
– Enable construction of high-quality DSLs· determine quality criteria
Better formalization of requirements using DSLs– Involve domain experts– Use DSLs for generation and testing
Better software and verification
© Fraunhofer FIRST
Seite 4
BIZWARE Project
Fraunhofer FIRSTTU Berlin, DIMAadesso AGakquinet tech@spree GmbHCedavis Technology GmbHClinPath GmbHFMK GmbHKlopotek & Partner GmbHModel Labs GmbHPI Informatik GmbH
BIZWARE
© Fraunhofer FIRST
Seite 5
BIZWARE Goals
Ease the development of DSLs– Support a complete DSL engineering and
lifecycle process
Enable domain experts to be involved in the software development process
Generate
Test
Business growth for partners– Enter new markets
BIZWARE
© Fraunhofer FIRST
Seite 6
Proposed solution and contributions
Identify requirements for a framework for a complete DSL engineering and lifecycle process.– How to support evolution– Support rapid prototyping– Supervise a domain expert‘s usage of a DSL prototype during
development (framework‘s tracking and assessment components)· Identify preferences and develop an individual metric· Embrace learning effects
– Provide a description of the engineering process
© Fraunhofer FIRST
Seite 7
Results so far
Literature ReviewPartner contacts forged; analysis of their DSL development goalsSome requirements for Assessment, Tracking, Repository components
© Fraunhofer FIRST
Seite 8
Ongoing and future Work
Analysis of backgrounds and motivation for DSL developments of the different partners– Currenty 8 different domains, but security-related ones wanted!
Development of a metric to measure a domain expert‘s cognitive load
Define a process to identify a domain expert‘s modeling preferences
Analyze DSL developments
Use students to do modeling experiments
© Fraunhofer FIRST
Seite 9
Quality assurance
„Rapid DSL Prototyping“– Involve domain expert and dsl engineer
DSL Testing
DSL Debugging
Multi Modeling
© Fraunhofer FIRST
Seite 10
DSL Quality
What makes a good DSL?
Save seconds for model checking?
Help find bugs?
Design effort, cost?
© Fraunhofer FIRST
Seite 11
Far from finished
But end of talk.
Questions? Comments? Suggestions? Welcome!
Thank you.
© Fraunhofer FIRST
Seite 12
How to validate a DSL development
Is the Problem suitable for a DSL development?
When is it beneficial to develop a DSL
Identify qualitative criteria– Quantitative?
Define a process for DSL engineering
Shorten the gap between requirements and formalization Apply to the built system– Identify good test cases