Title: Framework for Metamodel Interoperability: 197631,2,4
1Framework for Metamodel Interoperability19763-1,
2,4
- ISO/IEC/JTC1/SC32/WG2 Xian Meeting Committee
Draft Working Draft - 2004.05.24-27
- Masaharu Obayashi
2Introduction
Metamodel and Model
The Figure shows the relationship between
metamodel and model. Various models, for each
modeled target and business domain, would be
developed. In those cases, it is an important
issue which stereotypes or patterns should be
used as modeling construct elements. The
specification of those modeling construct
elements may be provided with metamodels. As
shown in figure 1, the abstraction of the target
domain to be modeled is performed in our mind and
concepts to be metamodeled emerge. The
specification of those concepts is defined
through matamodels from various scopes, purposes
and viewpoints.
3Scope
- The primary purpose of ISO/IEC WD19763 is to
specify the Framework for Metamodel
Interoperability (see 1.1). ISO/IEC WD19763-2
also specifies the core model which is required
to describe metamodel items, and which may be
used in situations where a complete
metadata/metamodel registry is appropriate.
Scope-Structure of MetaModle Framework
- A business object is an object that is identified
in building a reusable model of business or a
reusable software component that should support
interoperability within an enterprise or in trade
between enterprises. To identify and define a
concrete object, firstly concepts in the modeling
target domain must be put in order, and secondly
the meaning of business objects that are picked
up from those concepts should be defined exactly
with the relationships among the business
objects. - If a business application were built on a
middleware using standardized business objects
that were middleware neutral, it would be easy to
transfer it into another middleware environment. - -inter-enterprise connection
- -standardization for core models
- -stability and reusability of standard model
4Scope-Objectives of MetaModel Framework
- A metamodel provides the definition and
specification of a conceptual domain for its
concept. The concrete stereotypes and patterns
conforming to the metamodel correspond to its
value domain and are used to build a concrete
model. - Such a metamodel is a kind of standard,
stereotypes and patterns conforming its standard
are also standard defined as a profile. By
sharing and reusing those elements,
standardization of business object models could
be achieved. To improve sharable capability and
reusability of object models, normative modeling
constructs such as stereotypes and patterns must
support the following features
5Structure of MetaModle Framework
- A MMF core metamodel is a model that describes a
metamodel framework. A metamodel framework
provides a mechanism for understanding the
precise structure and components of the specified
models, which are needed for the successful
sharing of the metamodels by users and/or
software facilities. - This part of ISO/IEC 19763 uses a metamodel to
describe the structure of a MMFs Metadata
Registry as an information model. The MMFs
registry metamodel is specified as a conceptual
and abstract data model, i.e. one that describes
how relevant information is structured in the
natural world. In other words, it is how the
human mind is accustomed to thinking of the
information. Any implementation model will not be
mentioned in this part of ISO/IEC 19763. However,
it should be also governed by the MMFs metamodel
to establish the common way of managing
metamodels and its derived models. - For descriptive purposes, the metamodel is
organized into five functional packages (see
Figure 2) - -MOF1.4 (see Annex A)
- -MDR (see 4.2)
- -MMF Core (see 4.5 and 4.6)
- -MMF Ontology (see ISO/IEC 19763-3)
- -MMF ModelMapping (see ISO/IEC 19763-4)
6(No Transcript)
7Basic Concept
Overview of MMF
The Figure illustrates the basic idea of
metamodel concept and the relationship between a
metamodel and its targets. Generally, a
metamodel governs a modeling facility, modeling
constructs and model products.
8The Role of MOF
9MMF Domain Model based on MOF
10Main part of 11179-3 MDR metamodel
11MOF
Core Model
Transformation
Patterns
Relationship
Transformation Rule
12MMF Core Metamodel
Metametamodel (M3) MOF Model
M3
Metametamodel (M3) MDR Model
governing
governing
Metamodel (M2) MMF Core Model
Model Construct MMF Model construct
Modeling Facility UML
M2
UoD
13MMF Ontology Model
Metametamodel (M3) MOF Model
M3
Metametamodel (M3) MMF Core Model
governing
governing
Model Construct MMF Model construct
Modeling Facility UML
Metamodel (M2) MMF Ontology Model
M2
constraint
UoD
thesaurus
14MMF Mapping Model
Metametamodel (M3) MOF Model
M3
Metametamodel (M3) MMF Core Model
governing
governing
Model Construct MMF Model construct
Modeling Facility UML
Metamodel (M2) MMF Mapping Model
M2
UoD
mapping
15MMF Semantic Function Model
Metametamodel (M3) MOF Model
Metametamodel (M3) MMF Core Model
M3
Metametamodel (M3) MMF Ontology Model
Metametamodel (M3) MMF Mapping Model
governing
governing
Model Construct MMF Model construct
Modeling Facility UML
Metamodel (M2) MMF Semantic Function Model
M2
thesaurus
UoD
constraint
constraint
mapping
Semantic Function
Semantic Function
16MMF Architecture
Metametamodel (M3) MOF Model
M3
governing
Metametamodel (M2) MMF Core Model
M2
Metametamodel (M2) MMF Ontology Model
Metametamodel (M2) MMF Mapping Model
Metamodel (M2) MMF Semantic Function Model
governing
governing
Model Construct MMF Model construct
Modeling Facility UML
Model (M1) MMF MDR Model
M1
Ontology
Metamodel
MMF Registry
Model
Model Mapping
Semantic Function
Model Construct
17MMF Packages
18MOF Model
1911179-3 MDR Metamodel
20Framework for Metamodel Interoperability Part
2 Core Model
21MOF (Meta Object Facility)
- The MMF core registry metamodel is specified
using a Meta Object Facility (MOF). This document
uses the term "metamodel construct" for the model
constructs it uses, but "metadata objects" for
the model constructs it specifies in MOF. The
metamodel constructs used are classes,
relationships, association classes, attributes,
reference and so on. These terms are defined in
3.1, and their use is described in Annex A. The
specified metadata objects are defined in 3.3,
and as the main subject of this Clause. - However, there are certain parallels between the
two models. For example, the "Object Class"
specified in the model is equivalent to the
metamodel construct "class" used to specify the
model, and the "Property" specified in the model
is equivalent to the metamodel construct
"attribute" used to specify the model. The
different terms are used to make it clear which
model is being referred to, not because they
represent different concepts. One term that this
document uses at both levels is "datatype", but
the level to which it applies should be apparent
from the context in which it is used. - The MOF is an adopted technology by OMG for
defining metadata and representing it as CORBA
objects. Metadata is a data describing data or
information, and can accordingly be described by
other metadata. In MOF terminology, metadata that
describes metadata is called meta-metadata, and a
model that consists of meta-metadata is called a
metamodel.
22MOF Model
23The Role of MOF
- One kind of metamodel plays a central role in the
MOF. A MOF metamodel defines the abstract syntax
of the metadata in the MOF representation of a
model. Since there are many kinds of metadata in
a typical system, the MOF framework needs to
support many different MOF metamodels. The MOF
integrates these metamodels by defining a common
abstract syntax for defining metamodels. - This abstract syntax is unified by the MOF Model
and is a model for metamodels i.e. a
meta-metamodel. - The MOF metadata framework is typically depicted
as a four layer architecture (M0, M1, M2, M3).
There are the following features of MOF-based
metamodel and UML profile - 1. Using a restricted subset of the UML
notation - 2. Providing common style of describing
metamodel - 3. A metamodel at M2 level is as an
abstract syntax of models at M1 level - 4. A model at M1 level is an expression
of the metamodel - 5. UML profile (stereotype, tagged values
etc.) is as additional constraints for metamodel - 6. Mapping between the metamodel and the UML
profile is needed as a basis for the development
of tools - 7. Enable exchanging metamodel/model/data
between tools
24Objective of MOF extension
- In the proposed standard, the features of MOF are
preserved and the following facilities are
enhanced - Specifying relationships among MOF-based
metamodels (of each standard) or between M2 level
and M1 level - Classifying and registering (based on ISO/IEC
11179-32003.) namespaces of each metamodel and
UML profile, also patterns as a model instance - Defining mapping a part of metamodel at M2 level
or model or data at M1 level among MOF-based
metamodels
25MMF Domain Model based on MOF
Metametamodel (M3) MOF Model
M3
governing
Metamodel (M2) ebXML CC/BIE Model
M2
governing
governing
governing
Model Construct BCC, ACC, BIE, ABIE, CCT,DT
Modeling Facility UML
Model (M1) Person Model
M1
CC/BIE
26MMF Domain Model based on MOF
Metametamodel (M3) MOF Model
M3
governing
Metamodel (M2) ebXML CC/BIE Model
M2
Metamodel (M2) Person Model
governing
governing
governing
Model Construct BCC, ACC, BIE,
ABIE, CCT,DT, Person
Modeling Facility UML
Model (M1) Employee Model
M1
CC/BIE
27Key Concepts of MMF Core (1)
- This standard defines the relationship between
metamodel and model, the framework of
registering, sharing and reusing normative
modeling constructs. In the layer M2 of the
metamodel architecture, standards related to
business objects modeling, which are developed by
standardization organizations, are registered
with those namespace including defined concepts.
In addition, the model instances conforming those
standard, for instance concrete stereotypes or
patterns, also are registered. Users of the
registry, such as modelers, pick up and use some
stereotypes and patterns that are appropriate to
build the own business object model in the M1
layer. The M1 layer has similar structure to the
M2 layer, consisting of namespace (ModelConcept),
typed model constructs (ModelDomain), model
instance (ModelInsatnce) and model element
(ModelSelection). - For example, names of business processes are
registered in namespace of the M1 layer and
business process models defined using normative
modeling constructs of the M2 layer are
registered in typed model element of the M1
layer. In model instance of the M1 layer,
concrete products satisfying the specification of
those models are registered by each vendores that
develop and ship them. - Also, the relationship among typed model elements
needs to be described definitely. In this
standard, the facility to define reference of any
metamodel over different standards or mapping for
data exchange should be provided. Moreover, in
the case of registering the model instance, it is
necessary to describe the conformance level such
as how much and what parts of metamodels each
model instance accords with or not. This standard
provide the framework for defining those things.
28Key Concepts of MMF
- ModelConcept
- The ModelConcept is a metaclass identifying a
namespace of models to destinct model elements. - ModelDomain
- The ModelDomain is an abstraction of TypedElement
and Conceptual Domain that require a type as part
of their definition. - NOTE A ModelDomain does not itself define a type,
but is associated with a ModelClassifier via
IsOfType. - ModelInstance
- The ModelInstance is a metaclass designating
values of ModelDomain. A ModelInstance is
represented by typed model elements such as
ModelClassifier and ModelConstruct related to the
ModelDomain. - ModelSelection
- The ModelSelection is a metaclass designating a
selection from the ModelInstance corresponding to
the ModelConcept.
29Relationship between Key Concepts of MMF and
11179-3 MDR metamodel
ModelDomain
ModelConcept
ModelSelection
ModelInstance
30Registry Image for ModelConcept, ModelDomain and
ModelInstance
31MetamodelClassifier Examples in ModelDomain
Vehicle
Airplane
Car
Bicycle
Wheel
Tier
Wheel of Car
Wheel of Airplane
Wheel of Bicycle
Bicycle
Bicycle
Wheel Library 1
Wheel Library 2
ABC Bicycle
XYZ Bicycle
Bicycle
Bicycle
Library 1
Library 2
32ModelDomain and ModelInsatnce
33(No Transcript)
34Key Concepts of MMF Core (2)
- Table2 shows that there are different registers
and users against the registry conforming this
draft standard. - Supposed organizations and users who register
metamodels or patterns for the M2 layer and
models or products for the M1 layer respectively,
are listed. - In this standard, concerning metamodel for the
M2 layer and model for the M1 layer, as described
above, the purpose is specifying the framework
for classifying namespace and defining the
relationship and meaning among metametamodel
elements or metamodel layers. - The M3 layer of MOF might be enhanced to provide
the facility for treating those concepts.
35Developer/Register and User
36MetaModel
BCC (Basic Core Component)
Selected Model
Models
37MetaModel
ACC (Aggregate Core Component)
Selected Model
Models
38MetaModel
BBIE (Basic Business Information Entity)
Selected Model
Models
39MetaModel
ABIE (Aggregate Business Information Entity)
Selected Model
Models
40MetaModel
Person (ACC)
Selected Model
Models
41MetaModel
Employee (ABIE)
Selected Model
Models
42metamodel
Metamodel
BCC
BBIE
model
model
Metamodel
Metamodel
ACC
ABIE
model
model
43Metamodel
metamodel
Person
Person
model
model
metamodel
metamodel
BPM
Employee
model
model
44Framework for Metamodel Interoperability Core
Model Definition
45Main part of 11179-3 MDR metamodel (MOF Compliant)
46MMF Core (Model Element)
47MMF Core (Level Pair)
4819763-4 MMFI Part-4 Model Mapping
49Need of Model Transformation
To obtain high reliability of software, it is
required to approach based on new software
engineering, in this context , after web
technology was rising, the software development
environment such as OS or middleware platform has
been rapidly changed. For adapting to the change
of such situation, it is important to develop the
higher quality software with low cost and
timely. And, inter-enterprise e-commerce and
business with a global market outlook, It is
expected to develop standardized business model
that enable to build interoperable information
systems and application software based on
standards. For development of common model used
within each industry, it is necessary to discuss
the model with many parties involved.
Considering the situation around such as
information system, to develop more effective
and flexible software, elaborate modeling against
the target universe of discourse, identifying and
extracting essential common data and component
and establishing methodology to integrate
target information system composing with those
common elements is required. In the mean time,
object oriented software development method,
which has been introduced as a result of
long-time research on software engineering, is
becoming popular. In particular, modeling method
using UML is coming into common use and MDA(Model
Driven Architecture) promoted by OMG is a new
approach that have come from considering the
importance of modeling and model transformation
technique. As a UML supporting tool, various
functions are required. The main functions of UML
tool are a UML model editor, model debugger,
interface builder, converter from model into
source code and so on. In addition, the
supporting tool based on MOF is also useful. As
applications of MOF specification, there are many
kind of scenarios such as software development,
type management , information management, data
warehouse management and so on.
50Types of Model Transformation
There are several types of model transformation
as followings -Type1 from upper level model
into lower level model -Type2 from
implementation model into object code -Type3
from conceptual model into object code -Type4
from conceptual model to conceptual model The
type1 of tool provides the transformation
function from an upper level model with higher
abstraction level into several implementation
models. For instance, a transformation from PIM
(Platform independent model) into PSM (Platform
specific model) in MDA is a typical
example. Figure 4 shows a transformation example
from a domain model on PIM into the same domain
model on PSM. The concept of model transformation
definition and transformation tool should be
specified as shown in Figure4. In the type2 of
tool, for instance transformation from PSM into
Code, its translation logic may be unknown from
outside. Almost all of tools have a specific
translation, according to its transformation
definition, target model i.e. code can be
generated from source model i.e. PSM. Some
traditional CASE tool has a function such as
generating code. In the case that PSM is close to
Code relatively, it may be possible to reflect
the change of PSM in the generated code. Also, a
compiler for programming languagae like Java or
C is a kind of this type model
transformation. In the type3 of tool, target
language and transformation definition language
are hidden from users. For instance, in a model
transformation from PIM through PSM into Code,
the PSM exists only as an internal
representation. The type4 of model
transformation has following two cases. -In the
case of the same source and target
metamodel Examples The ETL (Extract, Transform
and Load) tool provides model transformation
between SQL tables. HL7HDF (HL7 Development
Framewrok) provides model transformation from
DMIM (Domain Message Information Model) to RMIM
(Refined Message Information Model). Also, the
transformation related to XSL, XPath, XSLT is a
typical example of this type transformation. -In
the case of the different metamodel Example
model transformation between the different
metamodels in CWM (Common Warehous Metamodel)
51(No Transcript)
52(No Transcript)
53(4) Parameterized Model transformation using
Model Pattern Model transformation may be
parameterized using model pattern The
transformation definition may be described with
formal transformation description language.
Pattern Definition For Model A
Pattern Definition For Model B
Transformation Definition
Model A
Model B
Transformation Tool
54MMF Model Mapping (UoD)
- ModelDomainSource
- ModelDomainTarget
- ModelInstanceSource
- ModelInstanceTarget
- ValueSource
- ValueTarget
- MetaModelTransformationDefinition
- ModelTransformationDefinition
- ValueTransformationDefinition
- ModelTransformation
55MetaModelTransformationDefinition
- The MetaModelTransformationDefinition is a
subclass of ModelAssociation and a metaclass
designating the metamodel transformation
definition between source and target metamodel. - The MetaModelTransformationDefinition provides
the metamodel Concept Map Table, - Stereotype Map Table, Pattern Map Table and
Element map Table. - Also, it may provide formal transformation
descriptions if necessary. - The Transformation Definition Type should be
specified to be - Model Relationship
- Model Renaming
- Model Equivalence
- Model Enhancement
56ModelTransformationDefinition
- The ModelTransformationDefinition is a subclass
of MetaModelTransformationDefinition and a
metaclass designating the model transformation
definition between source and target model. - The ModelTransformationDefinition provides the
model Concept Map Table, - Stereotype Map Table, Pattern Map Table and
Element map Table. - Also, it may provide formal transformation
descriptions if necessary. - The Transformation Definition Type should be
specified to be - Model Relationship
- Model Renaming
- Model Equivalence
- Model Enhancement
- Model Mapping
- Model Transformation
- Model Generation
- Model Migration
- Model Derivation
57ValueTransformationDefinition
- The ValuelTransformationDefinition is a subclass
of ModelTransformationDefinition and a metaclass
designating the value transformation definition
between source and target value. - The ValueTransformationDefinition provides the
tagged value Map Table and Computation Table. - Also, it may provide formal transformation
descriptions if necessary. - The Transformation Definition Type should be
specified as one of the following items - Value Computation
- -Value Aggregation
- -Value Conversion
58ModelTransformation
- The ModelTransformation is a metaclass
designating an unit of model transformation
between source and target including metamodel,
model and value transformation definition
respectively. - The Transformation Type should be specified as
one of following items - Model Compilation type
- Model Projection type I
- Model Projection type II
- Model Metamorphose type
59Metamodel for Model Mapping
60(No Transcript)
61(No Transcript)
62(No Transcript)
63(No Transcript)
64(No Transcript)
65(No Transcript)
66(No Transcript)
67(No Transcript)
68(No Transcript)
69(No Transcript)
70(1) Model Compilation type
71(2) Model Projection type I Source and target
metamodel are the same kind of metamodels
72(3) Model Projection type II Source and target
metamodel are the different kind of metamodels
73(4) Model Metamorphose type
74Metamodel Transformation Definition
source
target
Metamodel MM1
Metamodel MM2
governing
governing
Model Transformation Definition
source
target
Model M1
Model M2
governing
governing
source
target
Value V1
Value V2
Value Transformation Definition
Model Transformation
P
M
C
75Model Compilation type
MetaModel Relationship
C
MM1
MM2
M1
M2
V2
V1
Model Generation Mapping
Value Mapping
76Model Projection type I
MetaModel Relationship
Pi
MM1
MM2
M1
M2
V2
V1
Model Projection Mapping
Value Mapping
77source
target
Metamodel MM1
Metamodel MM2
Metamodel Transformation Definition (Relationship)
governing
governing
source
target
Model M1
Model M2
Model Transformation Definition (Mapping)
governing
governing
source
target
Value V1
Value V2
Value Transformation Definition (Computation)
Model Transformation
Pi
C
78Model Projection type II
MetaModel Relationship
Pii
MM1
MM2
M1
M2
V2
V1
Model Relationship
Value Mapping
79source
target
Metamodel MM1
Metamodel MM2
Metamodel Transformation Definition (Relationship)
governing
governing
source
target
Model M1
Model M2
Model Transformation Definition (Relationship)
governing
governing
source
target
Value V1
Value V2
Value Transformation Definition (Computation)
Model Transformation
Pii
80Model Metamorphose (Migration)
MetaModel Relationship
M
MM1
MM2
M1
M2
V2
V1
Model Relationship
Value Mapping
81source
target
Metamodel MM1
Metamodel MM2
Metamodel Transformation Definition (Relationship)
governing
governing
source
target
Model M1
Model M2
Model Transformation Definition (Relationship)
governing
governing
source
target
Value V1
Value V2
Value Transformation Definition (Computation)
Model Transformation
M
82XML Schema
RIM
RIM
P
C
DMIM
RMIM
HMD
DMIM
RMIM
Model Mapping Example HL7HDF
RMIM
HMD
83CCLib
BIM
CCLib
M
M
BBIE/ABIE
DomainModel
BCC/ACC
BCC/ACC
BBIE/ABIE
Model Mapping Example ebXML (CC/BIE)
BBIE/ABIE
DomainModel
84MMpim
MMcode
MMpsm
P
C
psm
code
pim
pim
psm
Model Mapping Example MDA (PIM? PSM)
psm
code
85MMpim
MMcode
MMpim
P
C
pim
code
pim
pim
pim
Model Mapping Examples MDA (PIM? PIM)
pim
code
86CWM
HTML
CWM
M
C
table
html
table
table
table
Model Mapping Example CWM
table
html
87XML Schema
XML Schema
HTML
C
P
xml
html
xml
xml
xml
Model Mapping Example XSL, XPath, XSLT
xml
html
88Source Program
Java/C/C
HIR
HIR
P
C
Data Flow Analysis and Optimization
Syntactic Analysis
pgm
hir
hir
Model Mapping Example Compiler
C
Conversion from HIL to LIR
LIR
SSA
SSA
P
C
ssa
Data Flow Analysis and Optimization
Conversion from LIR to SSA
lir
ssa
C
Conversion from SSA to LIR
Object Code
C
AssemblyLanguage
SSA
LIR
LIR
C
P
Register Assignment and Code Generation
Data Flow Analysis and Optimization
lir
lir
code
HIRHigh Level Intermediate Representation LIR
Low Level Intermediate Representation
SSA Static Single Assignment