1 Integrating Models with Domain-Specific Modeling Languages 18 October 2010 Steven Kelly & Juha-Pekka Tolvanen.

Slides:



Advertisements
Similar presentations
Object-Oriented Software Engineering Visual OO Analysis and Design
Advertisements

Visual Scripting of XML
Chapter 11 user support. Issues –different types of support at different times –implementation and presentation both important –all need careful design.
Programming Logic and Design Fourth Edition, Introductory
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
WebDynpro for ABAP Short introduction.
Chapter 1 Program Design
ANDROID PROGRAMMING MODULE 1 – GETTING STARTED
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
UNIT-V The MVC architecture and Struts Framework.
© 2005 UBC; made available under the EPL v1.0 mylar a degree-of-interest model for eclipse Mik Kersten Gail Murphy Shawn.
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
Web Design and Patterns CMPT 281. Outline Motivation: customer-centred design Web design introduction Design patterns.
Games Development 2 Entity / Architecture Review CO3301 Week
1 IBM Software Group ® PRJ270: Essentials of Rational Unified Process Module 5: Tailoring RUP.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 12 Object-Oriented.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2011 See online syllabus (also available through BlueLine): Course goals:
Tutorial 1 Getting Started with Adobe Dreamweaver CS3
Tip Calculator App Building an Android App with Java © by Pearson Education, Inc. All Rights Reserved.
Ceg860 (Prasad)L6MR1 Modularity Extendibility Reusability.
Building Tools by Model Transformations in Eclipse Oskars Vilitis, Audris Kalnins, Edgars Celms, Elina Kalnina, Agris Sostaks, Janis Barzdins Institute.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
Juha-Pekka Tolvanen MetaCase Consulting Domain-Specific Modeling Languages and Generators - Examples.
1 UML Basic Training. UML Basic training2 Agenda  Definitions: requirements, design  Basics of Unified Modeling Language 1.4  SysML.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2010 See online syllabus (also available through BlueLine): Course goals:
© 2011 Autodesk How to Excel at Data Extraction Martin Duke CADD Manager – Aurecon - Queensland.
CS3773 Software Engineering Lecture 04 UML Class Diagram.
© 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.
CS 153: Concepts of Compiler Design August 26 Class Meeting Department of Computer Science San Jose State University Fall 2015 Instructor: Ron Mak
Software Engineering Principles. SE Principles Principles are statements describing desirable properties of the product and process.
OOPSLA workshop on Domain-Specific Visual Languages 1 Framework for Domain-Specific Visual Languages Juha-Pekka.
Object-Oriented Paradigm and UML1 Introduction to the Object- Oriented Paradigm.
Adoption Participants in the adoption group Heiko Kern Parastoo Mohagheghi Manuel Wimmer Juha Pärssinen Juha-Pekka Tolvanen Laurent Safa Sven Braun Gerardo.
Software Design: Principles, Process, and Concepts Getting Started with Design.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
On the data side of the application… In the beginning, we needed to translate the ideas for the game’s dialogue progression and how the player would interact.
Design and Implementation of a Rationale-Based Analysis Tool (RAT) Diploma thesis from Timo Wolf Design and Realization of a Tool for Linking Source Code.
Modul 4 Struktur Informasi Mata Kuliah Preservasi Informasi Digital.
1 CSC 427: Data Structures and Algorithm Analysis Fall 2006 See online syllabus (also available through Blackboard): Course goals:
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Yonglei Tao School of Computing & Info Systems GVSU Ch 7 Design Guidelines.
Chapter 24 I’m Suffering from Information Overload (Access Databases) Clearly Visual Basic: Programming with Visual Basic nd Edition.
SEG 4110 – Advanced Software Design and Reengineering Topic T Introduction to Refactoring.
Chapter – 8 Software Tools.
CS 501: Software Engineering Fall 1999 Lecture 15 Object-Oriented Design I.
1 Sobah Abbas Petersen Adjunct Associate Professor TDT4252 Modelling of Information Systems Advanced Course Lecture 4: Introduction to.
Model Based Engineering Environment Christopher Delp NASA/Caltech Jet Propulsion Laboratory.
CSC 421: Algorithm Design & Analysis
Modeling with UML – Class Diagrams
CSC 427: Data Structures and Algorithm Analysis
Object Oriented Programming
Course Outcomes of Object Oriented Modeling Design (17630,C604)
Object-Oriented Analysis and Design
CS 153: Concepts of Compiler Design August 29 Class Meeting
Activities and Intents
CSC 421: Algorithm Design & Analysis
Informatics 121 Software Design I
Advanced Programming Behnam Hatami Fall 2017.
MetaMetaTeam Matti Rossi Markus Voelter Tripti Saxena
Chapter 11 user support.
Database Design Hacettepe University
Execute your Processes
Games Development 2 Entity / Architecture Review
Software Architecture & Design
Presentation transcript:

