Toward The Next [ Next [ Next … ] ] Generation of Meta-Modeling Tools Eric Engstrom David Oglesby.

Slides:



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

Comparison of Several Meta-modeling Tools 2 Yi Lu Computer Science Department McGill University
Visual Scripting of XML
Automated Test Design ™ © 2011 Conformiq, Inc. CONFORMIQ DESIGNER On ES v1.2.1 Stephan Schulz MBT Working Meeting/MTS#56, Göttingen.
Presented by: Thabet Kacem Spring Outline Contributions Introduction Proposed Approach Related Work Reconception of ADLs XTEAM Tool Chain Discussion.
Programming Distributed Systems Lab Institute of Computer Science University of Augsburg Universitätsstraße 14, D Augsburg Tel.: (+49) 821/ ,
1 CSL Workshop, October 13-14, 2005 ESDI Workshop on Conceptual Schema Language and Tools - Aim, Scope, and Issues to be Addressed Anders Friis-Christensen,
Object-Oriented Analysis and Design
Application architectures
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Adaptable Architecture for Meta- Programmable Modeling Tools Matt Emerson Advisor: Janos Sztipanovits The Core Layer The.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Mining Metamodels From Instance Models: The MARS System Faizan Javed Department of Computer & Information Sciences, University of Alabama at Birmingham.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
1 An introduction to design patterns Based on material produced by John Vlissides and Douglas C. Schmidt.
Application architectures
CASE Tools And Their Effect On Software Quality Peter Geddis – pxg07u.
MDC Open Information Model West Virginia University CS486 Presentation Feb 18, 2000 Lijian Liu (OIM:
New Task Group CRIS Architecture & Development Maximilian Stempfhuber RWTH Aachen University Library
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
LAYING OUT THE FOUNDATIONS. OUTLINE Analyze the project from a technical point of view Analyze and choose the architecture for your application Decide.
An Introduction to MBT  what, why and when 张 坚
Metadata Tools and Methods Chris Nelson Metanet Conference 2 April 2001.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
December 15, 2011 Use of Semantic Adapter in caCIS Architecture.
An Introduction to Software Architecture
ArchiMate Authors : eSchoolink Group - ITNLU. Contents 1. What’s ArchiMate ? 2. Why ArchiMate ? 3. Main Benefits of ArchiMate 4. Layers of ArchiMate 5.
CHAPTER ONE Problem Solving and the Object- Oriented Paradigm.
XML in Development of Distributed Systems Tooling Programming Runtime.
Introduction to MDA (Model Driven Architecture) CYT.
RTAS MDES Workshop May Model-Based Integration of Reusable Component-Based Avionics Systems David Sharp Technical Fellow Phantom Works, Open System.
2nd TTCN-3 User Conference, June The TTCN-3 Metamodel – A Basis for Tool Integration Ina Schieferdecker TU Berlin/Fraunhofer Fokus Hajo Eichler,
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.
CBD Papers Alexandre Alvaro. Lessons Learned through Six Years of Component-based Development Six years of component-based application development Using.
METACASE. WHAT THIS PRESENTATION IS ABOUT  What’s META MODELING?  What’s METACASE?  METAEDIT+ 5.1 EVALUTION PROGRAM  Diagram and its kinds.
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.
University of Southern California Center for Systems and Software Engineering Model-Based Software Engineering Supannika Koolmanojwong Spring 2013.
Verification and Validation in the Context of Domain-Specific Modelling Janne Merilinna.
L8 - March 28, 2006copyright Thomas Pole , all rights reserved 1 Lecture 8: Software Asset Management and Text Ch. 5: Software Factories, (Review)
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.
Toward a Semantic Anchoring Infrastructure for Domain-Specific Modeling Languages Kai Chen Janos Sztipanovits Sandeep Neema Matthew Emerson Sherif Abdelwahed.
MILAN: Technical Overview October 2, 2002 Akos Ledeczi MILAN Workshop Institute for Software Integrated.
1 ECCF Training 2.0 Introduction ECCF Training Working Group January 2011.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
CSCI 578 Software Architectures Exam #1 Review. Materials you are responsible for Chapters 1-8 in the text book All lecture material up to but not including.
OOPSLA workshop on Domain-Specific Visual Languages 1 Juha-Pekka Tolvanen, Steven Kelly, Jeff Gray, Kalle Lyytinen.
Software Reuse Course: # The Johns-Hopkins University Montgomery County Campus Fall 2004 Session 5 Lecture # 4 – October 5, 2004.
XASTRO-2 Presentation CCSDS SAWG th November 2004.
CSCI 3428: Software Engineering Tami Meredith UML Unified Modeling Language.
Formal Verification. Background Information Formal verification methods based on theorem proving techniques and model­checking –To prove the absence of.
GME-MOF: The MOF-Based GME Metamodeling Environment Matt Emerson 10/24/2004 Advisor: Dr. Janos Sztipanovits OOPSLA 2004 Domain-Specific Modeling Workshop.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Architectural Mismatch: Why reuse is so hard? Garlan, Allen, Ockerbloom; 1994.
©Ian Sommerville 2007COTS-based System Engineering Slide 1 COTS-based System Engineering.
MDD-Kurs / MDA Cortex Brainware Consulting & Training GmbH Copyright © 2007 Cortex Brainware GmbH Bild 1Ver.: 1.0 How does intelligent functionality implemented.
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.
Object-Oriented Software Engineering Using UML, Patterns, and Java,
CSCI 578 Software Architectures
Constructing MDA-based Application Using Rational XDE for .NET
An Introduction to Software Architecture
OOPSLA Workshop on Domain-Specific Modeling Tools Workgroup
Graphical Modeling of INFOD applications
Architectural Mismatch: Why reuse is so hard?
CSCI 578 Software Architectures
Presentation transcript:

Toward The Next [ Next [ Next … ] ] Generation of Meta-Modeling Tools Eric Engstrom David Oglesby Kirk Schloegel Honeywell Laboratories Honeywell International, Inc

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs2 The “Development” Problem  Current system development is high- risk Very complex Multiple domains Ambiguous requirements Subject to rapid change Building atop ever-more expansive APIs  The middleware trend only complicates this  Meta-programming promises the same

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs3 “Tools” to the rescue  Common Mantra: “ Let’s use a tool to do ___ for us. ”  Build models of systems, fostering: Higher-level descriptions Rapid understanding and evolution Separation of concerns Generation of code and documentation  Caveat: Fool + Tool == Fool

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs4 Domain Model GUIs Domain Model Analysis Domain Model Auto Doc Domain Model Auto Code Domain Model Auto Test Domain Model Model-Based Development

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs5 Model Based Development Options  Two options: Use a generic tool/language “applicable” for any domain  e.g. UML, SDL, IDEF, etc OR Use an application or domain-specific tool  Often limited domain  Sometimes lacking a large user-base  Yeilding  NO COTS!

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs6 Generic Tool Option  A “Development” Solution “Got Models”? Sure!  Often lack clear semantics Without clear semantics, cannot realize full benefit of Model-Based Development  Impose our own semantics Effectively ad-hoc Often lacking much tool support

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs7 Semantics Issue #2 Anything in a model that does not directly relate to “code” can be and will be misinterpreted.

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs8 Domain-Specific Option (aka DSVL)  Mantra Becomes: “ Let’s build our own tool to do ____ for us. ”  DSVLs are inherently Model-Based  Well suited to our domain  Clear semantics  Address platform/API issues  Auto-generate code

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs9 The “DSVL Development” Problem  Building DSVLs suffers from the same problems as any development effort: Often complex Multiple domains (aka “Aspects”) Ambiguous requirements Subject to rapid change  PLUS: Reinvented infrastructure Lacking clear development methodology

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs10 The DSVL Solution : Meta-Models  If DSVLs are so great, how about we come up with a DSVL for DSVLs? Capture the “essense” of a DSVL Provide infrastructure for strong modeling semantics Encourage a Model-Based view Support linkages to external tools Codify the generation of code/artifacts

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs11 DSVL & Meta-Modeling Perspective  Meta-Models can be seen as as DSVL for DSVLs Examples of tools for this include:  DOME(Honeywell)  GME (Vanderbilt University)  MetaEdit (MetaCASE)  All allow user to: Specify logical boxes & arrows diagrams Provide code/artifact generation support

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs12 Meta-Modeling for DSVLs Issues  Multi-Domain/Multi-Aspect Modeling  COTS Tool Integration  Complete Code / Artifact Generation  Model Reuse

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs13 Multi-Domain/-Aspect Modeling  Complex systems involve more than one domain, needing to… capture the cross-domain components of systems retain domain specific tooling support generate artifacts across domains / aspects

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs14 Pattern Services Quality-of-Service Analyses Event Analyses Multi-Aspect Modeling Example Software Model Archetypes “Patterns” Thread Model Event Model Service / Contract Model Hardware Model Resource Model Data Flow Model

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs15 Multi-Aspect Modeling Ideas  Build larger domain meta-models Combine all meta-models into one “Union” Model  Lose some domain-specificity  Evolution of domain meta-models difficult  Build “Type-System” view of meta- models HARD and potentially overly complicated  Build layered, interacting meta-models Represent cross-cutting information Allow new aspects of whole “System Meta- Model” to be added dynamically

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs16 Meta-Modeling for DSVLs Issues  Multi-Domain/Multi-Aspect Modeling  COTS Tool Integration  Complete Code / Artifact Generation  Model Reuse

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs17 COTS Tool Integration  Companies have large investments in commercial tools (e.g. Rose) $$$$ (licenses and training) Portfolio of work  DSVLs need to leverage this investment to be accepted share information in both directions cooperative code generation  allow parts of system to be specified in COTS tools

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs18 COTS Tool Integration Ideas  Build a generic model repository All tools must store into that  Use common interchange formats XML/XMI?  Use APIs for peer to peer? CORBA? COM? SOAP?  OMG’s MDA?

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs19 Meta-Modeling for DSVLs Issues  Multi-Domain/Multi-Aspect Modeling  COTS Tool Integration  Complete Code / Artifact Generation  Model Reuse

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs20 Code / Artifact Generation  Biggest hurdle to developing DSVLs Reuse  Can generators (or parts of generators) be shared or reused? Automation  e.g. code generator generators  How to cope with COTS tools and multiple domain systems? Share responsibility with COTS

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs21 Type Inference Type Inference procedure Foo(A:some_type) is begin A:=1; B:=2; Lib.Invert(A,B); for I in 1..B loop Lib.Prefrobulate(A,B); end loop; end Foo; generated artifact templates and outputs are also models Flow Analysis Template Selection Template Interpretation Example Transformation “Process” Meta-Model(s) Artifact Template(s)

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs22 Code / Artifact Generation Ideas  Graph Rewriting Capture input and output “patterns” Search and completion issues Q: Is this easy enough for acceptance?  XML / XSLT Use XML Schemas as Meta Models XML  XML via XSLT is transformation Code or documentation is just another output of an XSLT transform Q: Is XSLT sufficient?

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs23 Meta-Modeling for DSVLs Issues  Multi-Domain/Multi-Aspect Modeling  COTS Tool Integration  Complete Code / Artifact Generation  Model Reuse

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs24 Model Reuse  DSVLs move system design to models Just as we reuse code, we need to reuse [ portions of ] models  Reuse within a domain Model library containing parts of models  Reuse across domains Model library with hooks into different domains? Via model transformations?

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs25 Archetypes: Model-Based Patterns  Model reuse  Flexibility  Extensible code generation  Explicitly modeled structure Application-Level QoS Parameters sending object receiving object Max. comm. error prob.: ? Timeliness at recv: ? Sustained rate: ? Safety Impact: ? monitored comm. channel translate application QoS watchdog thread error-handling object notify Example: Publish/Subscribe Pattern with Watchdog as an Archetype:

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs26 Conclusions  Meta-Models are like DSVL for DSVLs  DSVLs then include generic support for generation and integration  Meta-DSVL toolkits still suffer from Lack of interaction among DSVLs Poor integration with COTS tools Difficulty of creating code generators Limited of reuse of models and model elements

Honeywell Laboratories OOPSLA 2002 Workshop on DSVLs27 Resources / References  DOME:  GME:  MetaEdit:  OOPSLA Domain Specific Visualization Workshop (2002):  Meta-Modeling Resources: