Title: Framework for Domain-Specific Visual Languages
1Framework for Domain-Specific Visual Languages
- http//www.cis.uab.edu/info/OOPSLA-DSVL2/
- Juha-Pekka Tolvanen, Jeff Gray, Matti Rossi
2Modelling in domain terms vs. modelling your code
DomainIdea
FinishedProduct
Solve problem in domain terms
3Converging research areas
- Methods, CASE, metaCASE
- 50 use no method, 25 standard method, 25
customised - Visual Programming Languages
- Domain-specific approaches
- Textual DSL, Visual DSVL
- Product family engineering
- Code generation
- Generative template programming
- Models to code mostly structural, behaviour from
state charts - Components/patterns
- Raise level of abstraction
- Reuse by reference, not copy and paste
- Pattern languages
4Main benefits of DSVLs
- Fundamental productivity improvements (3-10
times) - Shorter intervals Fast
- Lower costs Cheap
- Better quality Good
- Faster change responsiveness
- Manage changes in domain instead of code
- Allows developers to design products with domain
terms - Apply familiar terminology
- Solve the RIGHT problems!
- Solve problems only ONCE!
- Leverage expertise inside the team
- Put the experts knowledge in a tool
- Hide domain complexity (DSVL includes domain
rules)
5DSL Case Study USAF
- Development of message translation and validation
system (MTV) - Declarative domain-specific language
- code generators and customisation of components
- Compared DSL against component-based development
- DSL is 3 times faster than code components
- DSL leads to fewer errors about 50 less
- DSL gives superior flexibility in handling a
greater range of specifications than components
Kieburtz et al., A Software Engineering
Experiment in Software Component Generation,
ICSE, 1996
6DSVL Case Study Lucent
- 5ESS Phone Switch and several DS(V)Ls
- Reported productivity improvements of about 3-10
times - From several cases
- From several DSLs
- DSVLs out-performed DSLs
- Shorter intervals between product releases
- Improved consistency across product variants
- DSL should be used always if more than 3
variants
D. Weiss et al, Software Product-Line
Engineering, Addison-Wesley, 1999
7DSVL Case Study Nokia
- DSVL and related code generators for mobile
phone - Order of magnitude productivity gains (10x)
- "A module that was expected to take 2 weeks...
took 1 day from the start of the design to the
finished product" - Focus on designs rather than code
- Domain-oriented method allows developers to
concentrate on the required functionality - Training time was reduced significantly
- Earlier it took 6 months for a new worker to
become productive. Now it takes 2 weeks
MetaCase, Nokia case study, 1999
8How to implement a DSVL
DomainIdea
FinishedProduct
Easy!
Generate callsto components
DSVLModel
Normal (many)
Components
9Apply in software production
- Develop applications using the DSVL
infrastructure - Continuously evolve your DSVL
- Domain platforms evolve
10Further information www.metacase.com/dsm.html
- Experience reports
- Honeywell
- NASA
- Nokia
- Pecunet
- LexiFi
- DuPont
- Lucent
- USAF
- Related events
- OOPSLA01 Workshop on Domain-Specific Visual
Languages - HCC IEEE Symposium on Human-Centric Computing
Languages and Environments - GT-VMT '02 International Workshop on Graph
Transformation and Visual Modeling Techniques - ECOOP00 Workshop on Model Engineering
11Thank you!
Questions or comments?
MetaCase Consulting Ylistönmäentie 31 FIN - 40500
Jyväskylä, Finland Phone 358 14 4451 400, Fax
358 14 4451 405 email jpt_at_metacase.com
http//www.metacase.com