Institute for Software Integrated Systems Vanderbilt University On Metamodel Composition Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and.

Slides:



Advertisements
Similar presentations
Chapter 7 System Models.
Advertisements

Computer Science Dept. Fall 2003 Object models Object models describe the system in terms of object classes An object class is an abstraction over a set.
Introduction to Databases
Composable Metamodeling Environment Akos Ledeczi Institute for Software Integrated Systems Vanderbilt University
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System modeling 2.
History of Object Orientation. What is Object-Orientation? Programming is one of the most complicated and difficult of human activities. It helps a great.
1 SWE Introduction to Software Engineering Lecture 13 – System Modeling.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
File Systems and Databases
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Chess Review May 10, 2004 Berkeley, CA Metamodeling Infrastructure for Model-Integrated Computing Matthew J. Emerson, Kai Chen, Andrew D. Dixon, Janos.
Institute For Software Integrated Systems Vanderbilt University Applications of Model Integrated Computing to The Synchronous Language Signal Ethan Jackson.
Understanding Metamodels. Outline Understanding metamodels Applying reference models Fundamental metamodel for describing software components Content.
Lecture 6 & 7 System Models.
UML CASE Tool. ABSTRACT Domain analysis enables identifying families of applications and capturing their terminology in order to assist and guide system.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
Using the Vanderbilt Generic Modeling Environment (GME) to Address SOA QoS Sumant Tambe Graduate Intern, Applied Research, Telcordia Technologies Inc.
7M822 Software Engineering: System Models 14 September 2009.
Sharif University of Technology Session # 7.  Contents  Systems Analysis and Design  Planning the approach  Asking questions and collecting data 
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
A novel approach to modeling Zvezdan Protić, Tom Verhoeff, Mark van den Brand.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System Models Hoang Huu Hanh, Hue University hanh-at-hueuni.edu.vn Lecture 6 & 7.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
Database Design - Lecture 2
AToM 3 : A Tool for Multi- Formalism and Meta-Modelling Juan de Lara (1,2) Hans Vangheluwe (2) (1) ETS Informática Universidad Autónoma de Madrid Madrid,
An Introduction to Design Patterns. Introduction Promote reuse. Use the experiences of software developers. A shared library/lingo used by developers.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
What is MOF? The Meta Object Facility (MOF) specification provides a set of CORBA interfaces that can be used to define and manipulate a set of interoperable.
Introduction To System Analysis and Design
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
UDM An Infrastructure for Implementing Domain-Specific Modeling Languages Endre Magyari, Arpad Bakay, Andras Lang, Tamas Paka, Attila Vizhanyo, Aditya.
Objected Oriented Programming & Design JAVA Shishir Gupta (704) (704)
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Vanderbilt University 23 July 2003 Metamodel Based Model Migration Jonathan Sprinkle Dissertation Defense Given toward satisfaction of the requirements.
Chapter 7 System models.
System models l Abstract descriptions of systems whose requirements are being analysed.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Software Engineering, 8th edition Chapter 8 1 Courtesy: ©Ian Somerville 2006 April 06 th, 2009 Lecture # 13 System models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Methodology - Conceptual Database Design
1 On Interactions in the RM-ODP Guy Genilloud, Gonzalo Génova WODPEC’2005 Workshop on ODP for Enterprise Computing * Information Engineering Group Departamento.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Institute for Software Integrated Systems Vanderbilt University DARPA ASC PI Meeting May 26-28, 1999 Adaptive Model-Integrated Computing Akos Ledeczi.
Shravana Kumar Musunuri, Jimmy Mathews Advisors: Dr. Joseph Picone Dr. David Gao Powertrain Design Tools Project The GENERIC MODELING ENVIRONMENT (GME)
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
CSCI-383 Object-Oriented Programming & Design Lecture 10.
Lab 5 CPIT 250 System Analysis and Design.
Open Tool Integration Framework Gabor Karsai Institute for Software-Integrated Systems PO.Box 1829B Vanderbilt University Nashville, TN 37235, USA.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
® A Proposed UML Profile For EXPRESS David Price Seattle ISO STEP Meeting October 2004.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
1 SWE Introduction to Software Engineering Lecture 14 – System Modeling.
T imed Languages for Embedded Software Ethan Jackson Advisor: Dr. Janos Szitpanovits Institute for Software Integrated Systems Vanderbilt University.
November 2001, Slide 1 P.Habela, K.Subieta: Standard Metamodel for Object Databases (2) Standard Metamodel for Object Databases (2): Proposed Improvements.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
Engineering, 7th edition. Chapter 8 Slide 1 System models.
Introduction to Design Patterns
Abstract descriptions of systems whose requirements are being analysed
Chapter 20 Object-Oriented Analysis and Design
Software Architecture & Design
Presentation transcript:

