Presentation is loading. Please wait.

Presentation is loading. Please wait.

OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.

Similar presentations


Presentation on theme: "OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen."— Presentation transcript:

1 OOPSLA workshop on Domain-Specific Visual Languages 1 http://www.isis.vanderbilt.edu/oopsla2k1/ Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen Framework for Domain-Specific Visual Languages

2 OOPSLA workshop on Domain-Specific Visual Languages 2 Domain Idea Finished Product Solve problem in domain terms Assembler Map to code, implement UML Model Map to UML Generate, Add bodies Components DSVL Model Generate calls to components No map! Code Map to code, implement Modelling in domain terms vs. modelling your code

3 OOPSLA workshop on Domain-Specific Visual Languages 3 Converging 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 –Raise level of abstraction –Reuse by reference, not copy and paste

4 OOPSLA workshop on Domain-Specific Visual Languages 4 Main 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 expert’s knowledge in a tool –“Hide” domain complexity (DSVL includes domain rules)

5 OOPSLA workshop on Domain-Specific Visual Languages 5 DSL 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

6 OOPSLA workshop on Domain-Specific Visual Languages 6 DSVL 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

7 OOPSLA workshop on Domain-Specific Visual Languages 7 DSVL 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

8 OOPSLA workshop on Domain-Specific Visual Languages 8 Domain Idea Finished Product Components DSVL Model Generate calls to components Easy! Expert (few) Normal (many) Done a few times before! Code generation DSVL metamodel Component library How to implement a DSVL

9 OOPSLA workshop on Domain-Specific Visual Languages 9 Concepts Symbols Generators Rules 12 3 4 Steps for implementing a DSVL

10 OOPSLA workshop on Domain-Specific Visual Languages 10 1. Design domain concepts Map modeling concepts accurately to domain concepts Concentrate on semantics! Add extensions for software production later Reflect to output (e.g. generated code)

11 OOPSLA workshop on Domain-Specific Visual Languages 11 2. Define domain rules Define semantics and rules as they exist in the domain Examples of rule types: –Bindings between concepts –Layering abstractions –Reusing rules –etc.

12 OOPSLA workshop on Domain-Specific Visual Languages 12 3. Draw symbols (notation) Define symbols illustrating as well as possible the corresponding domain concepts’ natural ”visualization” –e.g end-users’ notation, customers’ notation

13 OOPSLA workshop on Domain-Specific Visual Languages 13 4. Implement generators Cost of developing generators defrayed over a few users Generate code – and more! –Component use– Configuration data –Code generation– Testing and analysis –Automated build– Reports that make reports –Documentation– Review

14 OOPSLA workshop on Domain-Specific Visual Languages 14 Apply in software production Develop applications using the DSVL infrastructure Continuously evolve your DSVL –Domain & platforms evolve

15 OOPSLA workshop on Domain-Specific Visual Languages 15 Further information: www.metacase.com/dsm.html Experience reports: –Honeywell –NASA –Nokia –Pecunet –DuPont –Lucent –USAF Related events: –OOPSLA’01: Workshop on Domain-Specific Visual Languages –HCC’01: IEEE Symposium on Human-Centric Computing Languages and Environments –ECOOP’00: Workshop on Model Engineering

16 OOPSLA workshop on Domain-Specific Visual Languages 16 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|stevek@metacase.com http://www.metacase.com Thank you!


Download ppt "OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen."

Similar presentations


Ads by Google