coherent support for models at run-time through orthogonal classification models@runtime 2007,...
TRANSCRIPT
Coherent Support for Models at Run-Time through Orthogonal Classification
Models@runtime 2007, October 2, 2007, Nashville
Matthias Gutheil [email protected]
Colin [email protected]
Chair of Software TechnologyUniversity of Mannheim, Germany
http://swt.informatik.uni-mannheim.de
2
Overview
1. Motivation
2. Current OMG Modeling Infrastructure
3. The Orthogonal Classification Architecture
4. Pan Level Model Metamodel
5. Example
6. Conclusion
3
Motivation
■ In mainstream software development the word “model” traditionally refers to a description of classes of objects and their properties
■ the main motivation for deploying such models at run-time is to be able to check whether objects confirm to the constraints on their classes
■ This means that instances, which have traditionally had only half-hearted support in mainstream modelling environments, need to be fully and cleanly supported
■ instances no longer treated as second class citizens■ extend the general usage of the term model to include objects as well as
classes■ full notational support for objects
■ databases should be populatable through “models” of objects■ full run-time support for constraint checking■ …
4
Current OMG Modeling Infrastructure
UML2.x, MOF 2.x
5
Orthogonal Classification Architecture (OCA)
Model
Core languagePan Level Model
System state or“real world”
instanceOf
Profession Professor
Instance
Classifer
Class
instanceOf
L0
L1
L2
O2O1O0
Einstein
Modeling language
6
Characteristics of the OCA
■ Unification of Class and Object Concepts■ Clabjects – unfied class/object
■ Strict Metamodeling■ Every Clabject is an instance of a Clabject from the level above
■ Exception:■ Top ontological level
■ Level agnostic notation■ Unifrom represenation of associations/links and attributes/slots
■ Dual facet of relationships■ Exploded and imploded forms
■ Deep Instantiation■ All elements with potency
7
Pan Level Model Metamodel (partial)
8
Example
PLM
level 0
level 1
level 2
potency = 0
Class
potency = 2
Profession
potency = 1
Professor
potency = 0
Einstein
potency = 2
JobRelation
potency = 1
Course
potency = 0
Physics
potency = 1
teaches
potency = 0
teaches
potency = 2type : doublevalue = undefined
Salary
potency = 1type : doublevalue = undefined
Salary
potency = 0type : doublevalue = 4567
Salary
9
Imploded rendering of Connectors
PLM
level 0
level 1
level 2
potency = 0
Class
potency = 2
Profession
potency = 1
Professor
potency = 0
Einstein
potency = 2
JobRelation
potency = 0
Physics
potency = 2type : doublevalue = undefined
Salary
potency = 1type : doublevalue = undefined
Salary
potency = 0type : doublevalue = 4567
Salary
potency = 1
Course
10
Conclusion
■ The OCA framework■ supports multi-level modeling
■ strict metamodeling■ deep instantiation
■ can be used as a platform for a model-based runtime system
■ is the basis for the integration of ontology and modelling technologies
■ Next challenges are ■ design the Metamodel of the TAQL (Transformation, Action and Query
Language)
■ implementation
■ different concrete syntax for different model elements
11
Finally
■ Thank you for your attention!
■ Time for your questions... (in 5 minutes)