Framework for Metamodel Interoperability ( MMF ) ISO/IEC ,2,3,4 ( Draft CD/WD ) for discussion ISO/IEC/JTC1/SC32/WG2 meeting Washington DC Masaharu Obayashi
Changes at 2 nd (draft) CD CD reviewed and revised based on 1 st CD comments and resolutions, also discussion with experts Change inheritance from MDR and MOF Administered Item from MDR Avoid direct inheritance from MOF Change package structure Divide normative and informative Harmonize metamodel with Ontology (part 3) and Mapping (part 4) Specification reviewed and redefined for affect of above changes
Scope This part of ISO/IEC applies to activities including: 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 the 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.
Scope (objectives) inter-enterprise connection –Using standardized business objects, inter-enterprise connection among customers, trading partners and business partners would be available. In addition, if a compliant model that is created based on common business objects were adopted, the interoperability among the subsystems of each section of an enterprise would be maintained in the ease way. standardization for core models –As a standard model among enterprises or in an industry, if business objects and core models were defined independent of any particular platform, the development of components and tools conforming standard functions or interoperability would be enabled. Then, the solution business by vendors would be promoted. stability and reusability of a standard model –In some cases, the lifecycle of a business application may be longer than one of hardware or platform. If a business application were built based on a business object model that was independent of any particular platform, remaking the same application on a new hardware or a particular platform would be easy and flexible by generating the code of its application from the model. Much of the maintenance cost of the lifecycle could be reduced.
Messages Developing sharable model is best promoted through accumulation of Metamodels and Ontologies Metadata about target could be also registered as a Metamodel including metaclasses and attributes Registry must be defined with separated from target MMF works to manage Granularity, Scale, and Context Using ‘Components’ to express Context Define Concepts with Components from different scales and methodologies ‘Signs’ must be separated from Concepts ‘Concepts governs Instances’ (e.g. “is-kind-of” = “governs” ) –“Employee is a kind of person” means “The model of all employees governs the model of persons” Bridging scales and context with Ontologies and Mappings Linking Ontologies to integrate or to map Metamodel and model
Framework of Registering (1) Sign-Concept-Referents Sign a symbol designating a named element in a namespace. Namespace is a collection of signs Concept specify meaning of sign. generally expressed with sign. Referents a set of instance of the Concept designated by a sign. Selection a result of selecting a set of model instance from referents designated by a sign.
Framework of Registering (2) Model Concept-Model Domain-Model Instance Model Concept (Sign) designate a named element in a namespace. Namespace is a collection of signs defined by a submitted organization Signs should be unique within the particular Namespace Model Domain (Concept) specify meaning of the sign. Model Classifier of Model Domain is generally expressed with the sign. A sign is corresponding to a Model classifier The meaning of Model Domain is provided by Model Profile Model Instances (Referents) a set of instance of the Concept designated by the sign. governed by Model Domain should satisfy the constraints concerning the Model Domain. Model Selection Model Selection is a result of selecting a set of model instances from Model Instances designated by a sign.
Model Domain Namespace Model Concept Model Selection Model Instance Model Components (Lower Model) Named Element Model Classifier conceptsign specified bywithin referent Model Components Model Profile (Upper Model) Model Specification defines has governs Basic Scheme of Target Objects
Target Objects World Structure of Registered Target Objects Multi-forest There are many SDOs and organizations that will register a Model profile There will be many kinds of Model profile developed by SDOs A set of Model profiles may be registered as a family Multi-layer A Model classifier in a Model profile governs a Model instances A Model component in Model instances may be also registered as another Model classifier in the same Model profile or the other one. Multi-component A Model classifier may consist of elements including external objects that are selected from in another registered Model instances
Model Profile (Upper Model) Model Components (Lower Model) Employee AddressPerson Persons at J-Company Addresses at A-district Persons at K-company Addresses at B-district Target Objects (Simple) Model Classifier Model Instance Model Domain Manager Staff Office Home governing
Model Profile (Upper Model) Model Components (Lower Model) Employee AddressPerson Employees at J-Company Employees at K-company Target Objects (Composed) Model Classifier Manager Staff Office Home Model Domain Model Instance governing
Model Profile (Upper Model) Model Components (Lower Model) Model Classifier Registered Target Objects (Simple) Model Domain Model Instance Model Concept governing
Model Components (Lower Model) Model Profile (Upper Model) Model Classifier Registered Target Objects (Composed) Model Domain Model Instance Model Concept governing
DB (Hospital A) DB (Hospital B) Model Selection Staff Jones Home Washington Staff Home Using Registered Target Objects
Model Components Namespace Model Components (Lower Model) Model Profile (Upper Model) Named Element Model Classifier Named Element Model Components (Lower Model) Model Concept Model Selection Model Domain Model Instance Model Specification has defines governs Target Objects for a Model Profile
connected with Model Selection Composed Target Objects
Layered Target Objects Register again Lower model as Upper model with name model name model name
Overview of Target Objects World (1) Structure of Registered Target Objects Multi-forest Multi-layer Multi-component
Model Domain(concept) ModelInsatances (referents) Model Concept (sign) NameSpace Model Selection Overview of Target Objects World (2) Model Component NamedElement
Skeleton (overview ) Skeleton (detail) Overview of Target Objects World (3)
What is “Governing”? Metamodel and Model Metamodel (upper) Define the abstract syntax for expressing the lower governing model Described using MOF, the other notation may be allowed as informative Model (lower) Described using UML, the other notation may be allowed as informative Should be expressed according to concrete syntax governed by upper metamodel Model and Model Model (upper) Described using UML, the other notation may be allowed as informative Has role as a source model for derived lower models Model (lower) Described using UML, the other notation may be allowed as informative Should be derived from based on governed upper model Model and Element Model (upper) Described using UML, the other notation may be allowed as informative Has role as a source model for corresponding value sets Element (lower) Described using UML, the other notation may be allowed as informative Should be enumerated for upper model governing values
… + Model ProfileModel Classifier Upper Model (metamodel) Model Component (with Model Selection) Model Instances Model Classifier (Lower Model) Model Component (with Model Selection) Namespace Model Selection governing Framework of Registering (3) Skeleton (detail)
… + Onto Profile Onto Source Onto Expression Onto Instances Onto Rule Relationship between Core and Onto
… Onto Onto Rule Relationship between Onto and Onto
MMF Mapping
… Model Transformation Relationship between Onto and Mapping
Mapping of Composite Elements Mapping for Model Instance Model Mapping World
Observation ActCode LOINC SNOMED Lab Observation Ont Observation ActCode HL7V3 Ont Observation ActCode Instance Model Domain Namespace Ont Domain Ont Components Ont Instance Model Concept Model Selection Model Instance Model Components (Lower Model) Model Classifier Model Profile (Upper Model) Named Element Ont Classifier Ont Profile Set of Model Instances Upper is Governing Lower Selected Element Defining Semantics between Upper and Lower CodedValue Model Type Notation for explanation
ModelClassifier The category of Model Classifier Pattern Communication Message Component Framework Stereotype Tag Value Vocabulary Term Coded Value Data type Product Website Methodology
Registered Target Objects (1) Model Profile Define a standard or profile composing of the model elements such as Upper Model, Model Specification, Model Construct, and Model Component. Upper Model Model Classifier Model Component Specification Document External Reference + Model Profile Model Classifier Upper Model (metamodel) Model Component External Reference
Registered Target Objects (2) Model Profile Upper Model define classes and association of the concepts used in the specification identify the model classifiers to be used as a sharable element provide an abstract syntax for describing lower governing model described using MOF, the other notation may be allowed + Model Profile Model Classifier Upper Model (metamodel) Model Component External Reference
Registered Target Objects (3) Model Profile Model Classifier define a typed model as a package govern associate model instances described using UML, the other notation may be allowed BCC BBIE ACC BIE ABIE CC Instance of ModelClassifier + Model Profile Model Classifier Upper Model (metamodel) Model Component External Reference
Registered Target Objects (4) Model Profile Model Component define specialized Model Constructs that may be assembled with a set of Model Classifier or Model Selection described using UML, the other material may be allowed + Model Profile Model Classifier Upper Model (metamodel) Model Component External Reference Person Name : Text Birth Date : Date ( 論理ビュー から ) > Country Country Name; Identifier Population : Numeric ( 論理ビュー から ) > Address Street;Text ZIP_Post Code : Text Town : Text ( 論理ビュー から ) > Residence Office Address Address Country ACC
Registered Target Objects (5) Model Profile Specification Document described by natural language, document file type should be specified may include Upper model, Model classifier and Model construct as a document if necessary format original source issue date version status title purpose scope normativeReference termDefinitions comformance Specification + Model Profile Model Classifier Upper Model (metamodel) Model Component External Reference
Registered Target Objects (summary) … + Model ProfileModel Classifier Upper Model (metamodel) Model Component Model Instances Model Component Namespace governing External Reference LowerModel
UBL BBIE/ABIE CC/BIE Library BIEs BCC/ACC Data Type examples from ebXML UpperModel (overview)
CC/BIE Metamodel (ebXML) UpperModel (detail) and ModelClassifiers BCC BBIE ACC BIE ABIE CC Instance of ModelClassifier
CC/BIE Instances ModelComponent (1) BCC Instance of ModelClassifier Insatnce of ModelClassifier Pointing instanfce of ModelSelection Person Name : Text Birth Date : Date ( 論理ビュー から ) > Country Country Name; Identifier Population : Numeric ( 論理ビュー から ) > Address Street;Text ZIP_Post Code : Text Town : Text ( 論理ビュー から ) > Residence Office Address Address Country ACC
CC/BIE Instances ABIE Pointing instance of ModelSelection ModelComponent (2) BCC
CC/BIE Instances BCC ACCABIE ModelComponent (3) ModelSelection ModelInstance (ABIE for Person) ACC- Person Component ModelClassifier (ACCPerson)
ModelInstances (BIE message)
CC/BIEMetamodelPROFILE (ebXML) Registry Class UniqueIdentifier Dictionaly EntryName Definition ( 論理ビュー から ) Data Type QualifierTerm ( 論理ビュー から ) Basic CC Property ( 論理ビュー から ) Basic BIE Property ( 論理ビュー から ) +basis Basic Core Component(BCC) ( 論理ビュー から ) Basic Business Information Entity(BBIE) ( 論理ビュー から ) 0..n +basis 0..n Business Context ( 論理ビュー から ) Business Informaiton Entity(BIE) BusinessTerm ( 論理ビュー から ) Core Component CCTerm ( 論理ビュー から ) 0..n +basis 0..n Association BIE Property ( 論理ビュー から ) Aggreate Business Information Entity(ABIE) QualifierTerm Cardinality ( 論理ビュー から ) 0..n Association CC Property ( 論理ビュー から ) 0..n +basis 0..n BIE Property QualifierTerm ( 論理ビュー から ) Aggregate Core Compnent(ACC) ObjectClassTerm ( 論理ビュー から ) 0..n +basis 0..n CC Property PropertyTerm Carndinality ( 論理ビュー から ) 0..n +basis 0..n BCC BBIE ACC BIE ABIE CC UBL BBIE/ABIE CC/BIE Library BIEs BCC/ACC Data Type
Metamodel of MMF Core Target Registry Relationship Administered Item (MDR2.0) MOF Model (from MOF1.4) ModelClassifier (informative) Level Pair (informative)
Registration Basic Framework
Registered Target Structure
MetaClassAttribute or ReferenceEntry1Entry2Entry3Entry4 ModelConceptadministered Item#C5#C6 withinebXML Namespace signBIEs specified by#D3#D4 ModelDomainadministered Item#D3#D4 specified by#P3#P4 conceptxx Domain model TypeMessages ModelProfileadministered Item#P3#P4 namexx Domain profilezz Domain profile specified byxx metamodelzz metamodel descriptionURI consist ofURI ModelInstancesadministered Item#I9#I10#I11#12 governed by#D3 #D4 referentxx BIE List1xx BIE models1zz1 BIE modelszz2 BIE models construct TypeSpread SheetUML UBL FormatTBG17XMI XMLSchema ModelSelectionadministered Item#S7#S8#S9 generally expressed by#C5 #C6 selecting#I9#I10#11 condition Registration Example
Model Relationship
Category of Registered Target (informative)
Level Pair (informative)
MMF Ontology
MMF Core, Ontology and Mapping
MetaClassAttribute or ReferenceData type Model ConceptadministrationAdministered Item[1..1] withinNamespace:string signNamedElement:string specified byModel Domain[1..1] Onto Conceptschosen fromOnto Domain[1..*] about namesstring[1..*] about namespacestring Model DomainadministrationAdministered Item[1..1] specified byModel Profile[0..*] conceptModel Classifier[0..1] model Typestring Onto Domainabout namespacestring onto typeOnto Classifier[1..*] Model ProfileadministrationAdministered Item[1..1] namestring specified byUpper Model[0..*] descriptionModel Specification[0..*] consist ofModel Component[0..*] Onto Sourceconsist ofOnto Construct[0..*] Registration Form for MMF Core and Onto
MetaClassAttributeData typeMetaClassAttributeData type Model Instances administrationAdministered Item[1..1] governed byModel Domain[0..1] referentsModel Component[0..*] component Typestring formatstring Onto Instancegoverned byOnto Domain[0..1] Onto Variantconsist ofOnto Component[1..1]Onto Localconsist ofOnto Variant[0..*] about transformationTransformation Info[1..1]about compositionComposition Info[1..1] Model Component administrationAdministered Item[1..1] constructNamed Element[0..*] type codeModel Element Type usage codeModel Construct Type typed modelModel Classifier[1..*] External ReferenceModel Selection[0..*] Onto Component has conceptboolean typed ontoOnto Classifier[1..*] consist ofAtomic Onto Construct[0..*] Model SelectionadministrationAdministered Item[1..1] generally expressed byModel Concept[1..1] selectingModel Instance[0..1] conditionstring Onto Selectionselected fromOnto Instance[1..*] expressingOnto Concept[1..*]
Example : MMF Application
An Application of Ontology and Model Mapping Ontology based Data Mapping in CWM
Administered Item
MOF model (from MOF 1.4)
Thanks Request for Comments