inf5120 – modellering med objekter · (brice morin, sintef) 16.04.2011 2 ict ... lego nxt-g...
TRANSCRIPT
16.04.2011
1
ICT
INF5120 – Modellbasert
Systemutvikling
F12: Model Driven Interoperability and Service
Interoperability
Lecture 11.04.2011
Arne-Jørgen Berre
ICT
Agenda
Oblig 2b)
Model Driven Interoperability Intro and 2 articles on MDI
MDI – article 3, A Model-driven Approach to
Interoperability in B2B Data Exchange, (Brice Morin,
SINTEF)
16.04.2011
2
ICT
Oblig 2b) MDI – ModelDriven
Interoperability
Write a description on how you could use an MDI (Model
Driven Interoperability, ref. latest lectures) approach in
order to deal with semantic and technical interoperability –
when integrating your designed part of the Smart House
system with an existing system
Voluntary extension parts for potential discussion: Model driven user interfaces (Applause) for iPhone/Android-
http://www.ralfebert.de/blog/xtext/applause_new_app/
RedSeeds – Model driven use case based development -
http://redseeds.iem.pw.edu.pl/
Lego NXT-G domain specific language for sensors and actuators – describe
how you could have related to models in the NXT-G language -
http://www.ortop.org/NXT_Tutorial/
Could any of the model based approaches be useful for your Oblig 2 work ?
3
ICT
Article 1:
Organizational interoperability
supported through goal alignment with
BMM and service collaboration with
SoaML
I-ESA 2009 paper
Han Fenglin, NTNU
Arne J. Berre, SINTEF
Espen Møller, Oslo University Hospital 22. April. 2009
4
16.04.2011
3
ICT
Article 2:
Model Driven Service Interoperability
through use of Semantic Annotations
I-ESA 2009 paper
Arne-Jørgen Berre
Fangning Liu
Jiucheng Xu
Brian ElvesæterSINTEF ICT
ICT
Article 3:
A Model-driven Approach to
Interoperability in B2B Data Exchange
I-WEI 2011 paper
Dumitru Roman
Brice Morin
Arne-Jørgen BerreSINTEF ICT
16.04.2011
4
ICT
Introduction
Organizations are collaborating with other organizations in
order to meet their business objectives.
For business optimization, organizations re-structure their
business realizations by creating new constellations within
an enterprise and across the organizational border that
need to interoperate.
Key issue: service network, who is to produce the service,
who is to consume the service,business goals.
It seems BMM and SoaML can combine these issues
through:
Align goals with service-centric approach.
ICT
Interoperability Framework
ATHENA Interoperability Framework ( each system is described by
enterprise models and different viewpoints, such as business,
process, service, information)
16.04.2011
5
ICT
EIF version 2.0 (2009)
European Interoperability Framework
ICT
Definition: Interoperability
(Revised in 2008 in EIF v2, to include
common goals !)
16.04.2011
7
ICT
Interoperability levels
ICT
Reference model for Interoperability
- Link to areas in IT architecture
Admin, Business, Citizen A
Organisational
interoperability
Semantic
interoperability,
Informasjons
Innhold med
mening for:
Technical
interoperabilitet
(Technicall
standards)
Presentation
Process, rules
Services
Information/Data
Presentation
Process, rules
Services
Data
Communikasjon
Adm/Metadat
Security
Techn. sem/org
Workprocess
Goals
Organisation
Product
Concepts
Communikation
Organisational harmonisation,
in particular around process
Shared understanding of
the meaning/semantics i innhold ved
bruk av teknologier for
presentasjon/prosess/tjeneste/data
Interoperable technologies
Organisational interoperability
Semantic interoperability
Technical interoperability
T. sem/org. mod.
Sikkerhet
Adm/ Metadata
Kommunikasjon
Data
Tjenester
Prosess
Presentasjon
T. sem/org. mod.
Sikkerhet
Adm/ Metadata
Kommunikasjon
Data
Tjenester
Prosess
Presentasjon
T. sem/org. mod.
Sikkerhet
Adm/ Metadata
Kommunikasjon
Data
Tjenester
Prosess
Presentasjon
T. sem/org. mod.
Sikkerhet
Adm/ Metadata
Kommunikasjon
Data
Tjenester
Prosess
Presentasjon
Admin, Business, Citizen B
Organisational
interoperability
Semantic
interoperability,
Informasjons
Innhold med
mening for:
Technical
interoperabilitet
(Technicall
standards)
Presentation
Process, rules
Services
Information/Data
Presentation
Process, rules
Services
Data
Communikasjon
Adm/Metadat
Security
Techn. sem/org
Workprocess
Goals
Organisation
Product
Concepts
Communikation
16.04.2011
8
ICT
Reference model for Interoperability
vs IDAbc EIF version 1
Organisational Interoperablilitet
Semantic Interoperability
Technical Interoperability
Admin, Business, Citizen A
Organisational
interoperability
Semantic
interoperability,
Informasjons
Innhold med
mening for:
Technical
interoperabilitet
(Technicall
standards)
Presentation
Process, rules
Services
Information/Data
Presentation
Process, rules
Services
Data
Communikasjon
Adm/Metadat
Security
Techn. sem/org
Workprocess
Goals
Organisation
Product
Concepts
Communikation
Organisational interoperability
Semantic interoperability
Technical interoperability
Admin, Business, Citizen B
Organisational
interoperability
Semantic
interoperability,
Informasjons
Innhold med
mening for:
Technical
interoperabilitet
(Technicall
standards)
Presentation
Process, rules
Services
Information/Data
Presentation
Process, rules
Services
Data
Communikasjon
Adm/Metadat
Security
Techn. sem/org
Workprocess
Goals
Organisation
Product
Concepts
Communikation
ICT
Model Driven Interoperability
16.04.2011
9
ICT 17
Current MDA Interoperability Architecture
CIM/EM
models
PIM
System
models
PSM
System
models
System
Ref.
ontologySemantic
annotation
Semantic
annotation
Semantic
annotation
CIM/EM
models
PIM
System
models
PSM
System
models
System
Semantic
annotation
Semantic
annotation
Semantic
annotation
Sem.mapping
Technical
mapping
Interoperability
executionIF IF
ICT
Run-time
Sem
Annot
Set
#2
InternetSem
Rec
Rules
#2
Local
Software
&
Data
SwApp#1
Local
Software
&
Data
SwApp#2Sem
Annot
Set
#1
Sem
Rec
Rules
#1
ReferenceOntology
Architecture for semantic annotation and reconciliation
Reconciliation
Design-time
16.04.2011
10
ICT
Contents
Introduction
Description of EMPOWER and MEMPOWER
EMPOWER Project
MEMPOWER Project
Comparison Semantic mappings
Conclusion & Further work
ICT
EMPOWER
an innovative framework for interoperability between
enterprise systems
a flexible and extensible architecture
a system environment
System Interoperability LayerInteroperable
Enterprise
Service
Designer
Wrapper Definition
and CustomizationWeb Services
Repository
Semantic Adaptation Layer
(2)Services
Semantic
Annotator(SAWSDL
)
(3)Ontology
Handling
Utilities(OWL
)
(5)Transformation
s Creator
Interoperable
Enterprise Service
Wrapper
Mediator Services
Web ServerSemantic Services
Registry
Transformations
Repository
Model
Repository
Legacy System Wrappers
Legacy Systems
(1)WSDL, OWL-S, WSML(4)Semantic
Map
16.04.2011
11
ICT
a Model Driven variant of EMPOWER,
Compare with advantages and disadvantages of Model
Driven Interoperability
MEMPOWER
System Interoperability Layer
SemaphoreWrapperWeb Services
Repository
(1)Model Mapping (SoaML)
Legacy System Wrappers
Legacy Systems
(4)Model
Map
Semantic Adaptation Layer
(2)SAM (3)ODM
(5)Model
Transformation
ServicesWrapper
Mediator
ServerSemantic
Services
Registry Transformation
s Repository
Model
Repository
Ontology Definition Meta-model is a
family of MOF meta-models,
mappings between those meta-
models, and a set of profiles that
enable ontology modeling through the
use of UML-based tools.
SoaML describes the services models. The
Model Mapping in the MEMPOWER
includes transformations from models to
ontology and ontology to models.
Semantic Annotation Model editor
is used to relate different PIM models
and ontology. It is used to annotate
the SoaML model with Ontology.
Model Transformation Services
support the runtime lifting and lowering
transformations among messages and
ontologies based on the Model Map.
Model Map stores mapping rules.
ICT
The EMPOWER Enterprise
Interoperable Services Semantic Map
22
16.04.2011
13
ICT
Use of SoaML for PIM modeling
25
ICT
SAM – Semantic Annotations tools
26
(SASO: semantic annotation tool using SoaML and ODM)
16.04.2011
15
ICT
Address in Source and UML
29
ICT
“Address” in the source and target
transformation rules
30
16.04.2011
16
ICT
“Address” transformations from
source.xml and target.xmi
31
ICT
SAM editor realized in tree views
32
16.04.2011
17
ICT
Interface of demo
A simple example of class
annotations on the PIM
level
Annotations
Ontology is represented as a
structured and classified tree view. It
shows the properties and relationships
between those classes.
ICT
<soaml:Class name="POMessage” saName=“PurchaseOrderMessage”soaml:sterotype="messageType">
</soaml:Class><soaml:Class name="Customer" saName=“Customer”
soaml:sterotype="DataType"><soaml:Attribute name="customerId" saName=“hasCompanyRegNo”
type="String" modifier="public" /><soaml:Attribute name="name" saName=“hasComanyName”
type="Name" modifier="public" /><soaml:Attribute name=“address“ saName=“hasAddress”
type="String" modifier="public" /><soaml:Attribute name=“creditScore" type="Integer" modifier="public" />
</soaml:Class>
After annotating and exporting the model, you will get the file with a additional attribute. The annotations are displayed in red.
16.04.2011
18
ICT
Semantic Mapping
1. Ontology-based mapping on the PSM-Level (EMPOWER)
2. Direct mapping on the PSM-Level
3. Ontology-based mapping on the PIM level(MEMPOWER)
4. Direct mapping on the PIM level
1 2 3 4
Approach Ontology-based PSM
Direct mapping PSM
Ontology-based PIM
Direct mapping PIM
ICT
Example: Address
Address in
Target.xsd has only
one elements:
Address
Address in Source.xsd
is divided into three
elements: Address,
Place, and Province
Address in Ontology is
divided into three
elements: Address,
Region, and Province
16.04.2011
19
ICT
1.PSM: Ontology-based Annotation based on ontology on the PSM-level
--Annotate source.xml and target.xml using Ontology
Ontology
Source.xml
Address
annotation
ICT
2.PSM: Direct Mapping Mapping without ontology on the PSM-level
--Map between source.xml and target.xml (xsl:easy)
Target.xml
Source.xml
16.04.2011
20
ICT
3.PIM: Ontology-based 1.Transformation From PSM level to PIM level
--Generate sources.uml and target.uml from schemas (HyperModel Designer
3.1)
Address in Source.xsd
Address in Source.uml
corresponds to
Source.xsd
ICT
3.PIM: Ontology-based 1.Transformation From PSM level to PIM level
--Generate sources.uml and target.uml from schemas (HyperModel Designer
3.1)
2.Mapping Between Models based on ontology on the PIM level
Step 1: Generate meta-models
of models and ontology using EMF
16.04.2011
21
ICT
3.PIM: Ontology-based 1.Transformation From PSM level to PIM level
--Generate sources.uml and target.uml from schemas (HyperModel Designer
3.1)
2.Mapping Between Models based on ontology on the PIM level
Step 2:Create mapping rules from
source to ontology, and ontology to
target using ATL
Ontology-
Target
Source-
Ontology
ICT
3.PIM: Ontology-based 1.Transformation From PSM level to PIM level
--Generate sources.uml and target.uml from schema (HyperModel Designer
3.1)
2.Mapping Between Models based on ontology on the PIM level
Step3: Transform source into
ontology and ontology into target
16.04.2011
22
ICT
Transformation Between Models without ontology on the PIM level
--Use Semaphore tool to map source to target
4.PIM: Direct Mapping
Source.uml
Target.uml
ICT
Conclusion
Ontology -based mapping (S-O-T) VS Direct mapping (S-T) on
the PIM level
2N vs N²
Ontology
model
Model A
Model C
Model F
Model E
Model D
Model B
Model A
Model D
Model C
Model C
Model C
Model B
Mapping between all model pairs will result in N-squared
mappings
Mapping between each model and ontology will result a linear growth of number of mappings
Standard
Ontology
16.04.2011
23
ICT
Conclusion
Mapping PIM-Level VS PSM-Level
Ontology-basedPSM
Direct mapping PSM
Ontology-basedPIM
Direct mappingPIM
Mapping 2N N² 2N N²
StandardOntology
Y N Y N
PlatformIndependent
N N Y Y
Multi-source documents
Input
N N Y Y
Multi-target documents
Output
N N Y Y
ICT
Conclusion & Further work
Conclusion
Ontology-based semantic annotations reduces mapping times
from N-squared to 2N, but cost is a standard ontology.
Model Driven approach supports the interoperability independent
from platform technologies, compared to a platform specific
technical approach.
Further work
Implement multiple industrial use cases with five scenarios for
comparing EMPOWER and MEMPOWER.
16.04.2011
24
ICT
Another example of Ontology-
based Service: Message
Reconciliation
ICT
Ad hoc reconciliation vs Ontology-based
Reconciliation
Ad-Hoc
Based on ad hoc adapters between pair of partners
Not scalable respect to the growing of the number of partners
Ontology-based
Highly independent solution, the semantic annotation does
not depend on the other business partners
Highly scalable, the complexity of the Semantic Annotation
does not depend on the cardinality of the partners
16.04.2011
25
ICT
Ontology-based reconciliation
Local Schema Local Schema
Enterprise A Enterprise B
Semantic
Annotation
Semantic
Annotation
Reconciliation
Rules
Customized
MRE
Customized
MRE
Reconciliation
Rules
Local Data Local Data
Design phase
Run-time phase
Interch.
Repres.
ReferenceOntology
FWD transf BWD transf
BWD transf FWD transf
SW App SW App
Semantic Mediation
and Reconciliation
Platform
Semantic Mediation
and Reconciliation
Platform
ICT
Lossless and Lossy Annotations
Lossless SA: when the annotation fully captures the intended
meaning
A Local Schema (LS) element corresponds exactly to a concept in
the RO
The meaning of a LS element can be precisely derived from
concepts in the RO
Lossy SA: when the annotation fails to fully representing the
intended meaning
The meaning of a LS element does not have a matching concept in
the ontology, nor the possibility of deriving it, since:
- the intended meaning is outside the scope of the RO
- The LS elem is not sufficiently refined (i.e., it does not match the
accuracy level of e ontology) [underspecification]
- The LS element presents a level of refinement not deemed useful
[overspecification]
16.04.2011
26
ICT
Example of Mismatch
Structuring
Purchase Order
• Order_Number
• Order_Date
• Buyer_Info
– Name
– Address
• Street_Name
• Street_Num
• City_Post_Code
• Country
– Telephone
• Products_Info
– Product_Code
– Description
– Quantity
– Price (unitary)
• Currency (Dollar, Euro, Pound)
• Charge
• RequestedDeliveryDate
Sale Order
• Date
• Organization_Name
• Contact_Person
• Location– Street_Address
– City
– LoCode
– Country
• Phone_Number– Area_Code
– Number
– Ext
• Client_Order_Number
• Order_Lines– Product_Code
– Description
– Quantity
– Price (total per line)
• Currency (USD, Euro, Yen)
• Total
EnterprA (Buyer) EnterprB (Supplier)
ICT
Ontology-based Reconciliation Approach
Address
Street SnumCountryZip_Code
Location
Street_Address
Reference Ontology
City
Street_Name
Street_Number
City-Post_Code
Country
LoCode
Country
City
16.04.2011
27
ICT
Local Schema (LS) Reference Ontology (RO)
Purchase Order (PO)
…
Address
…
City-Post_Code: literal
Address [
…
City : literal
Zip_Code: literal ]
Structuring Clash
Example of actual reconciliation
LS.PO.Address.City-Post_Code =:
RO. Address.City AND RO.Address.Zip_Code
Semantic Annotation
unpack(LS.PO.Address.City-Post_Code, “-”)
(RO.Address.City, RO. Address.Zip_Code)
ReconciliationRule
{“Rome - 00185”} {“Rome”, “00185”}Run-time Reconciliation
ICT
…
<xsd:element name=“Address”>
<xsd:complexType>
<xsd:sequence>
<xsd:element name=“Street_Name”
type=“xsd:string”/>
<xsd:element
name=“Street_Number”
type=“xsd:positiveInteger”/>
<xsd:element name=“City-
Post_Code” type=“xsd:string”/>
<xsd:element name=“Country”
type=“xsd:string”>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
…
…<owl:Class rdf:ID=“Address”/>
<owl: DatatypeProperty rdf:ID=“Street”><rdfs:domain rdf:resource=“Address”/><rdfs:range rdf:resource=“&xsd;string”/>
</owl: DatatypeProperty><owl: DatatypeProperty rdf:ID=“Snum”>
<rdfs:domain rdf:resource=“Address”/><rdfs:range rdf:resource=“&xsd;positiveInteger”/>
</owl: DatatypeProperty><owl: DatatypeProperty rdf:ID=“City”><rdfs:domain rdf:resource=“Address”/><rdfs:range rdf:resource=“&xsd;string”/>
</owl: DatatypeProperty><owl: DatatypeProperty rdf:ID=“Zip_Code”>
<rdfs:domain rdf:resource=“Address”/><rdfs:range rdf:resource=“&xsd;string”/>
</owl: DatatypeProperty><owl: DatatypeProperty rdf:ID=“Country”>
<rdfs:domain rdf:resource=“Address”/><rdfs:range rdf:resource=“&xsd;string”/>
</owl: DatatypeProperty>…
Local Schema (XML Schema) Reference Ontology (OWL)
16.04.2011
28
ICT
From Semantic Annotation to Transformation Rules
order.has_orderHeader.has_buyerInfo.has_organisationInfo.has_contactPerson.has_name
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson. hasPart _FirstName
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson.hasPart _Surname
>:
AIDIMA
order
RO
orderorder
order
header
order
header
products
info
products
info
supplier
info
supplier
info
buyer
info
buyer
infoorg
info
org
info
contact
person
contact
person namename
orgNameorgName
address
details
address
details
product
record
product
recorddescriptiondescription
productCodeproductCode
quantityquantity
……
……
……
buyerOrderNumberbuyerOrderNumber
……
……
orderorder
order
header
order
header buyer
info
buyer
infoorg
info
org
info
contact
person
contact
person namename
orderorder
order
header
order
header buyer
info
buyer
infoorg
info
org
info
contact
person
contact
person namename
PurchaseOrderPurchaseOrder
OrderLineOrderLine
IDID IssueDateIssueDate
BuyerBuyer
SupplierSupplier
Contact
Person
Contact
Person
SurnameSurnameFirstNameFirstName
ProductProduct
LinePriceLinePriceQuantityQuantity
BODBOD
AA AA
BOD
AA
BA
CABA
BA
AA
AA
DescriptionDescriptionAA
NameName
AA
YearYearAA
MonthMonthAA
PurchaseOrderPurchaseOrder
BuyerBuyer
Contact
Person
Contact
Person
SurnameSurnameFirstNameFirstName
PurchaseOrderPurchaseOrder
BuyerBuyer
Contact
Person
Contact
Person
SurnameSurnameFirstNameFirstName
Split
SSAX
SPLITorder.has_orderHeader.has_buyerInfo.has_organisationInfo.has_contactPerson.has_name
INTO
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson.hasPart_FirstName
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson.hasPart_Surname
Forward
Transf Rule
ICT
An example of Transformation Rule in the Jena2 syntax
NameSplitting:
[(?x0 rdf:type ai:order)
(?x0 ai:has_orderHeader ?x1) (?x1 rdf:type ai:orderHeader)
(?x1 ai:has_buyerInfo ?x2) (?x2 rdf:type ai:buyerInfo)
(?x2 ai:has_organizationInfo ?x3) (?x3 rdf:type ai:organizationInfo)
(?x3 ai:has_contactPerson ?x4) (?x4 rdf:type ai:contactPerson)
(?x4 ai:has_name ?x5)]
[(?x0 rdf:type ro:PurchaseOrder_BOD)
(?x0 ro:relTo_Buyer ?x2) (?x2 rdf:type ro:Buyer_BA)
(?x2 ro:relTo_ContactPerson ?x4) (?x4 rdf:type ro:ContactPerson_BA)
Split(?x4, “ ”, ?y1, ?y2, 'http://www.w3.org/2001/XMLSchema#string')
(?x4 ro:hasPart_FirstName ?y1) (?x4 ro:hasPart_Surname ?y2)]
SPLITorder.has_orderHeader.has_buyerInfo.has_organisationInfo.has_contactPerson.has_name
INTO
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson.hasPart_FirstName
PurchaseOrder_BOD.relTo_Buyer.relTo_ContactPerson.hasPart_Surname
Forward
Transf Rule
Rule in the
Jena2 syntax
16.04.2011
29
ICT
Conclusion and outlook BMM can be used to support discussions on
Organisational interoperability
Support for semantics with ontologies and mediation is
available now
Short term benefit can be gained in the area of services
for semantic interoperability – through the use of
ontologies, and use of mappings and transformations for
information and service interoperability
i.e. – start here from an industrial perspective, establish
ontologies, use these directly or mediate through semantic
annotation.
Semantic Web Services and Service-oriented Semantic
Architectures (SESA) is a promising future technology
Longer term benefits can be expected related to matching
goals with services for process and service composition
and process interoperability 57