1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling Group reports.

Slides:



Advertisements
Similar presentations
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva
Advertisements

Profiles Construction Eclipse ECESIS Project Construction of Complex UML Profiles UPM ETSI Telecomunicación Ciudad Universitaria s/n Madrid 28040,
The role of OCL in the Model Driven Architecture Jos Warmer Klasse Objecten
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Production Rule Representation Team Response Presentation to BEIDTF OMG Montreal Aug 2004 Ruleml.org.
Formal Techniques in Software Engineering Universiteit AntwerpenIntroduction 1.1 Formal Techniques in Software Engineering 3de BAC Informatica Chapter.
Object-Oriented Analysis and Design
Train Control Language Teaching Computers Interlocking By: J. Endresen, E. Carlson, T. Moen1, K. J. Alme, Haugen, G. K. Olsen & A. Svendsen Synthesizing.
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.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Architecture (MDA) Partha Kuchana. Agenda What is MDA Modeling Approaches MDA in a NutShell MDA Models SDLC MDA Models (an Example) MDA -
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
© Copyright Eliyahu Brutman Programming Techniques Course.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
1 Scenario-based Analysis of UML Design Class Models Lijun Yu October 4th, 2010 Oslo, Norway.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Research in Compilers and How it Relates to Software Engineering Part III: Relation to SE Tomofumi Yuki EJCP 2015 June 22, Nancy.
Comparing M2T & M2M Complementary Approaches © 2008 INRIA, University of York & SINTEF Comparing M2T & M2M Complementary Approaches Hugo Bruneliere,
Domain specific languages for Business Process Management: a Case Study Janis Barzdins, Karlis Cerans, Mikus Grasmanis, Audris Kalnins, Sergejs Kozlovics,
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
OOPSLA 2003 DSM Workshop Diagram Definition Facilities Based on Metamodel Mappings Edgars Celms, Audris Kalnins, Lelde Lace University of Latvia, IMCS,
Xactium xDSLs Run Models Not Code Tony Clark
Faculty of Informatics and Information Technologies Slovak University of Technology Peter Kajsa and Ľubomír Majtás Design.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Levels of Independence in Aspect-Oriented Modeling Workshop on Model-driven Approaches to Middleware Applications Development June 17, 2003 Jeff Gray,
Yu SunUniversity of Alabama at Birmingham PAR Works Jeff Gray University of Alabama Montpellier, France July 3rd, 2013 This research is supported.
MDE Model Driven Engineering Xavier Blanc Université Pierre et Marie Curie
Model transformation with a dedicated imperative language IRISA Rennes (France) - Triskell team Jean-Marc Jézéquel Didier Vojtisek Jean-Philippe Thibault.
Introduction to MDA (Model Driven Architecture) CYT.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
OOPSLA workshop on Domain-Specific Modeling (DSM’03) 1 Jeff Gray - Jonathan Sprinkle - David Oglesby - Stuart Kent - Kerry Raymond - Jean Bezivin - Paulo.
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,
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Software Engineering Principles Principles form the basis of methods, techniques, methodologies and tools Principles form the basis of methods, techniques,
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Model Driven Development An introduction. Overview Using Models Using Models in Software Feasibility of MDA MDA Technologies The Unified Modeling Language.
1 Introduction to Software Engineering Lecture 1.
1 5 Nov 2002 Risto Pohjonen, Juha-Pekka Tolvanen MetaCase Consulting AUTOMATED PRODUCTION OF FAMILY MEMBERS: LESSONS LEARNED.
INRIA - LaBRICharles Consel Jan-06 1 Domain-Specific Software Engineering Charles Consel Phoenix Research Group LaBRI /INRIA-Futurs January 2006.
Dr. Darius Silingas | No Magic, Inc. Domain-Specific Profiles for Your UML Tool Building DSL Environments with MagicDraw UML.
Automated Transformation of Statements Within Evolving Domain Specific Languages Peter Bell CEO/CTO, SystemsForge 7th OOPSLA Workshop on Domain-Specific.
Object-Oriented Software Engineering using Java, Patterns &UML. Presented by: E.S. Mbokane Department of System Development Faculty of ICT Tshwane University.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
Semantics for DSL Group Members: Ritu Arora, Diyang Chu, Zekai Demirezen, Jeff Gray, Jacob Gulotta, Luis Pedro, Arturo Sanchez, Greg Sullivan,Ximing Yu.
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,
Future Work  Formal specification of modeling language semantic is key issue  Reliance on well-established formal models of computation (i.e. finite.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
LanguageLab A Meta-modelling Environment Terje Gjøsæter and Andreas Prinz, University of Agder, Norway SDL Forum 2015, Berlin, Germany.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Institute for Software Integrated Systems Vanderbilt University On Metamodel Composition Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and.
UML Profile BY RAEF MOUSHEIMISH. Background Model is a description of system or part of a system using well- defined language. Model is a description.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Model Driven Performance Analysis University College London James Skene –
Page 1 Hitachi Ltd. – FhI FOKUS TTCN-3 User Conference, June 2005 MDA based approach for generation of TTCN-3 test specifications Hideto Ogawa, Hitachi.
Web Application Modeling
Software Processes.
Tools for Composing and Deploying Grid Middleware Web Services
Constructing MDA-based Application Using Rational XDE for .NET
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Software Architecture & Design
Presentation transcript:

1 24 October 2004 Vancouver, Canada The 4th OOPSLA Workshop on Domain-Specific Modeling Group reports

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 2 Working groups Focus on a specific topic Parallel groups 1.DSM practice 2.MDA context 3.Tools 4.Transformations The goal of those groups is to – establish theoretical background – summarise past experience – investigate most interesting approaches – identify future research topics Groups present their results for discussion

3 Group 1 DSM Practice Group

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 4 DSM Practice Report Background and basic assumptions – Extreme opposites agree that DSM is useful – Have good knowledge and definition of domain – Target output language is close to the domain – Agreement on abstractions and design flow What has been done – Share experiences Methodology is an ad hoc process Coming to a consensus can be difficult Measuring quality can be difficult –Often there is no ”right” answer – Industry state of the art Language metamodeling for constructing DSME’s Few language designers and many framework/library developers Collect "hot topics" in DSMs – Language evolution and transformations – Defining the language development and evolution characteristics – Language Testing and Debugging Future research topics – Going beyond boxes and arrows – Going beyond static structure/behavior – Verification and Integration – Development support

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 5 DSM Practices Why and when DSMs are chosen? – Domain complexity reduction – Lack of experts (in both domain and in programming) – Large user/usage base – Reduction of the learning curve – Single model but multiple targets – Legacy code/tool integration Organisational issues of DSM introduction – Achieving a consensus on language design – Getting management/user feedback and support – Development time and cost/benefit analysis/justification productivity and quality improvements Is there some systematic methodological support for DSM creation – Over defining vs Under defining of the language adding vs pruning – the ”to be” language vs the ”as is” language – the development process user base (one user vs. thousands)

6 Group 2 DSM with MDA

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 7 Participants Laurie Tratt, King's College London Jerome Delatour, ESEO/TRAME Grant Emanuel, University of North Dakota Kim Jin, SolutionsIQ Anna Gerber, DSTC Robert France, Colorado State University Andy Evans, Xactium

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 8 MOF: Abstract Syntax vs Concrete (graphical syntax) EMOF or CMOF? Domain-specific meta-meta models? Do we need Meta-Meta models? To some extent it doesn’t matter what meta-meta model you use (if you don't believe in the 4 layer modelling hierarchy) – You can create any meta-model you want

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 9 OCL Little industry acceptance OCL 2.0 is a monster - difficult to read and understand What is the intention of using OCL here? Specification of constraints is undervalued in industry (constraints often implicit) Difficult to use to communicate with customer Constraints specification often not complete

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 10 Constraints What is the role of constraints in meta-modelling? – Good at capturing pre/post conditions and simple constraints – Class Diagram considered as a constraint but additional constraints necessary through languages like OCL (or DSL, or natural language) Constraints are not enough – Meta-model operations underused (perhaps because MOF does not specify how operations are implemented, so they are not often used) One use case: constraint enforcement through operations

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 11 Constraints (continued) Is OCL a good choice? – Expressive power not a problem – Syntactic issues: too much effort to express constraints – Better tool support needed – Unclear c hecking/execution semantics so no, not really…

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 12 Constraints (continued) So, how to represent constraints? – Fix OCL Better syntax? Extension – Functional programs? – Other constraint languages: Alloy Domain-specific constraint languages?

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 13 UML UML is a one-size-fits-all approach Popular in industry – Off the shelf solutions less intimidating than Domain- Specific solutions Extension Capabilities – Hack the standard: cut and paste modelling – UML 1.4 profiles of limited use, have problems – UML 2.0 profiles based on composition Support light-weight extension Heavy-weight extension (ie new elements added) using MOF, but the model is no longer UML Not suitable for DSM

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 14 DSM as CIM, PIM or PSM? Meaningless as absolute terms - relative terms/roles only – Hence DSMs can be PIMs or PSMs, depending on the role they play in MDA CIM is just a type of PIM New MDA statement talks about levels of abstraction instead of PIM/PSM

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 15 When to change the metamodel (DSM) instead of extend UML? When to re-use UML/MOF or create a new meta- model? (Extension or Instantiation) – Extend UML if your DSM is very similar to UML (and you only want to add to it) – Extending UML provides advantage of being able to use existing UML tools for visualisation/editing – Defining a new MOF meta-model avoids issues with having to ignore/change UML semantics

16 Group 3 DSM Tools

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 17 Group 3: Tools Classification: – A CASE tool that supports a particular language (instantiation of types defined in a metamodel) – Tools for building such DS CASE tools Programmed from scratch (ad-hoc) Using frameworks Generate most of a DS CASE tool Generate everything for DS CASE tools CAME as an iterative process of defining a language What else than ”generating” model editors? – Process models currently not supported. Do process models make sense? – Workflow-supported modeling. – Balance between a creative process and the possibility to check syntax / semantics. – Checking every user action is not a good idea.

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 18 Group 3: Tools Generators – Different approaches appropriate for different targets (XML, Java, documentation) – Dependent on the model traversal strategy – Example-based code generation How many people should work on a metamodel? – Just one? – E.g., a metamodel with 600 element types – Do XP principles apply to DS Metamodel development (pair programming, test first, collective model ownership Is there a grand universal metametamodel? – MOF, GOPPRL, MetaGME – Defining a concrete syntax for a language is difficult in MOF

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 19 Group 3: Tools Versioning – Source safe Metamodel evolution – Versioning required – Graph transformations: model based on MM1 model based on MM2 – A detailed classification of changes permitted to the metamodel is needed (e.g., additional attribute not a problem)

20 Group 4 Transformations

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 21 Different-Dimensions of Transformation/Translation Transformation (abstraction) – Horizontal Transformation within the same level of abstraction E.g., Model transformation, code refactoring, tool integration, optimizations, evolutions – Vertical translation Translation, or synthesis, between layers of abstraction E.g., MIC interpreters, reverse engineering Transformation (specification) – Automatic – Manual – Semi (a bit of both) Transformation (by artifact) – Abstract Syntax/ Concrete/ Semantics NavDisplay C++ ComputePosition C++ ComputePosition with Locking C++

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 22 Factoring Transformation for compilation/interpretation Advantages of factoring – Reuse/composition of transformations – Modularity – Easier to extend High-level Model Code Model Code gen Domain independent optimization code optimization

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 23 What is the optimal formalism for transformations/model compilers? Pure General Purpose Language GPL + Abstraction framework (API) Proprietary scripting language Graph grammars, transformations Operational / Natural Semantics Action Semantics Other ??

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 24 Future Directions of Meta- Modeling with Transformations Goal: powerful modeling language that allows both modeling and meta-modeling Generation of models from specifications Composition of models under correctness- preserving conditions

The 4th OOPSLA workshop on Domain-Specific Modeling (DSM’04) 25 Challenge Question In DSM, the metamodel seems to be (in current practice) the primary artifact for capturing evolution. How do we correspondingly evolve all of the other artifacts (e.g., model compilers, test cases, instance models)