Tools for ODP – an MDA approach D.H.Akehurst
Overview OMG standards and tools Metamodelling Transformations An approach to Language Specification Tools from such specifications Language specification for ODP viewpoints Inter-viewpoint correspondences Summary
OMG standards and tools The technologies standardised by the OMG have significantly more take up than the ISO/ITU RM-ODP standard! YES / NO Why is this ? Better Standards ? OMG Marketing ? Easier Concepts ? Metamodelling ? Tool Support ?
Use OMG techniques for ODP metamodel the viewpoint concepts define example languages/concrete syntax more than one! give example specifications define mappings/transformations between syntax and viewpoint concepts helps reduce ambiguity may increase understanding of how to use the syntax helps with generating tools that conform to the standard
Metamodelling Creating a Class Diagram ! Modelling the concepts of a language Instances of the model are expressions or sentences written using the language modelled. destination State incomming name : String Transition source outgoing guard : Expr event : Expr action : Expr
Transformations Specification of a relationship between one model and another. A number of variations text based, graphical based, uni/bi-directional, relation-based, grammar-based. OMG QVT standard Transformations, Relations, Mappings A B R domainType rangeType expression
An approach to Language Specification VP Concepts Concrete Syntax (or specific language) Transformation
Tools from such specifications Metamodels -> Repositories KMF, EMF, etc Transformations -> Implementations Starting to arrive ATL, YATL, QVT approaches, etc Metamodels -> Concrete Syntax Editors still to come can be hand coded (KMF example) Domain specific modelling tools will bring this.
Multiple Languages Z Bespoke CS ODP VP Concepts UML LOTOS
Language specification for ODP viewpoints Should we define bespoke languages for the ODP viewpoints ? YES / NO Metamodelling and Transformations gives an approach. Is it too prescriptive? Discuss other approaches? Facilitates easy generation of tools from the specifications!
Inter-Viewpoint Correspondences An important part of an ODP spec How do we specify them ? Can define some on viewpoint metamodels need system specification before doing much Need a language to define them Is a Transformation language appropriate ? Need some examples
Summary Produce Viewpoint Metamodels Produce One or more Concrete Syntax specs for each viewpoint Use Transformations to define CS to VpMm spec Generate prototype tools from specs to encourage adoption and use of ODP. Look at use of transformations specs in relation to Inter-viewpoint correspondences.