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

Slides:



Advertisements
Similar presentations
Comparison of Several Meta-modeling Tools Yi Lu Computer Science Department McGill University
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Toward The Next [ Next [ Next … ] ] Generation of Meta-Modeling Tools Eric Engstrom David Oglesby.
SERL - Software Engineering Research Labslide1 Frameworks and Hooks by Garry Froehlich Paul Sorenson SERL (Software Engineering Research Lab)
The Knowledge Industry Survival Strategy (KISS) Tony Clark, Thames Valley University, London, UK Jorn Bettin, Sofismo, Switzerland.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
Software Reuse Building software from reusable components Objectives
1/18 CS 693/793 Lecture 09 Special Topics in Domain Specific Languages CS 693/793-1C Spring 2004 Mo, We, Fr 10:10 – 11:00 CH 430.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Feb. 23, 2004CS WPI1 CS 509 Design of Software Systems Lecture #5 Monday, Feb. 23, 2004.
CS 290C: Formal Models for Web Software Lecture 6: Model Driven Development for Web Software with WebML Instructor: Tevfik Bultan.
© 2001 MetaCase Consulting 1 15 th March 2001 Risto Pohjonen Juha-Pekka Tolvanen MetaCase Consulting From coding to modelling: Past, present and future.
Generative Programming. Generic vs Generative Generic Programming focuses on representing families of domain concepts Generic Programming focuses on representing.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
Spectra Software Defined Radio Products Applying Model Driven Design, Generative Programming, and Agile Software Techniques to the SDR Domain OOPSLA '05.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Problems with reuse – Increased maintenance costs; lack of tool support; not-invented- here syndrome; creating, maintaining, and using a component library.
Software Development Concepts ITEC Software Development Software Development refers to all that is involved between the conception of the desired.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Jeff Gray, Juha-Pekka Tolvanen, Matti Rossi OOPSLA Workshop.
A Generative and Model Driven Framework for Automated Software Product Generation Wei Zhao Advisor: Dr. Barrett Bryant Computer and Information Sciences.
Yu Sun 1, Zekai Demirezen 1, Marjan Mernik 2, Jeff Gray 1, Barret Bryant 1 1 Department of Computer and Information Sciences, University of Alabama at.
Rapid Application Development (RAD) Software Development Approaches.
Sumant Tambe, et. al LEESA DSPD 2008 An Embedded Declarative Language for Hierarchical Object Structure Traversal Sumant Tambe* Aniruddha Gokhale Vanderbilt.
© 2006 MetaCase 1 Agile Development with Domain-Specific Languages 19 th June 2006 Aali Alikoski, Microsoft Steven Kelly, MetaCase.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 1 Slide 1 Software Processes (Chapter 3)
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
 CS 5380 Software Engineering Chapter 2 – Software Processes Chapter 2 Software Processes1.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
Domain-Specific Software Development Terminology: Do We All Speak the Same Language? Arturo Sánchez-Ruíz, University of North Florida, USA Motoshi Saeki,
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Juha-Pekka Tolvanen MetaCase Consulting Domain-Specific Modeling Languages and Generators - Examples.
Domain-Specific Development Stuart Kent, Senior Program Manager, DSL Tools, Visual Studio Team System, Microsoft.
Model-Driven Analysis Frameworks for Embedded Systems George Edwards USC Center for Systems and Software Engineering
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Generative Programming. Automated Assembly Lines.
© 2004 MetaCase 1 Collected Experiences of Defining Domain-Specific Modeling Languages 10/24/2004 Steven Kelly MetaCase.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
6 th OOPSLA Workshop on Domain-Specific Modeling /10/221 The Practice of Deploying DSM Report from a Japanese Appliance Maker Trenches
October 2007 Montréal, Canada The 7th OOPSLA Workshop on Domain-Specific Modeling.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Jeff Gray, Matti Rossi 2nd Workshop.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
OOPSLA workshop on Domain-Specific Visual Languages 1 Framework for Domain-Specific Visual Languages Juha-Pekka.
Frameworks CompSci 230 S Software Construction.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,
Design Patterns -- Omkar. Introduction  When do we use design patterns  Uses of design patterns  Classification of design patterns  Creational design.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
1 17 October 2005 San Diego, CA The 5th OOPSLA Workshop on Domain-Specific Modeling.
1 OO Analysis & Design - Introduction to main ideas in OO Analysis & design - Practical experience in applying ideas.
1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester
DS(M)Ls for End-Users and Domain Experts? Panel on Creating DSLs Models in Software Engineering Workshop Zurich, Switzerland June 3, 2012 Jeff Gray University.
1 Integrating Models with Domain-Specific Modeling Languages 18 October 2010 Steven Kelly & Juha-Pekka Tolvanen.
Use Case, Component and Deployment Diagrams University of Sunderland.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
A Framework for Automated and Composable Testing of Component-based Services Miguel A. Jiménez, Ángela Villota, Norha M. Villegas, Gabriel Tamura, Laurence.
George Edwards Computer Science Department Center for Systems and Software Engineering University of Southern California
A Method for Improving Code Reuse System Prasanthi.S.
Chapter 16 – Software Reuse
Software Processes.
Tools of Software Development
CS310 Software Engineering Lecturer Dr.Doaa Sami
Automated Analysis and Code Generation for Domain-Specific Models
Software Architecture & Design
Presentation transcript:

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

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

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

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)

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

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

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

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

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

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

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

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

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

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

OOPSLA workshop on Domain-Specific Visual Languages 15 Further information: 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

OOPSLA workshop on Domain-Specific Visual Languages 16 Questions or comments? MetaCase Consulting Ylistönmäentie 31 FIN Jyväskylä, Finland Phone , Fax Thank you!