Framework for Metamodel Interoperability: 197631,2,4 - PowerPoint PPT Presentation

1 / 88
About This Presentation
Title:

Framework for Metamodel Interoperability: 197631,2,4

Description:

The specification of those modeling construct elements may be provided with metamodels. ... Model Construct: Identification Code,Product Code, Protocol, etc. ... – PowerPoint PPT presentation

Number of Views:75
Avg rating:3.0/5.0
Slides: 89
Provided by: omg3
Category:

less

Transcript and Presenter's Notes

Title: Framework for Metamodel Interoperability: 197631,2,4


1
Framework for Metamodel Interoperability19763-1,
2,4
  • ISO/IEC/JTC1/SC32/WG2 Xian Meeting Committee
    Draft Working Draft
  • 2004.05.24-27
  • Masaharu Obayashi

2
Introduction
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.
3
Scope
  • 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

4
Scope-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

5
Structure 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)
7
Basic 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.
8
The Role of MOF
9
MMF Domain Model based on MOF
10
Main part of 11179-3 MDR metamodel
11
MOF
Core Model
Transformation
Patterns
Relationship
Transformation Rule
12
MMF 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
13
MMF 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
14
MMF 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
15
MMF 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
16
MMF 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
17
MMF Packages
18
MOF Model
19
11179-3 MDR Metamodel
20
Framework for Metamodel Interoperability Part
2 Core Model
21
MOF (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.

22
MOF Model
23
The 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

24
Objective 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

25
MMF 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
26
MMF 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
27
Key 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.

28
Key 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.


29
Relationship between Key Concepts of MMF and
11179-3 MDR metamodel
ModelDomain
ModelConcept
ModelSelection
ModelInstance
30
Registry Image for ModelConcept, ModelDomain and
ModelInstance
31
MetamodelClassifier 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
32
ModelDomain and ModelInsatnce
33
(No Transcript)
34
Key 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.

35
Developer/Register and User
36
MetaModel
BCC (Basic Core Component)

Selected Model
Models
37
MetaModel
ACC (Aggregate Core Component)

Selected Model
Models
38
MetaModel
BBIE (Basic Business Information Entity)

Selected Model
Models
39
MetaModel
ABIE (Aggregate Business Information Entity)

Selected Model
Models
40
MetaModel
Person (ACC)

Selected Model
Models
41
MetaModel
Employee (ABIE)

Selected Model
Models
42
metamodel
Metamodel
BCC
BBIE
model
model


Metamodel
Metamodel
ACC
ABIE
model
model


43
Metamodel
metamodel
Person
Person
model
model


metamodel
metamodel
BPM
Employee
model
model


44
Framework for Metamodel Interoperability Core
Model Definition
45
Main part of 11179-3 MDR metamodel (MOF Compliant)
46
MMF Core (Model Element)
47
MMF Core (Level Pair)
48
19763-4 MMFI Part-4 Model Mapping
49
Need 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.
50
Types 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
54
MMF Model Mapping (UoD)
  • ModelDomainSource
  • ModelDomainTarget
  • ModelInstanceSource
  • ModelInstanceTarget
  • ValueSource
  • ValueTarget
  • MetaModelTransformationDefinition
  • ModelTransformationDefinition
  • ValueTransformationDefinition
  • ModelTransformation

55
MetaModelTransformationDefinition
  • 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

56
ModelTransformationDefinition
  • 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

57
ValueTransformationDefinition
  • 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

58
ModelTransformation
  • 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

59
Metamodel 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
 
74
Metamodel 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
75
Model Compilation type
MetaModel Relationship
C
MM1
MM2
M1
M2
V2
V1
Model Generation Mapping
Value Mapping
76
Model Projection type I
MetaModel Relationship
Pi
MM1
MM2
M1
M2
V2
V1
Model Projection Mapping
Value Mapping
77
source
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
78
Model Projection type II
MetaModel Relationship
Pii
MM1
MM2
M1
M2
V2
V1
Model Relationship
Value Mapping
79
source
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
80
Model Metamorphose (Migration)
MetaModel Relationship
M
MM1
MM2
M1
M2
V2
V1
Model Relationship
Value Mapping
81
source
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
82
XML Schema
RIM
RIM
P
C
DMIM
RMIM
HMD
DMIM
RMIM
Model Mapping Example HL7HDF
RMIM
HMD
83
CCLib
BIM
CCLib
M
M
BBIE/ABIE
DomainModel
BCC/ACC
BCC/ACC
BBIE/ABIE
Model Mapping Example ebXML (CC/BIE)
BBIE/ABIE
DomainModel
84
MMpim
MMcode
MMpsm
P
C
psm
code
pim
pim
psm
Model Mapping Example MDA (PIM? PSM)
psm
code
85
MMpim
MMcode
MMpim
P
C
pim
code
pim
pim
pim
Model Mapping Examples MDA (PIM? PIM)
pim
code
86
CWM
HTML
CWM
M
C
table
html
table
table
table
Model Mapping Example CWM
table
html
87
XML Schema
XML Schema
HTML
C
P
xml
html
xml
xml
xml
Model Mapping Example XSL, XPath, XSLT
xml
html
88
Source 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
Write a Comment
User Comments (0)
About PowerShow.com