Title: Language Specification using Metamodelling
1Language Specification using Metamodelling
- Joachim Fischer
- Humboldt University Berlin
LAB Workshop Geneva 24.11.02
2Languages ...
- 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 !
3Language Definitions ...
- 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?
4"New" versus "Traditional"
"traditional" Layer
Description
"new" Layer
Meta- Metamodel
infrastructure for - language definitions
- Metamodelling architecture
M3
- - instance of M3
- - language for specification of / programs /
models - - semantic definition
- instance of M2 - language for description of
an information domain
- instance of M1 - real subject of existence
5Semantic Concerns
"traditional"
"new"
- grammar
- wellformedness rules (text,ASM )
- ASM,
- M3 implications
- wellformednessrules (text,OCL, )
- mapping tolanguages
- ASM,
6(No Transcript)
7Characteristics 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
8MOF - 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
9MOF - 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)
10MOF - 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)
11MOF - 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 representation ensures
- exchange of Metamodels and models,
independend from - - syntactical representation
- MOF-tool-vendor
- ORB vendor
12MOF - 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
- an integrated 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
13- 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 ???
14Benefits 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)!
15Benefits 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)!
16Benefits 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!
17Vision 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
18Can standards allow common tools for UML, SDL,
ASN.1, MSC, with backward compatibility ?
our visionary technology approach
19Questions, Statements ???