© 2004 MetaCase 1 Collected Experiences of Defining Domain-Specific Modeling Languages 10/24/2004 Steven Kelly MetaCase.

Slides:



Advertisements
Similar presentations
Facts about Welcome to this video from Ozeki. In this video I will present what makes Ozeki Phone System XE the Worlds best on-site software PBX for Windows.
Advertisements

Designing, Deploying and Managing Workflow in SharePoint Sites Steve Heaney Product Development Manager OBS
Visual Scripting of XML
Domain Engineering Silvio Romero de Lemos Meira
Domain Engineering Arie van Deursen May Software Product Line  Group of products  sharing a common, managed set of features  to satisfy the.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Automated Analysis and Code Generation for Domain-Specific Models George Edwards Center for Systems and Software Engineering University of Southern California.
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.
CSC 402, Fall Requirements Analysis for Special Properties Systems Engineering (def?) –why? increasing complexity –ICBM’s (then TMI, Therac, Challenger...)
SM3121 Software Technology Mark Green School of Creative Media.
NON-FUNCTIONAL PROPERTIES IN SOFTWARE PRODUCT LINES: A FRAMEWORK FOR DEVELOPING QUALITY-CENTRIC SOFTWARE PRODUCTS May Mahdi Noorian
Semantic Web Technologies Lecture # 2 Faculty of Computer Science, IBA.
©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.
IBM Proof of Technology Discovering the Value of SOA with WebSphere Process Integration © 2005 IBM Corporation SOA on your terms and our expertise WebSphere.
A university for the world real R © 2009, Chapter 18 Process Configuration Florian Gottschalk Marcello La Rosa.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
Configuration and E-commerce Invited talk, IFORS July 2002, Edinburgh, Scotland Jesper Møller IT University, Denmark [
Katanosh Morovat.   This concept is a formal approach for identifying the rules that encapsulate the structure, constraint, and control of the operation.
5/5/2005Toni Räikkönen Internet based data collection from enterprises using XML questionnaires and XCola engine CoRD Meeting May 11th 2005.
Programmatic Building of Models Just for Pretty Printing DSM October 2006 Tero Hasu Helsinki Institute for Information Technology.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
1 A Web Specific Language for Content Management Systems Viðar Svansson, Roberto E. Lopez-Herrejon Computing Laboratory University of Oxford.
© 2006 MetaCase 1 Agile Development with Domain-Specific Languages 19 th June 2006 Aali Alikoski, Microsoft Steven Kelly, MetaCase.
Pushing the Security Boundaries of Ubiquitous Computing ACSF 2006 —————— 13 th July 2006 —————— David Llewellyn-Jones, Madjid Merabti, Qi Shi, Bob Askwith.
Visual Linker Final presentation.
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
Léon van Berlo / Jos van Leeuwen The Neighbourhood Wizard Cause and effect of changes in urban neighbourhoods.
J2ME Presented by May Sayed & Menna Hawash. Outline Introduction “Java Technology” Introduction “What is J2ME?” J2ME Architecture J2ME Core Concepts 
CMPD 434 MULTIMEDIA AUTHORING Chapter 06 Multimedia Authoring Process IV.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
Usability Evaluation/LP Usability: how to judge it.
101 User Interface Patterns and its applications Tonya Groover Department of Computer Science.
Workshop 16: An upward shift in abstraction leads to a corresponding increase in productivity. In the past this has occurred when programming languages.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
POSTECH DP & NM Lab. (1)(1) POWER Prototype (1)(1) POWER Prototype : Towards Integrated Policy-based Management Mi-Joung Choi
Reusability and Effective Test Automation in Telecommunication System Testing Mikael Mattas Supervisor: Professor Sven-Gustav Häggman Instructor: B.Sc.
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.
Design Patterns. Patterns “Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution.
CSE 219 Computer Science III Program Design Principles.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Implementing a Domain-Specific Modeling Environment For a Family of Thick-Client GUI Components Milosz Muszynski Tanner AG
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
OOPSLA workshop on Domain-Specific Visual Languages 1 Framework for Domain-Specific Visual Languages Juha-Pekka.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Vasco Amaral, Univ. of Mannheim Steve Cook, Microsoft Daniel Dvorak, JPL/Cal Tech Lars Grunske,
Of 33 lecture 1: introduction. of 33 the semantic web vision today’s web (1) web content – for human consumption (no structural information) people search.
Behavioral Patterns CSE301 University of Sunderland Harry R Erwin, PhD.
UNIT I. EMBEDDED SYSTEM It is an electrical/electro-mechanical system designed to perform a specific function. It is a combination of hardware and software.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Advanced Software Development Karl Lieberherr CSG 260 Fall Semester
1 Integrating Models with Domain-Specific Modeling Languages 18 October 2010 Steven Kelly & Juha-Pekka Tolvanen.
EMEA Beat Schwegler Architect Microsoft EMEA HQ Ingo Rammer Principal Consultant thinktecture
Semantic Interoperability in GIS N. L. Sarda Suman Somavarapu.
WELCOME TO OUR PRESENTATION UNIFIED MODELING LANGUAGE (UML)
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
Technische Universität München © Prof. Dr. H. Krcmar An Ontology-based Platform to Collaboratively Manage Supply Chains Tobias Engel, Manoj Bhat, Vasudhara.
CodeBeamer Bootcamp 2007 Customizing CodeBeamer features through scripting Aron Gombas Architect, Intland.
M&CML: A Monitoring & Control Specification Modeling Language
Creativity of Algorithms & Simple JavaScript Commands
It’s All About Me From Big Data Models to Personalized Experience
Module 1: Getting Started
HATS – Hierarchical Automated Test Sequencer Platform
JavaServer Faces: The Fundamentals
Agile testing for web API with Postman
Presentation transcript:

© 2004 MetaCase 1 Collected Experiences of Defining Domain-Specific Modeling Languages 10/24/2004 Steven Kelly MetaCase

© 2004 MetaCase 2 Research Method and Data Post hoc case analysis of cases of DSM creation –Interviews and discussions –Resulting DSM 23 industrial cases of DSM –First hand experience of authors Different problem domains –Embedded UIs, web apps, GIS, telecom services Different solution domains –Assembler, C, XML, J2EE Different levels of maturity –From established stable domains to bleeding edge All aiming at full generation from models

© 2004 MetaCase 3 Approaches to identify concepts “How do I start to do DSM?” –Hard problem for DSM customers –Analyse cases to find good toolbox of approaches Initial analysis suggested four approaches: 1.Domain expert’s or developer’s concepts 2.Generation output 3.Look and feel of the system built 4.Variability space

© 2004 MetaCase 4 Problem domainSolution domain/ generation targetApproach Telecom servicesConfiguration scripts1 Insurance productsJ2EE1 Business processesRule engine language1 Industrial automation3 GL1, (2) Platform installationXML1, (2) Medical device configurationXML1, (2) Machine control3 GL1, 2 Call processingCPL2, (1) Geographic Information System3 GL, propriety rule language, data structures2 SIM card profilesConfiguration scripts and parameters2 Phone switch servicesCPL, Voice XML, 3 GL2, (3) eCommerce marketplacesJ2EE, XML2, (3) SIM card applications3 GL3 Applications in microcontroller8-bit assembler3 Household appliance features3 GL3 Smartphone UI applicationsScripting language3 ERP configuration3 GL3, 4 ERP configuration3 GL3, 4 Handheld device applications3 GL3, 4 Phone UI applicationsC4, (3) Phone UI applicationsC++4, (3) Phone UI applicationsC4, (3) Phone UI applicationsC++4, (3)

© 2004 MetaCase 5 1. Domain expert’s concepts Concepts from domain Mostly made without help Simple MoC Simple code generation OK in established domain Usable by non-coders Insurance products/J2EE

© 2004 MetaCase 6 2. Generation output Modeling constructs come from code artefacts Static parts are easy –Data structures –Core XML elements Dynamic behaviour hard –Full programming language? –Need domain framework Danger: low level of abstraction –Little productivity gain But works well with DSL or XML –As opposed to generic 3GL Internet telephony/CPL

© 2004 MetaCase 7 3. Look and feel of the system Best for physical end product –UI on PC, embedded, speech Often state machine MoC –Also data & control flow –Power of relationships Visible domain concepts –Easy to identify –High level of abstraction Domain framework hides code –Don’t write code in models… –…unless you really have to! Generators considered easy Smartphone apps/Python

© 2004 MetaCase 8 4. Variability space Language concepts capture variability space Modeler makes variant choices –Composition, relationships, values Infinite variability space (Czarnecki) –Not just feature tree: unbounded product family Used to create hardest DSM languages –Handled most complex domains, kept modeling simple Static variance easy, dynamic harder Consultant should be good coder Customer expert in his domain and code –Consultant should also be able to program Predict future variability  high level of abstraction

© 2004 MetaCase 9 Evaluation of the Categorization Only certain pairs of approaches occurred Hierarchy of approaches –From less to more experienced DSM practitioners 1. Domain expert’s concepts - can be dropped 2. Generation output –Generic/ad hoc language not so good –Established DSL good 3. Look and feel: common, easy, true DSM 4. Variability space: adds power to handle complexity –Found in very different domains Best results combined 3 and 4 –3 gives concepts, 4 gives relationships and properties

© 2004 MetaCase 10 Conclusions and Further Work DSM matured: can analyse over 20 real cases –Confirmation of DSM productivity improvements Several approaches, mostly need more than one –2. Generation output only for DSL –3. Look and feel whenever possible –4. Variability space where necessary Language creation actually not so difficult –Because only have to satisfy limited group of users Need more cases –Different consultants, different tools –Different problem and solution domains

© 2004 MetaCase 11 Question and comments? MetaCase Ylistönmäentie 31 FIN Jyväskylä, Finland Phone , Fax Thank you!