Coherent Support for Models at Run-Time through Orthogonal Classification Colin Atkinson and Matthias Gutheil University of Mannheim, Germany Presented by Olivier Barais and Franck Fleurey
Talk outline ► Introduction to OCA ► Basic principles of OCA ► Multi-level model example ► Open issues
Introduction ► With UML, the typing relationship is generally a linguistic type relationship It is not so clear in MDE ► This paper proposes to distinguish between two kinds of “instance of” relationships A linguistic “instance of” relationship A logical or ontological “instance of” relationship
Basic principles of OCA ► Linguistic level and logical level are orthogonal ► Limited to three linguistic levels ► Issue: Why do you need PLM? ► Could we have multiple “instance of” relationship at the same level? ?
Multi-level model example Clabject Fields ?
Issues on inheritance and classifiction of clabjects Simple inheritance vs. Multiple inheritance Can a clabject have a « linguistic instance of » relationship with several clabjects Simple classification vs. Multiple classification Can a clabject have a « logical instance of » relationship with several clabjects Static inheritance vs. Dynamic inherithance Can a clabject change its « linguistic instance of » relationship Static classification vs. Dynamic classification Can a clabject change its « logical instance of » relationship
Open Issues ► Benefits of using OCA for Separate clearly the two « instance of » relationships runtime if you can change dynamically the logical “instance of” clabjects What about dynamic typing? Nevertheless, introduce the same fields at different levels? ► Do we really need PLM model ? ► Perhaps, could we design a typical runtime app with OCA