On Metamodel Composition

19
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

description

On Metamodel Composition. Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and Miklos Maroti. Presented by Jonathan M. Sprinkle. CCA ‘01 M é xico City, M é xico. 6 September 2001. Feedback Loop. Overview. Introduction Composition of Metamodels Metamodeling Environment - PowerPoint PPT Presentation

Transcript of On Metamodel Composition

Page 1: On Metamodel Composition

Institute for Software Integrated SystemsVanderbilt University

On Metamodel Composition

Akos Ledeczi, Greg Nordstrom, Gabor Karsai, Peter Volgyesi and Miklos Maroti

6 September 2001

CCA ‘01México City, México

Presented by Jonathan M. Sprinkle

Page 2: On Metamodel Composition

Overview

• Introduction• Composition of

Metamodels• Metamodeling

Environment• Illustrative

Example• Conclusions

FeedbackLoop

Page 3: On Metamodel Composition

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.

Page 4: On Metamodel Composition

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

Page 5: On Metamodel Composition

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

Page 6: On Metamodel Composition

Introduction

Meta-metamodels

Domain Models

Metamodels

CBS (domain)

describe

describe

describe

Page 7: On Metamodel Composition

Y

Z

Composition of Metamodels

W

W

X

Y

W

X

X

Page 8: On Metamodel Composition

Composition of Metamodels

• 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

Page 9: On Metamodel Composition

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.

Page 10: On Metamodel Composition

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

Page 11: On Metamodel Composition

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

Page 12: On Metamodel Composition

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

Page 13: On Metamodel Composition

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 modelingGenerates

Page 14: On Metamodel Composition

• 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

Page 15: On Metamodel Composition

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

Page 16: On Metamodel Composition

Illustrative Example

TrueUMLInheri-tance

ImplementationInheritance

Page 17: On Metamodel Composition

Illustrative Example

Page 18: On Metamodel Composition

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.

Page 19: On Metamodel Composition

Questions?

“Well HAL, I’m damned if I can find anything wrong with it.”“Yes. It’s puzzling, isn’t it.”

-- 2001: A Space Odyssey