Institute for Software Integrated Systems Vanderbilt University On Metamodel Composition Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and Miklos Maroti 6 September 2001 CCA ‘01 México City, México Presented by Jonathan M. Sprinkle

Overview Introduction Composition of Metamodels Metamodeling Environment Illustrative Example Conclusions Feedback Loop

Introduction Why is it good to model CBS’s? –Requirements force the tight integration of information processing with physical processes –Attempting to manage a system based on documentation requirements is terribly difficult Fortunately, it is possible to use a model of the system to enforce the requirements or constraints of the system.

Introduction What is the best way to express this model of the system? –Differential equations –UML –Simulink/Stateflow –Backus-Naur form –Cindy Crawford’s measurements The correct answer is: –The best way to model the system depends on the system! –Some modeling languages work better than others, depending on the “domain” of the system

Introduction One solution is to develop a modeling library for each and every type of system that will ever be used in the history of the world –Try to get funding for this one Another solution is to develop a language for developing modeling languages –provides the modeler with the ability to customize his own domain language for his own domain –also, this abstracts the process for the modeling environment, which means that all “metamodels” will be expressed in the same language

Introduction Meta-metamodels Domain Models Metamodels CBS (domain) describe

Y Z Composition of Metamodels W W X Y W X X

Composition allows metamodels to contain other metamodels –This allows a metamodeler to take advantage of existing metamodels –Metamodeling development time is decreased –Systems may be independently developed, and later brought together Other features of the composable meta- modeling environment allow for models describing similar systems to be brought together in a common modeling environment

Composition of Metamodels How are metamodels described? –Currently, UML and OCL are used to describe the language of the domain. –A UML class in the metamodel translates to a domain entity type (e.g. robot, PLC, cooling system, HMI). –OCL is used to give semantic constraints to the system. How is composition accomplished? –UML containment and inheritance are used to describe the relationships of domain entity types, not of the metamodeling entities. In other words, it is difficult to customize the metamodeling constructs in terms of other metamodeling constructs. –Thus, UML was extended to include new operators to express the relationships between metamodeling constructs.

Composition of Metamodels The Union operator –This operator describes a full union of two UML classes. All attributes and capabilities are combined into one class, thus creating a domain entity that is the union of two domain entities Example –A tire manufacturer gauges its plant output with light gates (for height of tire stack) and sonic detectors (for width of tire, to determine tire type). The data from these actuators are coalesced, and interpreted by two different computers. –Modeling these two actuators as one could make data interpretation easier, by combining height and width into one class, rather than two Light Gates Union Sonics

Composition of Metamodels Implementation Inheritance operator –In this composition type, the child inherits all of the attributes of its parent, but receives only the associations where its parent is the container Example –A man and his son exhibit Implementation Inheritance. The child gets the attributes of his father (e.g. same house, same looks), and will “inherit” the belongings owned (“contained”) by his father –However, the child does not go to his father’s job, although his father has an association with work. Father Son

Composition of Metamodels Interface Inheritance operator –The complement of Implementation Inheritance –In this composition type, only the associations where its parent is NOT the container, and inherits no attributes whatsoever Example –The new manager of a pro sports team gets Interface Inheritance from the previous manager. The new manager has the same responsibility as the old manager. –However, he has different perks (attributes), and without the same respect from the players (container associations) Manager New Manager

Metamodeling Environment The GME tool suite uses the same editor for editing metamodels as for editing domain models This is because the metamodeling environment is just a domain modeling language in the “Metamodeling” domain In fact, the metamodeling environment was generated from its own metamodel, known as the meta-metamodel Domain metamodel metamodeling Domain Models domain modeling Generates

Now in GME it is possible to “import” metamodels into the metamodeling environment, and combine them using the composition operators This allows metamodel reuse, facilitated by the fact that the metamodeling environment is a full fledged domain environment Also, extending the metamodels leaves the originals intact, while the extensions reflect changes to the originals when they take place Metamodeling Environment

Illustrative Example We have a Signal Flow (SF) environment (paradigm) with Compounds (which contain primitives) and Primitives (connected by I/O signals) whose behavior is specified by C code. We have a FSM paradigm with States connected by Transitions Now, we want to be able to express the behavior of Primitives using an FSM, instead of C code. We want to combine the two, resulting in: –Primitive “FSMNode” that contains an FSM spec –FSMNodes should contain States, but States should not contain FSMNodes –FSMNodes can have I/O signals connecting it to States

Illustrative Example True UML Inheri- tance Implementation Inheritance

Illustrative Example

Conclusions 1.Domain specific models can lead to efficient modeling of CBS’s. 2.The best domain specific modeling environments are custom created for the domain. 3.By creating performatives that associate metamodeling concepts, custom creation of DSME’s is made more simple because of the ability to reuse and merge existing metamodels.

Questions? “Well HAL, I’m damned if I can find anything wrong with it.” “Yes. It’s puzzling, isn’t it.” : A Space Odyssey