Sharing and advancing knowledge and experience about standards, technologies and implementations.
““Metadata DownUnderMetadata DownUnder””: 11th Open Forum on Metadata Registries Sydney, NSW Australia
32N1764
Topics• Model and Metamodel in general• MOF1.4 (ISO/IEC19502)• UML2.0 and MOF2.0• Standard Metamodel
– MOF compliantCWM, SPEM, ODM, MFI
Sharing and advancing knowledge and experience about standards, technologies and implementations.2
META HIERARCHY General::
Sharing and advancing knowledge and experience about standards, technologies and implementations. 3
Four layered Meta Hierarchy came from IRDS
Name
J.Doe
J. Smith
H. Hori
Address
Sydney
New York
Tokyo
Attribute
Name
Address
M-Objects
Attribute
Entity
Entity
IR Level
IRD Level
IRDD Level
IRDS: Information Resource Dictionary System (ISO/IEC 10728)
MOF :Meta Object Facility, OMG
Sharing and advancing knowledge and experience about standards, technologies and implementations. 4
Meta Hierarchy Concept
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Model
Concept
Meta Model
Meta-Meta Model
Value
Data Element
Meta data
Meta-Meta data
Describe
Concept was defined by ISO/IEC 10728 (IRDS) Inherited by MOF
Describe
Object Model
Object Concept(Meta Object)
Object Concept RepresentationMechanism
Column, Table
MetamodelTo describe Column , Table
SQL
Note: ISO/IEC11179 did not aware of 4 level Meta hierarchy.
IRD
IRDD
Mo
M1
M2
M3
5
Problems of Multi level metamodel
• “Diversity of meta concept” Problem
• “Ambiguous Classification” Problem• “Replication of concept” problem
– Shallow Instantiation– Deep Instantiation
Colin Aktinson, Essence of Multilevel Metamodeling (UML2001)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 6
Diversity of the Meta Hierarchy Concept
• Type and Instance• Category or Grouping• Aggregation• Template (Stereotype)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 7
Diversity of Meta Concept
Type
Instances
instantiation
Type
Sub type
Description
Anything
grouping describe
Template
Realization
Apply
Base model
Customized
Base-Variant
Abstract Syntax
Expression
expression
Sharing and advancing knowledge and experience about standards, technologies and implementations.8
Replication of Concept
Essence of Multilevel Memamodeling:Colin Aktinson and Thomas K¨uhne
Sharing and advancing knowledge and experience about standards, technologies and implementations. 9
Dog
Class
A particular instance “Pochi”
Animal
Pet
Instance
Instance of instance
Shallow & Deep Instantiation
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M1
M2
M3
Object property
Object concept
Object conceptMechanism
M0
UML & MOF
Instances
Object conceptMechanism
Object concept
Object concept
Instances
Shallow Instantiation Deep Instantiation
instantiate instantiate
Objectproperty
Objectproperty
instantiate
Objectproperty
Object concept
Instances Instances
Model
Meta Model
Meta-Meta Model
Objectproperty
10
Even in MFO 1.4
MOF core
MOF Model
MOF 1.4M3Level
Sharing and advancing knowledge and experience about standards, technologies and implementations. 11
UML2.0 Core Package
HER Instances
Business Information
Business Documents
MOF
CWM:Object Model
HER definition
CWM: SQL MetamodelBPSS
Healthcare Model
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M0 Layer
M1
M2
M3
UMM Metamodel
CWMebXML
instantiate
12
Model relationship in MFI (ISO/IEC 19763)
X
YZW
VBase -Variant
Type - Instance Syntax -
ExpressionSuper - Sub
M2 level
M1 level
M3 level
Sharing and advancing knowledge and experience about standards, technologies and implementations. 13
How to Register a model
Upper Model
Target Model
•Type and Instance
•Super and Sub
•Base and Variant
•Abstract Syntax and Expression
ISO/IEC 19763-2 : Metamodel framework for interoperability: Part 2: Core Model
Governs
To be Registered
Sharing and advancing knowledge and experience about standards, technologies and implementations. 14
Abstract Syntax-
Expression
Base-Variant
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M0
M1
M2
M3UML2.0 Core Package
HER Instances
Business Information
Business Documents
MOF
CWM:Object Model
HER definition
CWM: SQL MetamodelBPSS
Healthcare Model
UMM Metamodel
instantiate
15
Something Similar to Metamodel
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Something similar to metamodel
• Stereotype• UML Profile• Architecture Models• Model Patterns
Design Pattern Analysis Pattern
Sharing and advancing knowledge and experience about standards, technologies and implementations.
They are not metamodel, but comrades to share a same dream of the model sharing.They can be subjects of the International Standardizations.
17
UML Profiles• Not metamodel• UML Profile:
A set of Stereotypes and Tag Values customized for particular domain modeling
Sharing and advancing knowledge and experience about standards, technologies and implementations.
<<Customer>>
Cust IDCust Name
<<Customer>>
Stereotype
ClassInstance
M1 Layer
18
Published UML Profiles • OMG
UML profile for CORBA UML profile for EDOC UML profile for EAI UML profile for MARTE (Real Time Embedded System) UML Profile for Modeling QoS and Fault Tolerance
Characteristics and Mechanisms SysML (UML Extension)
• ISO/IEC JTC1 SC7UML Profile for RM-ODP
• UN/CEFACT UML profile for CCTS
Sharing and advancing knowledge and experience about standards, technologies and implementations. 19
Catalog of OMG Domain Specifications• Air Traffic Control
• Application Management and System Monitoring (AMSM) for CMS Systems• Audio / Visual Streams• Bibliographic Query Service• Bimolecular Sequence Analysis (BSA)• Business Motivation Model (BMM)• Business Process Definition Metamodel (BPDM)• Business Process Maturity Model (BPMM)• Chemical Structure and Access Representation (CSAR)• Life Sciences Identifiers• Computer Aided Design (CAD) Services• Data Acquisition from Industrial Systems (DAIS)• Gene Expression• Historical Data Acquisition from Industrial Systems (HDAIS)• Laboratory Equipment Control Interface Specification (LECIS)• Metamodel for the Federal Transition Framework (FTF)• OMG Systems Modeling Language (OMG SysML) • Product Data Management (PDM) Enablers • Robotic Technology Component (RTC)• Telecom Service & Access Subscription (TSAS)• etc.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 20
MOF (META OBJECT FACILITY)MOF1.4 (ISO/IEC 19502 )::
Sharing and advancing knowledge and experience about standards, technologies and implementations. 21
What is MOF The Meta-Object Facility (MOF) is the OMG's adopted
technology for defining metadata and representing it as CORBA objects using UML.
The MOF 1.3 specification was finalized in September 1999 (OMG document ad/99-09-05).
The MOF 1.4 specification was submitted to ISO/IEC/JTC1 SC32 by PAS process in 2004 . It has been approved by PAS DIS ballot last December in 2004. (ISO/IEC DIS 19502).
A MOF metamodel defines the abstract syntax of the metadata in the MOF representation of a model.
The MOF model itself describes the abstract syntax for representing
Sharing and advancing knowledge and experience about standards, technologies and implementations. 22
What is MOF (Basic Concept)
• A model which describe an object concept. It is called “the MOF model”.
• It become available by inheriting the MOF model to materialize uniformed and reusable objects and relationships among them
• The MOF model is considered to be situated at the M3(Meta-Meta) layer.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 23
MOF Metamodel Architecture
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Type
Instance
Type
Instance
24
4 Layer Metamodel Architecture
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Layer Description Examples
Metametamodel
Foundation for a Metamodeling Architecture.
Defining the language to describe metamodels
MetaClass,
MetaAttribute,
MetaOperation
Metamodel An Instance of a metametamodel.
Defining the language to describe models.
Class, Attribute,
Operation,
Component
Model An Instance of Metamodel. Defining a language to describe the information object domain.
Product, Unit Price, Customer, Sale, Detail
User Objects( User Data )
An Instance of a Model.
Defines specific information Domain
<Chair>, <Desk>,
$100, $200
25
The relationship between metamodel and model
Sharing and advancing knowledge and experience about standards, technologies and implementations. 26
UML metamodel in the 4 Layers
Sharing and advancing knowledge and expeence about standards, technologies and implementations.27
Basic Idea: How to define an Object
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Set: Employees of company A
Class Emp={ people | people working for company A}
object instance
class
emp # Name
0800101 Adam Smith
0800102 Jon Due
0800103 Hajime Hori
M0 LayerReality
28
Object Concept and Metamodel
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Class
Attribute operation
emp
emp#:name:
Class
enrolment()
attribute
operation
Class name
M1 Layer M2 Layer
Class has Attributes and operations
29
Overview of M3 Layer
Sharing and advancing knowledge and experience about standards, technologies and implementations.
ModelElement
Feature Classifier*
Attribute Operation Interface Class
30
Core portion of MOF
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Every classifier :•is Generalizable,•has Namespace .
A Namespace is consisted by ModleElement.
And
•All classifier are governed by a ModleElement• Some Classifier might be typed by TypedElement
31
Feature in MOF
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Every class has attributes and operations as Feature
32
TypedElement
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Classifier typed by TypedElement is Class, Association or Data Type . Then, TypedElement characterize a classifier.
33
Data Type
Sharing and advancing knowledge and experience about standards, technologies and implementations. 34
Association
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Association between class
35
TypedEl ementCl assi f i er 1 0. . n
General i zabl eEl ementi sRooti sLeafi sAbst ractvi si bi l i t y
al l Supertypes( )l ookupEl ementExtended( )f i ndEl ementsByTypeExtended( )
Model El ementname : St r i ng/ qul i f i edName : St r i ngannotat i on : St r i ng
f i ndRequi redEl ement ( )i sRequi redBecause( )i sFrozen( )i sVi si bl e( )
0. . n
0. . n
NameSpace
l ookupEl ement ( )resol veQul i f i edName( )f i ndEl ementByType( )nameVal i d( )
0. . n
0. . n
0. . 1
0. . n
/ Depends On
+provi der
+dependant
Cont ai ns
+contai nedEl ement
+contai ner
General i zes
+subtype
+supertype
0. . n
0. . n
{ordered}
{ordered}
0. . 1
0. . n
{ordered}
0. . n
0. . n
1 0. . nI sOf Type
+type +typedEl ement
MultiplicityThe end's multiplicity constrains the number of links that may involve one object at one end. It also specifies whether the links have a partial order.
ClassA MOF Class defines the type of an object rather than its implementationSupertypes, Abstract, Singleton, Contents
.
Association References:A MOF object may defined to be “aware” of being in a relationship with other objects via an Association.Name,referenced Association End, changeability
Association:A MOF Association defines a class of links between MOF objects. Derivedness, Changeability, Contents
Association Endname,type,multiplicityaggregation
AttributeA MOF object may have a number of Attributes.Name,type, scope,mmultiplicity, derivedness, changeability
OperationA MOF object can have a number of operationsParameter list, result, exception list
Sharing and advancing knowledge and experience about standards, technologies and implementations.36
The MOF Model
The MOF Model is based on the concepts of object relationship modeling.
The three kinds of building blocks for a meta-information model areObjects (described by MOF Classes),Links that connect objects (described by MOF
Associations), Data values (described by CORBA IDL types).
Instances of these constructs are organized as MOF Packages. CORBA(IDL)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 37
MOF1.4 MOF model (M3 Layer)
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Package
Feature
Behavi oral Feature
St ructural Feature
Constant
Parameter
TypeAl i as
At t r i buteAssoci at i on Cl assDatatype
Cl assi f i er
TypedEl ement
Except i onOperat i on
Associ at i onEnd
Ref erence
I mport
TagConst rai ntNamespace
General i zableEl ement
Model El ement
38
MOF1.4 Metamodel: MOF ClassClass Name:
This is an identifier which obeys the CORBA syntax rules.
Attributes: A MOF object may have a number of Attributes. A MOF Attribute definition has the following components: name, type, scope, multiplicity, derivedness, changeability
Operations A MOF object can have a number of operations (in addition to any implicit operations for accessing and updating attribute values and association links). These are defined by the following components: parameter list, result, exception list
Association References:
A MOF object may defined to be "aware" of being in a relationship with other objects via an Association. This awareness is expressed as an Association Reference, and results in link navigation and update operations being made available in the MOF object's interface. An Association Reference has the following components: name, referenced association End, changeability
Supertypes: An abstract MOF Class is defined so that other Classes may inherit from it. The MOF does not support creation of instances of an abstract Class.
Singleton, A singleton MOF Class is one for which only one instance may exist.
Contents A MOF Class is a "container" for its component features; i.e. any Attributes, Operations and Association References. It may also contain MOF definitions of CORBA types (e.g. typedefs) and Exceptions. 39
MOF1.4 Metamodel: MOF Associations
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Class Name: This is an identifier which obeys the CORBA syntax rules.
Association Ends:
Each MOF Association has precisely two Ends with the following components: name,type,multiplicity, aggregation
Derivedness:
May be defined to be derivable from other information in a model. For example, one can define "substitutability" as a derived relationship between two instances of a given Class.
Changeability:
May be defined so that links cannot be explicitly added or removed. This only makes sense for a derived association.
Contents: A MOF association is a "container" for its Association Ends.
Defines a class of links between MOF objects. Links are always binary and directed; i.e. each one links from one
MOF object to one MOF object.
40
MOF1.4 Metamodel: MOF Packages
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Name: This is an identifier that satisfies the CORBA IDL syntax rules.
Contents: A MOF Package is a "container" for a Classes, Associations and other Packages as well as MOF definitions of CORBA types and exceptions.
Imports: A MOF Package's imports list defines a set of other MOF Packages whose components may be re-used by components defined within the Package.
Supertypes:
A MOF Package's supertypes list defines a set of other MOF Packages whose components form a part of the Package.
serve as the unit of modularisation and reuse of meta-information models.
"instances" of Packages act as collection objects for schemas of related meta-information.
41
XMI(ISO/IEC19503)MOF1.4::
Sharing and advancing knowledge and experience about standards, technologies and implementations. 42
MOF ・ XMI MOF
Is a generic framework for describing and representing meta-information in an CORBA-based environment.
Defines an IDL mapping which allows models expressed using MOF Model constructs to be translated into interfaces CORBA-based meta-information services.
CORBA(IDL)Generate IDLs from metamodel written by MOF IDLs are interfaces for the repository to store
metamodels.Generate IDLs from UML metamodel
XMI ( XML metamodel Interchange)A set of XML schema for transforming MOF based
metamodels into XML schemas, that is for encoding and decoding MOF based metadata.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 43
Sharing and advancing knowledge and experience about standards, technologies and implementations.
7
Layer Spec Example
M3
Meta-metamodel
MOF
M2
Meta-Model
UML Metamodel,IDL MetamodelCWM Metamodel…
MetaClass(“Class”,[MetaAttr(“name”,String),MetaAttr(“Attributes”,List<”Attribute”>)])MetaClass(“Attribute”, …)
M1
Model UML ModelsIDL Models
Class(“StockQuote”,[Attribute(“company”, String),Attribute(“price”,F ixedPoint)]…
M0
Information Instance(data) SotckQuote(“Sunbeam Harvesters”, 98.77)StockQuote(“Ace Taxi CabL td”, 12.32)…
XML
<Class>StockQuote<Attribute>company</Attribute><Attribute>price</Attribute></Class>
XML DTD
<!ELEMENT Class(name,Attribute*)>
XMI
MOF/XMI (XML Model Interchange)MOF
44
Sample UML model to be Interchanged
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Element
ModelElement
name:Name
Feature
ownerScope:ScopeKindvisibility:VisibilityKind
BehavioralFeature
isQuery:Boolean
Parameter
defaultValue:Expressionkind:ParameterDirectionKind
Classifier
+parameter
+type
45
Sample DTD
Sharing and advancing knowledge and experience about standards, technologies and implementations. 46
XML Statement (Behavioral Feature)
<BehavioralFeature>
<ModelElement.name>create</ModelElement.name>
<Feature.ownerScope>classifier</Feature.ownerScope >
<Feature.visibility>public</Feature.visibility> <BehavioralFeature.isQuery>false </ BehavioralFeature.isQuery> <BehavioralFeature.parameter> <Parameter> <ModelElement.name>size</ModelElement.name> <Parameter.type>Rectangle</Parameter.type> </Parameter> </BehavioralFeature.parameter></BehavioralFeature>
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Window
+create( size:Rectangle )-show( )
Class
47
OMG Standards & ISO Standards
• UML 1.5 (ISO/IEC 19501: 2003) SC7• MOF1.4 (ISO/IEC 19502: 2005) SC32• XMI (ISO/IEC 19503:2005) SC32• SPEM(ISO/IEC27474) SC7• CWM (ISO/IEC DIS 19504 ) SC32
Sharing and advancing knowledge and experience about standards, technologies and implementations.
•UML2.0•MOF2.0 •ODM• BSVR•SysML•IMM
48
Expected to be submitted by PAS
UML2.0 AND MOF2.0
High Resolution Modeling Facility for MDA
Sharing and advancing knowledge and experience about standards, technologies and implementations. 49
Don’t call it “Wine”
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Wine
Water + alcohol + grape essence + mold +….
H2O + CH3CH(OH)CH3 + …..
Atomic periodic table
50
So Many Cores
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Core
Core
Infrastructure
SuperStructure
But, It is very much High Resolution
51
Major changes in the UML at UML2.0
• Metamodeling Facilities in MOF and UML were Integrated as the Infrastructure Library
(MOF model still exist)• Composite Structure• UML Profile Mechanism • Power Type• Little changes in the diagrams
Sharing and advancing knowledge and experience about standards, technologies and implementations. 52
Before UML2.0
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Modeling
ModelingMOF1.4
UML1.5
Meta Model
Domain Model
UML Metamodel
UML1.5
UML MetamodelMOF model
53
UML 2.0
Sharing and advancing knowledge and experience about standards, technologies and implementations.
InfrastructureLibrary
MOF CoreAbstract Syntax
Structure Behavior
Supplement
Superstructure Specification
OCL Spec. DI Spec.
Infrastructure Specification
Use to describe
Use as parts
Overall Structure
Expression
54
Meta level concept in UML2.0 & MOF2.0
• Multiple levels still used• No rigid structure to the Four Layer• The meta layer could be extended to
any level more than two, relatively• However, Type and Instance should be
within two level (Level-pair)• The deep instantiation could be
available with the Reflection capability of the MOF
Sharing and advancing knowledge and experience about standards, technologies and implementations. 55
Composition Structure
Sharing and advancing knowledge and experience about standards, technologies and implementations. 56
Composite Structure example
Sharing and advancing knowledge and experience about standards, technologies and implementations.
customer
Item
Customer
OrderDetails(*) Item(*)
order
order
Order Details
*
*
*
*
*
1
*
* 1
57
From the User View Point
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Domain Model
Domain Metamodel MOF
Modeling Tool
UML Super structure
UMLInfra structure
OCLDI
I-Lib
58
The Core of Cores:
Infrastructure Library
UML 2.0 Infrastructure
59
Infrastructure Library – Contents
PrimitiveTypes(Integer, String, Boolean…)
Abstractions(Grab-bag of fine-grain
OO modeling primitives/mix-ins)
«import»
Constructs(Sophisticated forms ofOO modeling concepts)
«import»
Basic(Simple forms of basic OO modeling concepts: Class, Operation, Package, etc.)
«import»
Profiles(Extensibility mechanisms)
«import»
Sharing and advancing knowledge and experience about standards, technologies and implementations.60
UML Profile in UML 2.x
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Profiles package is owned by the Infrastructure Library package.
61
Power Type
• Power Type of UML (UML2.0 Superstructure, Section 7.2)
• Power Set: Power Set P ( S ) := {A: a set | A ⊆ S } Example; S={a, b, c} … n elements. P= {φ, a, b, c, (a, b), (a, c), (b, c), (a, b,
c)} Number of elements in P = 2n
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Dangerous !!
62
Essence of Multilevel Memamodeling:Colin Aktinson and Thomas K¨uhne
Jim Odell(1994),
Power Type
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Another Discussion: “Power type pattern”
on SPEM (ISO/IEC27474)
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Cesar Gonzalez Perez
64
UML2.0 Superstructure, Abstract Syntax
Sharing and advancing knowledge and experience about standards, technologies and implementations. 65
Contents of the Power Type Package
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M3 level
66
Power type example
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M1 level
UML 2.0 Superstructure Specification
67
Possibility of the problems by Power type
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M1
M2
M3
M0
Object conceptMechanism
Object concept
Object concept Object
concept
instantiate
Objectproperty
Objectproperty
instantiate
Objectproperty
Object concept
Objectproperty
Power Type Package
Object concept
Objectproperty
Objectproperty
Objectproperty
Power Type
object objectobject object object object
object
instantiate
instantiate
68
MOF 2.0UML2.0::
Sharing and advancing knowledge and experience about standards, technologies and implementations. 69
MOF2.0 in UML2.0
MOF 2.0 use UML Infrastructure Library Define a metalanguage kernel that can define
(bootstrap) UML and also be reused to define other OMG MDA metamodels (e.g., MOF, CWM, ODM)
Provide more powerful mechanisms to customize UML
Allow users to define language dialects for platforms (e.g., J2EE, .NET) and domains (e.g., ebusiness, finance, etc.)
Sharing and advancing knowledge and experience about standards, technologies and implementations. 70
Infrastructure Library – Usage
«import»«import» «merge»«merge»
Sharing and advancing knowledge and experience about standards, technologies and implementations. 71
Difference of EMOF & CMOF
Rich constructs for OO modeling
EMOF CMOF
UML2.0 Infrastructure::Infrastructure Library:: core
e.g. association,Package,..
72
EMOF Classes
Sharing and advancing knowledge and experience about standards, technologies and implementations. 73
Constructs merged from Core
Sharing and advancing knowledge and experience about standards, technologies and implementations. 74
EMOF (Essential MOF)
Essential MOF is the subset of MOF that closely corresponds to the facilities found in OOPLs and XML.
The value of Essential MOF is that it provides a straightforward framework for mapping MOF models to implementations such as JMI and XMI for simple metamodels.
A primary goal of EMOF is to allow simple metamodels to be defined using simple concepts
reuse the UML2 Infrastructure.The EMOF Model imports two packages from
MOF. Identity Reflection
Sharing and advancing knowledge and experience about standards, technologies and implementations. 75
CMOF: Complete MOF Model
The CMOF Model is the metamodel used to specify other metamodels such as UML2.
It is built from the Core of UML 2. The Model package does not define any
classes of its own. Rather, it imports packages that together define basic modeling capabilities.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 76
What are brought
MOF Model(Meta-metamodel)
MOF Capability
ReflectionIdentificationExtension
Sharing and advancing knowledge and experience about standards, technologies and implementations. 77
Example of Reflection
Element
getMetaClass(): Classcontainar(): Elementequals(element:object ) Booleanget (property: Property): Objectset (property: Property, value: object)Unset (property: Property)
Factory
Identifier
URIExtent
SemanticDomain
ObjectInstance
Model Repository
Reflection
Client
RepositoryEntry
url : string
+object
1
1..*
1
*+entry
<<use>>
<<instantiate>>
Create (metaClass: Class): Element
uri(object: Element) stringElement (uri: String) : Element Client can access a object specified by an
URI through the reflection packageSharing and advancing knowledge and experience about standards, technologies and implementations. 78
MOF Model Constraint by OCL
[C-1] MustBeContainedUnlessPackageformat1: MUST_BE_CONTAINED_UNLESS_PACKAGEformat2: must_be_contained_unless_packageevaluation policy : deferreddescription: A ModelElement that is not a Package must have a container.
context ModelElement inv: not self.oclIsTypeOf(Package) implies self.container -> size = 1
Sharing and advancing knowledge and experience about standards, technologies and implementations. 79
Semantic Domain in CMOF
Add more functional capabilities for the modeling
Sharing and advancing knowledge and experience about standards, technologies and implementations. 80
MOF BASED METAMODELS
Standard Metamodels::
Sharing and advancing knowledge and experience about standards, technologies and implementations. 81
MOF based Metamodel Standards
• ISO/IEC JTC1 SC32 – MFI (ISO/IEC 19763-n)
• OMG + ISO– ISO/IEC JTC1 SC32
CWM (ISO/IEC DIS 19504) – ISO/IEC JTC1 SC7
SPEM (ISO/IEC27474)• OMG standards expected to be PAS
submission ODM (Ontology Definition Metamodel)SBVR (Semantic Business Vocabulary Rules)MOF2QVT(Query View Transformation)RSA (Reusable Asset Specification) IMM(Information Management Metamodel)Etc.
Sharing and advancing knowledge and experience about standards, technologies and implementations. 82
ISO/IEC19763-1 Reference modelISO/IEC19763-2 Core modelISO/IEC19763-3 Metamodel for
ontology registrationISO/IEC19763-4 Metamodel for
model mappingISO/IEC WD19763-5 Process model
registration
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Metamodel Framework for Interoperability
( MFI )
83
Objectives for MFI Core Registering sharable modeling constructs
MetamodelModelOntologyProfilesPattern
Classification for componentsFrom viewpoint of “Sign-Concept-Instances”
Selection of instance sets for a particular purpose usageAssembly (Composition) of registered componentsPlug and Play with selection
Core Framework for registering Ontology and Model Mapping
Sharing and advancing knowledge and experience about standards, technologies and implementations. 84
ISO/IEC 19763-2 : Core Model (Overview)
Administered Itemdata_identifier : Stringversion : String
ModelComponent
ModelClassifiermodel typeusage typexmi textattachment typeattachment
ModelDomainconformance
ModelInstancescomponentTypeformat
0..*
1 +referent
0..*
1
ModelSelectioncondition
11..*
+selecting
1
+selected by
1..*
ModelConceptmodelType
0..11
+concept
0..11
0..*
1
+specified by0..*
1
1
1..*
+governed by1
+governing1..*
ModelSignnameSpacesign
1
1..*
+generally expressed by1
+expressing1..*
10..*
+specified by
1
+having
0..*
Sharing and advancing knowledge and experience about standards, technologies and implementations. 85
MOF and MFI Core
MOF
MDR- ByMOF
MMF- Core
Classifier
RelationshipRegistry
Target
Level Pair
ObjectByMOF
<<instanceOf>>
<<instanceOf>>
<<instanceOf>>
<<reference>>
<<reference>>
<<reference>>
<<use>>
<<use>>
<<use>> <<use>>
<<use>>
<<use>> <<use>>
M3 Layer
M2, M1, ..,M-n Layer
Target Models
Sharing and advancing knowledge and experience about standards, technologies and implementations. 86
Metamodel for Ontology Registration
Metamodel for MDR(ISO/IEC11179)
ODM
MFI Core model
Any Ontology
Common facility of MDR(ISO/IEC11179)
Data Elements
Terminology
Basic Classes
Basic Relationship
Metamodel for Metamodel for DL
Metamodel for OWL
MOF
MFI-2
MFI-3
MDR standards
Describeregistration
Ontology by ODM
Administration Record
Sharing and advancing knowledge and experience about standards, technologies and implementations. 87
CWM : COMMON WAREHOUSE METAMODEL
Sharing and advancing knowledge and experience about standards, technologies and implementations.
Standard Metamodels::MOF BASED METAMODELS::
88
CWM (Common Warehouse Metamodel)
• ISO/IEC DIS 19504 PAS DIS Balloting was closed on
Dec.,25 2007. BRG (Ballot Resolution Group ) was
formulated.
• A set of metamodel for data resource models.
• 19 metamodels;
Sharing and advancing knowledge and experience about standards, technologies and implementations. 89
Why CWM is needed
• Metamodel for CSV, Record • Metamodel for Multi dimensional data• Metamodel for transformation etc
Application System
DatabaseData
WarehouseData File
CSV,Record,Relation,Object
OLAP toolsMulti dimensional data
Application SystemApplication
System
Sharing and advancing knowledge and experience about standards, technologies and implementations. 90
CWM Metamodels
Sharing and advancing knowledge and experience about standards, technologies and implementations. 91
CWM Core metamodelNothing but MOF model
Sharing and advancing knowledge and experience about standards, technologies and implementations. 92
CWM: Relational Data model
Sharing and advancing knowledge and experience about standards, technologies and implementations. 93
NamedCol umnSet/ opti onScopeCol umn : Col umn/ type : SQLStructuredTypeusi ngTri gger : Tri gger
QueryCol umnSetquery : QueryEsxpressi on
Vi ewi sReadOnl y : Bool eancheckOpti o : Bool eanqueryExpressi on : QueryExpressi on
Col umnSet
Tabl ei sTemporary : Bool eantemporaryScope : Stri ng/ tri gger : Tri ggeri sSystem: Bool ean
CheckConstrai ntdeferrabi l i ty : Deferrabi l i tyType
n
n
Col umnpreci si on : I ntegerscal e : I ntegeri sNul l abl e : Nul l abl eTypel ength : I ntegercol l at i onName : Stri ngcharacterSetName : Stri ng/ opti onScopeCol umnSet : NamedCol umnSet/ referencedTabl eType : SQLStructuredType
n
n+/ constrai nedEl ement
n
+/ constrai nt
0. . 1 n
SQLDataTypetypeNumber : I nteger
1n
SQLSi mpl eTypecharacterMaxi mumLength : I ntegercharacterOctetLength : I ntegernumeri cPreci son : I ntegernumeri cPreci si onRadi x : I ntegernumeri cScal e : I ntegerdateTi mePreci si on : I nteger
SQLDi sti nctTypel ength : I ntegerpreci si on : I ntegerscal e : I nteger/ sql Si mpl eType : SQLSi mpl eType
n
1
n
+/ type
+/ structureal Feature
1n
+sql Di st i nctType
+sql Si mpl eType
n
1
+/ constrai nt
+/ constrai nedEl ement
n
n
+/ owner +/ feature
n0. . 1
{ordered}
{ordered}
{ordered}
ColumnSet
Column
SQLSimpleType
View
SQLDataType
SQLDistincType
Table
NamedColumnSet
CWM: Relational data model
Sharing and advancing knowledge and experience about standards, technologies and implementations.
M1
M2
emp # Name Address
0800101 Adam Smith
0800102 Jon Due
0800103 Hajime Hori
EmployeeColumnSet
NamedColumnSet
Table
94
Metamodel for Record
Sharing and advancing knowledge and experience about standards, technologies and implementations. 95
Recommendations & References
• OMG Specifications: http://www.omg.org/spec/• pUML : <<Google>>• Metamodel.com: <<Google>>
Sharing and advancing knowledge and experience about standards, technologies and implementations.
•D.Gasevic, D.Djuric, V. Devedzic : Model Driven Architecture and Ontology Development, Springer, 2006. ISBN-10: 3-540-32180-2
Book:
Useful sites:
Paper or Presentation:•Bran Selic : Presentation on UML2.0 at OFMR2005, Berlin, •Colin Aktinson: Essence of Multilevel Metamodeling, UML2001, http://www.mcs.vuw.ac.nz/~tk/publications/papers/essence.pdf •C. Gonzalez-Perez: Supporting Situational Method Engineering with ISO/IEC 24744 and the Work Product Pool Approach
96
THANK YOU FOR YOUR ATTENTION
&ENDURANCE
Sharing and advancing knowledge and experience about standards, technologies and implementations. 97