110 likes | 262 Vues
Models@runtime 2007 , October 2, 2007, Nashville. Coherent Support for Models at Run-Time through Orthogonal Classification. Colin Atkinson atkinson@ informatik.uni-mannheim.de. Matthias Gutheil gutheil@informatik.uni-mannheim.de.
E N D
Models@runtime 2007, October 2, 2007, Nashville Coherent Support for Models at Run-Time through Orthogonal Classification Colin Atkinsonatkinson@informatik.uni-mannheim.de Matthias Gutheilgutheil@informatik.uni-mannheim.de Chair of Software TechnologyUniversity of Mannheim, Germanyhttp://swt.informatik.uni-mannheim.de
Overview • Motivation • Current OMG Modeling Infrastructure • The Orthogonal Classification Architecture • Pan Level Model Metamodel • Example • Conclusion
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 • …
Current OMG Modeling Infrastructure UML2.x, MOF 2.x
Orthogonal Classification Architecture (OCA) L2 O2 O0 O1 L1 L0 Core language Pan Level Model Classifer Modeling language Instance Class instanceOf instanceOf Model Profession Professor Einstein System state or “real world”
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
Example Salary Class Profession Professor Einstein JobRelation Physics teaches teaches Salary Salary Course potency = 0 potency = 1 potency = 2 potency = 1 type : double value = undefined potency = 2 type : double value = undefined potency = 1 potency = 0 type : double value = 4567 potency = 0 potency = 0 potency = 1 potency = 2 potency = 0 level 0 P L M level 1 level 2
Imploded rendering of Connectors Salary Salary Salary Physics JobRelation Professor Profession Einstein Class Course potency = 2 potency = 0 type : double value = 4567 potency = 1 type : double value = undefined potency = 2 type : double value = undefined potency = 0 potency = 0 potency = 2 potency = 1 potency = 1 potency = 0 level 0 P L M level 1 level 2
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
Finally • Thank you for your attention! • Time for your questions... (in 5 minutes)