190 likes | 335 Views
Language Specification using Metamodelling. Joachim Fischer Humboldt University Berlin. LAB Workshop Geneva 24.11.02. cover domains, not the universe complex systems need more than one language (SDL, ASN.1, ...) for their description, implementation, deployment, ...
E N D
Language Specification using Metamodelling Joachim Fischer Humboldt University Berlin LAB Workshop Geneva 24.11.02
cover domains, not the universe complex systems need more than one language (SDL, ASN.1, ...) for their description, implementation, deployment, ... are driven by user needs (concepts, notations) evolution need notations graphical notation in favour: state of the art (SDL, TTCN, MSC, URN, ...) best suited to cope with complexity (2 dimensional drawing + text) clear representation (better than text) often share similar concepts (OO concepts, ODP concepts...) need tools to be used ! need a community to live and to evolve ! Languages ... LAB Workshop, Geneva 24.11.02
differ in the level of formality "traditionally": use grammars concrete grammar for definition of notations abstract grammar for definition of concepts do not share the grammar with other languages "new" Metamodelling approach: use graphs (labelled nodes and arcs) graphs for definition of concepts assignment of notation elements (informal, formal) differentiation of abstraction levels: model and Metamodel concept of Metamodelling in general is not new but for the definition of languages! Similarities between both? Language Definitions ... LAB Workshop, Geneva 24.11.02
- instance of M3 - language for specification of / programs / models - semantic definition concept grammar concrete grammar of a language Metamodel M2 parameterised program M1 Model M0 Application executable "New" versus "Traditional" "traditional" Layer Description "new" Layer Meta- Metamodel infrastructure for - language definitions - Metamodelling architecture M3 - instance of M2 - language for description of an information domain - instance of M1 - real subject of existence LAB Workshop, Geneva 24.11.02
- instance of M3 - language for specification of / programs / models - semantic definition concrete grammar of a language M2 Metamodel static semantic • OCL – Object Constraint Language a mix of • Predicate Logic and • set theory • in an intuitive syntax dynamic semantic Semantic Concerns "traditional" "new" • grammar • wellformedness rules (text,ASM …) • ASM, … • M3 implications • wellformednessrules (text,OCL, …) • mapping tolanguages • ASM, … LAB Workshop, Geneva 24.11.02
model InterfaceDef isAbstract : Boolean InterfaceDef isAbstract : Boolean ... as metamodel instance a Class a7 : Class name = InterfaceDef ... name = InterfaceDef feature feature an Attribute isAbstract : Attribute name = isAbstract multiplicity = ( {1, 1} ) ... name = isAbstract multiplicity = 1, 1 a PrimitiveType Boolean : PrimitiveType name = Boolean ... name = Boolean type type LAB Workshop, Geneva 24.11.02
Characteristics of Metamodelling • language definition in M2 layer (Metamodel) • defines concepts • may be manipulated (Extension, Specialization, Structural adaptation) • definition of semantic separated from language notation • no coupling to „grammar technologies“ • suitable (graphical) notation can be selected! • integration of languages with different notations is possible • common Meta-metamodel is a suitable way for a language integration • relations between metamodels (SDL UML), • construction of a merged Metamodel (language) is possible LAB Workshop, Geneva 24.11.02
MOF - Meta Object Facility • OMG standard • base of OMG Model Driven Architecture (MDA) • What is it ? • model driven distributed object framework • specification • construction • management • exchange • integration • integrating of Metadata in software systems LAB Workshop, Geneva 24.11.02
Metameta model MOF - Meta Object Facility • OMG standard • base of OMG Model Driven Architecture (MDA) • What is it ? • model driven distributed object framework • specification • construction • management • exchange • integration • integrating of Metadata in software systems Concept Space • fundamental object oriented terminology • classes, associations, inheritance, packages • common modelling concepts similar to UML-Core (more restricted) LAB Workshop, Geneva 24.11.02
Metameta model Cl1 Cl2 CORBA MOF MOF - Meta Object Facility • OMG standard • base of OMG Model Driven Architecture (MDA) • What is it ? • model driven distributed object framework • specification • construction • management • exchange • integration • integrating of Metadata in software systems MOF Repository as a Tool offers I/f for storing and processing of • Metamodels (based on MOF concepts) • models (based on those Metamodels) LAB Workshop, Geneva 24.11.02
Metameta model Cl1 Cl2 CORBA MOF XML representation of models MOF - Meta Object Facility • OMG standard • base of OMG Model Driven Architecture (MDA) • What is it ? • model driven distributed object framework • specification • construction • management • exchange • integration • integrating of Metadata in software systems XML representationensures • exchange of Metamodels and models, independend from: - syntactical representation • MOF-tool-vendor • ORB vendor LAB Workshop, Geneva 24.11.02
Metameta model Cl1 Cl2 CORBA MOF XML representation of models MOF - Meta Object Facility • OMG standard • base of OMG Model Driven Architecture (MDA) • What is it ? • model driven distributed object framework • specification • construction • management • exchange • integration • integrating of Metadata in software systems usage of the same Metameta-model • as a base for relating Metamodels • representing concepts of different languages comes with the result of • anintegrated language on conceptual level nothing is said about a common notation !!! but: MOF does not define the style of notations ! MOF 1.x comes only with textual description of MOF LAB Workshop, Geneva 24.11.02
representation of MOF models(Metamodels) • choice of notation/ representation of the definition M2 metamodel API (MOF-IDL) UML- Profile MODL XML • UML and MOF have the same foundation • UML is usable as a language for description of Metamodels, i.e. for definition of other(!) modelling languages MOF XML representation of models IDL for model repository API for tools file/stream • if UML is used for concrete MOF syntax, UML tools can used for that new language too UML, IDL, EDOC, ... eODL, TTCN-3, URN, SDL ??? LAB Workshop, Geneva 24.11.02
Language concepts API (MOF-IDL) UML XML MODL MOF XML representation of models IDL for model repository API for tools file/stream Benefits of MOF (1) • MOF repository stores metamodels • access via IDL interfaces • generic interfaces for inspection and traversal • model specific interfaces according to MOF concepts • tools can obtain information about the language • tools can add information (implemented language subset) • same interfaces for all metamodels (languages)! LAB Workshop, Geneva 24.11.02
Language concepts API (MOF-IDL) UML XML MODL MOF XML representation of models IDL for model repository API for tools file/stream Benefits of MOF (2) • MOF-to-IDL mapping generates repositories • IDL for Metamodel specific repository • serve to: • store, • manipulate, • retrieve and • exchange models • standard API for modelling tools • Similar to MOF-IDL • same technology for allmetamodels (languages)! LAB Workshop, Geneva 24.11.02
Language concepts API (MOF-IDL) UML XML MODL MOF XML representation of models IDL for model repository API for tools file/stream Benefits of MOF (3) • MOF-XMI provides file/streaming format • XML Metadata lnterchange • XMI defines a DTD for MOF • Metamodels can be exchangedas XML file/stream • XMI defines rules to createDTDs for Metamodels • Model can be exchanged as XML file/stream (e.g. UML XMI) • common interchange formatfor all Metamodels! LAB Workshop, Geneva 24.11.02
Vision of an MOF-based Integration of ITU languages • MOF based Metamodels for all languages • standardized methodology and tool interfaces for language development • Creation, Extension, ... • merge of Metamodels possible • Language integration (as UML is an integration of ...) • definition of arbitrary notations ruled by the zeitgeist LAB Workshop, Geneva 24.11.02
UML 2.x, 3.x UML 2.0 UML 2.0 restricted MOF 2.0 real-time engine common kernal SDL 2000 SDL restricted SDL 2000 kernel SDL 20xx Can standards allow common tools for UML, SDL, ASN.1, MSC, … with backward compatibility ? our visionary technology approach LAB Workshop, Geneva 24.11.02
Questions, Statements ???… LAB Workshop, Geneva 24.11.02