1 Integrating Models with Domain-Specific Modeling Languages 18 October 2010 Steven Kelly & Juha-Pekka Tolvanen

© 2010 MetaCase 2 Contents Integration paradigms Single language, multiple views Integrating languages

© 2010 MetaCase 3 Integration Paradigms: 1. String matching in files Strings are 1-dimensional character arrays Look for same sequence, “E”, “m”, “p” etc. –Or UUID, unique identifier in XML Inefficient, hard to see, fragile –but familiar! class Employee...classMa nagerextends Employee... Developerexte ndsEmployee class Employee...classMa nagerextends Employee... Developerexte ndsEmployee

© 2010 MetaCase 4 Integration Paradigms: 2. Direct references in repository Works like objects in memory Efficient: Direct pointer Visible: See referrers Robust: Change once –But less familiar! Employee Manager Developer class Employee...classMa nagerextends Employee... Developerexte ndsEmployee

© 2010 MetaCase 5 Integration Paradigms: Tool support for direct references Concrete syntax: view UI: edit Cross-model references: link Disk representation: load vieweditlinkload XText EMF/GMF DSL Tools MPS MetaEdit+

© 2010 MetaCase 6 Integration Paradigms: Summary We need both! –But text and graphical tools often only offer strings Use direct references whenever possible –Make most important references visible Use string matching if you need indirection –Deliberate breaking up into exchangeable modules

© 2010 MetaCase 7 Contents Integration paradigms Single language, multiple views Integrating languages Summary

© 2010 MetaCase 8 Single language: Example model Mobile apps UI display Control flow

© 2010 MetaCase 9 Single language: Different notations (4.3) Metamodeler offers choice of concrete notation –Two sets of symbols –Conditional symbols No extra work for modeler E.g. simple and detailed views –Different user roles

© 2010 MetaCase 10 Single language: Different tool behavior (4.2) View & edit only what is relevant –Different user roles –E.g. user interaction designer vs. developer Generally UI for one user is subset of another –Extra work only for metamodeler

© 2010 MetaCase 11 Single language: Different representations (4.1) Tool supports multiple editors on same underlying model –Aspects, avoid information overload No extra work for metamodeler –With good tools Modeler adds layout for representation

© 2010 MetaCase 12 Contents Integration paradigms Single language, multiple views Integrating languages Summary

© 2010 MetaCase 13 Integrating languages: Best integration = no integration General purpose languages need broad coverage –Too many concepts for one diagram type –Have to split into diagram type per aspect –Each diagram type has broad coverage for that aspect Reintegration of aspects across models is hard –For tool and modeler DSM languages need only support needed subset –Can often fit several aspects in one diagram type –Save reintegration costs

© 2010 MetaCase 14 Integrating languages: Relationships between models Diagram element links to new subdiagram –Allows modularization, scaling Metamodeler decides what is legal –Can one element link to several subdiagrams? –Can a subdiagram be reused by several elements? The world is not a tree! –Is subdiagram type same as parent diagram? –Can an element have a different link when reused? Direct link or string indirection? Interface? Don’t show subdiagram in parent diagram! –Defeats the whole point of modularization

© 2010 MetaCase 15 Integrating languages: Sharing language concepts Reusing a concept in metamodels A and B –Allows reusing instances in models of type A & B Define different aspects for same element –Relationships with other elements in models Define and use a reusable element –Only exists once, not copies –Better than patterns or wizards Use directly in models or as element property

© 2010 MetaCase 16 Integrating languages: Create a metamodel from a model Some kinds of reuse are really instantiation –Define function => call function –Define class => create instance –Define configurable component => use & configure First model says what fields need filling in –And what the types of the content are But that’s just like a metamodel! Three levels of people –Metamodeler + Component definers + Modelers base metamodel component metamodel how components extend base metamodel

© 2010 MetaCase 17 Summary and recommendations Direct object references make integration easy –Building on top of XML or text will always be painful Good tools offer low effort integration –Easy for metamodeler and/or modeler –No nasty surprises when scaling to real project Avoid splitting data where possible –Integrate multiple aspects into one language Avoid large models –Split into multiple models of same type Look at users and use process –Most important factor in integration choices

© 2010 MetaCase 18 Europe: MetaCase Ylistönmäentie 31 FI Jyväskylä, Finland Phone Fax USA: MetaCase 5605 North MacArthur Blvd. 11th Floor, Irving, Texas Phone (972) Fax (480) Thank you! Questions?

© 2010 MetaCase 19 Summary Doing integration right is major factor in DSM –5-10x faster –50% fewer errors MetaCase supports you in moving to DSM Introductory package for expert developer –Book and tool: 200€ "Very practical and highly recommended" Computing Reviews "Excellent", Amazon review