SlideShare a Scribd company logo
1 of 43
Dynamic Synthesis of Mediators
in Ubiquitous Environments
Amel Bennaceur
UPMC PhD Defense
work performed within the ARLES project-team
supervised by Valérie Issarny
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
 Same functionality, various applications
• Heterogeneous Interfaces
2
How to represent files?
What kind of actions can be
performed on these files?
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
 Same functionality, various applications
• Heterogeneous Interfaces
3
& Behaviours What is the order in which these
actions must be performed?
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
 Same functionality, various applications
• Heterogeneous Interfaces
 Diversity of middleware solutions
4
& Behaviours
What is the interaction protocol?
What is the message format?
HTTP/XML
SOAP/XML
REST/JSON
FTP/XML
REST/XML
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
5
FTP/XML
 Same functionality, various applications
• Heterogeneous Interfaces
 Diversity of middleware solutions
 Ubiquity
& Behaviours
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
6
FTP/XML
 Same functionality, various applications
• Heterogeneous Interfaces
 Diversity of middleware solutions
 Ubiquity
& Behaviours
Mediator
Mediator
Mediator
Mediator
Dynamic Synthesis of Mediators
18 July 2013
The Need for Dynamic
Synthesis of Mediators
7
Mediator
 Same functionality, various applications
• Heterogeneous Interfaces
 Diversity of middleware solutions
 Ubiquity
& Behaviours
Dynamic Synthesis of Mediators
18 July 2013
Thesis Statement
Components with compatible functionalities
should be able to interact despite heterogeneities
in their interfaces and behaviors
at both application and middleware layers.
Mediators that seamlessly overcome these
heterogeneities should be dynamically
synthesised and deployed in their environment.
8
Dynamic Synthesis of Mediators
18 July 2013
9
Model of
WebDAV Client
Model of
Google Docs
Service
Domain ontology
Ressource
Document Folder
Thing
Nothing
SpreadSheetFile
Download Upload Delete
Replace
Move
Mediator
Dynamic Synthesis of
Mediators Informed by Ontologies
Model
Extraction
Model
Extraction
Synthesis
Dynamic Synthesis of Mediators
18 July 2013
Modelling Components
10
 Background from Semantic Web Services
 Ontology-based functional semantics
• Capability
• The high-level functionality of a system
• Interface
• A set of observable actions
 LTS-based behavioural semantics
• The way the observable actions are
coordinated
Capability (CapWDAV)
Requires fileManagement
Interface signature (I WDAV)
Behaviour
<Authenticate, {Username, Password}, {Authorisation}>
<Lock, {SourceURI}, {Acknowledgment}>
<MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}>
<ReadFile, {SourceURI}, {File}>
<Unlock, {SourceURI}, {Acknowledgment}>
...
Authenticate
Lock
MoveFile/ReadFile/WriteFile
Unlock
Logout
Behaviour (WDAV)
Dynamic Synthesis of Mediators
18 July 2013
Modelling Components
11
 Background from Semantic Web Services
 Ontology-based functional semantics
• Capability
• The high-level functionality of a system
• Interface
• A set of observable actions
 LTS-based behavioural semantics
• The way the observable actions are
coordinated
• At both application and middleware layers
• Application → Business logic
• Middleware → Communication
& coordination protocol
Capability (CapWDAV)
Requires fileManagement
Interface signature (I WDAV)
Behaviour
<Authenticate, {Username, Password}, {Authorisation}>
<Lock, {SourceURI}, {Acknowledgment}>
<MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}>
<ReadFile, {SourceURI}, {File}>
<Unlock, {SourceURI}, {Acknowledgment}>
...
Authenticate
Lock
MoveFile/ReadFile/WriteFile
Unlock
Logout
Behaviour (WDAV)
SendHTTPRequest[Authenticate]
[Username, Password]
ReceiveHTTPResponse[Authenticate]
[Authorisation]
Dynamic Synthesis of Mediators
18 July 2013
The Steps for
Dynamic Synthesis of Mediators
12
Interface Matching
Generating Correct-by-
Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication
protocols
Overcoming the Heterogeneity of
Application
layer
Middleware
layer
 many-to-many
 under ambiguity
 different interaction
paradigms
 unified
approach
Dynamic Synthesis of Mediators
18 July 2013
Interface Matching - Example
Behaviour
<Authenticate, {Username, Password}, {Authorisation}>
<Lock, {SourceURI}, {Acknowledgment}>
<MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}>
<ReadFile, {SourceURI}, {File}>
<Unlock, {SourceURI}, {Acknowledgment}>
...
(<Authenticate>, <Authenticate>) (<Authenticate>, <SetSharingProperties>) (<MoveFile>, <DownloadDocument>)
(<MoveFile>, <DownloadDocument,
UploadDocument>)
(<MoveFile>, <DownloadDocument,
Authenticate>)
(<MoveFile>, <DownloadDocument,
DeleteDocument>)
(<MoveFile>, <DownloadDocument,
UploadDocument
DeleteDocument>)
(<MoveFile>, <DownloadDocument,
DeleteDocument
UploadDocument>)
(<MoveFile>, <DownloadDocument,
UploadDocument
SetSharingProperties>)
<Authenticate, {Username, Password}, {Authorisation}>
<SetSharingProperties, {SourceURI, SharingProperties},
{Acknowledgment}>
<UploadDocument, {Metadata, Content, DestinationURI},
{Acknowledgment}>
<DownloadDocument, {SourceURI}, {Document}>
<DeleteDocument, {SourceURI}, {Acknowledgment}>
...
(<>, <>)


~
~ ~
  
 ~
13
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Definition of Interface Matching
Matching interface to interface consists in finding all
pairs of actionssuch that a sequence of actions required by
the former can be safely performed using a sequence of
actions provided by the latter. In addition, all pairs are minimal.
But… interface matching computation is NP-Complete
14
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Interface Matching using
Constraint Programming
15
CP Solver
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Interface Matching using CP
 Constraints: safety properties for
and
16
Interface Matching
Generating Mediators
Concretisation
The functionality offered by the provided actions covers that of
the required actions
Each required action has its output data available (also in the
appropriate format) at the time of execution, and
Each provided action has its input data available at the time of
execution.
Dynamic Synthesis of Mediators
18 July 2013
Interface Matching using
Constraint Programming
17
CP Solver
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Ontology Encoding
 But… No CP solver for ontological subsumption
 Define a bit vector encoding of the ontology which is
correct and complete regarding the subsumption
and disjunction axioms.
18
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Ontology Encoding - Example
Presentation SpreadSheet TextDocument
Document
≐ Presentation SpreadSheet TextDocument
File
Presentation SpreadSheet
00101
TextDocument
01001
Document
01111
File
11111
00011
19
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
From Interface Matching
to Matching Process
such that
20
… …
Associate a matching process
…
… … …
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
The Steps for
Dynamic Synthesis of Mediators
21
Interface Matching
Generating Correct-by-
Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication
protocols
Overcoming the Heterogeneity of
Application
layer
Middleware
layer
 many-to-many
 under ambiguity
 different interaction
paradigms
 unified
approach
Dynamic Synthesis of Mediators
18 July 2013
Mediator Synthesis - Example
WebDAV Client Google Docs Service Matching Processes
Mediator
UploadDocument
WriteFile
DownloadDocument
UploadDocument
DeleteDocument
MoveFile
Authenticate Authenticate
Lock
SetSharingPropertiesUnlock
SetSharingProperties
Logout Logout
Authenticate
Lock
MoveFile/
WriteFile
Unlock
Logout
Authenticate
SetSharingProperties/
UploadDocument/
DownloadDocument/
DeleteDocument
Logout

22
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Generating Correct-by-
Construction Mediators
 The mediator composes the mapping processes in order to
allow both components, whose behaviours are
and , to coordinate and reach their final states
 The basic case
 Translation
23
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Generating Correct-by-
Construction Mediators
24
X3
X#1
X#1
X2X2
P'1
P'2
P1
P2
M'
M
Interface Matching
Generating Mediators
Concretisation
X3
X#1
X#1
X2X2
P'1
P'2
P1
P2
M'
M
X3
X#1
X#1
X2X2
P'1
P'2
P1
P2
M'
M
Dynamic Synthesis of Mediators
18 July 2013
Mediator Synthesis
 The mediator composes the mapping processes in order to
allow both components, whose behaviours are
and , to coordinate and reach their final states
 The basic case
 Translation
25
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Mediator Synthesis
 The mediator composes the mapping processes in
order to allow both components, whose behaviours are
and , to coordinate and reach their final states
 Consumption of extra provided actions
26
P'1
P1
P2
M'
M
ββ
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Mediator Synthesis
 The mediator composes the mapping processes in
order to allow both components, whose behaviours are
and , to coordinate and reach their final states
 Consumption of extra provided actions
27
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
The Steps for
Dynamic Synthesis of Mediators
28
Interface Matching
Generating Correct-by-
Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication
protocols
Overcoming the Heterogeneity of
Application
layer
Middleware
layer
 many-to-many
 under ambiguity
 different interaction
paradigms
 unified
approach
Dynamic Synthesis of Mediators
18 July 2013
From Abstract to Concrete
Mediator
 Refine the synthesised mediator
• Translating application data
• Combining ontology relations with schema
matching techniques
• Coordinating middleware protocols
• Deploying the mediator
29
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Data Translations
30
<entry xmlns:gd="http://schemas.google.com/g/2005"
gd:etag="'HhJSFgpeRyt7ImBq'">
<ref>https://docs.google.com/feeds/id/pdf%3AtestPdf</ref>
<published>2012-04-09T18:23:09.035Z</published>
<updated>2012-04-09T18:273:09.035Z</updated>
<app:edited xmlns:app="http://www.w3.org/2007/app">
2009-06-18T22:16:02.388Z
</app:edited>
<title>PDF's Title</title>
<content type="application/pdf"
src="https://doc-04-20-docs.googleusercontent.com/docs/
secure/m71240...U1?h=1630126&amp;e=download&amp;gd=true"/>
<link rel="alternate" type="text/html"
href="https://docs.google.com/ fileview?
id=testPdf&amp;hl=en"/>
<author>
<name>benamel</name>
<email>benamel@gmail.com</email>
</author>
<gd:resourceId>pdf:testPdf</gd:resourceId>
<gd:lastViewed>2012-06-18T22:16:02.384Z
</gd:lastViewed> <docs:writersCanInvite value="false"/>
<docs:md5Checksum>2b01142f7481c7b056c4b410d28f33cf
</docs:md5Checksum>
</entry>
<w:response>
<w:href>https://docs.google.com/feeds/id/pdf%3Ate
stPdf</w:href>
<w:propstat>
<w:status>HTTP/1.1 200 OK</w:status>
<w:prop>
<w:displayname>testPdf.pdf</w:displayname>
<w:author>benamel</w:author>
</w:prop>
</w:propstat>
</w:response>
0.5
0.2
0.6
0.2
WebDAV File
Google Docs Document
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Data Translations
31
 Combine ontology relations with schema matching
techniques
• Subsumption:
Use schema matching tools to find, for each simple data concept in the target,
a corresponding data concept in the source
• Disjunction:
Select the appropriate translation function
such that
• Aggregation:
Use schema matching tools to find, for each simple data concept in the target,
a corresponding data concept in the concatenation of source schemas
Chapter 5. From Abstract to Concrete Mediators
ching to define the function f agg that specifies how the XML elements of
mputed using theXML elementsof Sagg. Hence, thetranslation function
osition of the two functions, i.e., f = f agg ◦ concat.
pplication to the File M anagement Example
Dynamic Synthesis of Mediators
18 July 2013
Coordinating middleware
Protocols- Example
32
ReceiveRequest[MoveFile][SourceURI,DestinationURI]
SendRequest [DownloadDocument][SourceURI]
SendReply[MoveFile][Acknowledgment]
ReceiveResponse [DownloadDocument][Document]
Concretise
DownloadDocument
UploadDocument
MoveFile
Compute Metadata and Content from DocumentDeleteDocument
SendRequest [UploadDocument][Metadata, Content,
DestinationURI]
…
Interface Matching
Generating Mediators
Concretisation
Compute SourceURI
Dynamic Synthesis of Mediators
18 July 2013
Interaction Patterns
33
Provided Action
Required Action
< op, i, a>
< op, i, a>
op = methodN ame
i = argument
a = returnValue
Server
Client
ReceiveRequest[methodN ame][argument]
ReceiveResponse[methodN ame][returnValue]
SendResponse[methodN ame][returnValue]
SendRequest[methodN ame][ar gument]
op = dataChannel
i = data
a = data
Writer
Reader
Write[data]
Read[dataChannel][data]
op = eventType
i = eventType
a = event
Publisher
Subscriber
Publish[event]
Subscribe[eventType]
GetEvent[event]
Unsubscribe
RPC DSM Publish/Subscribe
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Deploying the Mediator
34
Translate req.lock into prov.setSharingPropertiers
Translate req.move into prov.downloadDoc followed by
prov.getUploadDoc followed by prov.getDeleteDoc
Translate req.unlock into prov.setSharingPropertiers
Control
HTTP Parser
HTTP Composer HTTP Parser
HTTP Composer
Mediator
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Assessment
Dynamic Synthesis of Mediators
18 July 2013
Mediator Performance -
File Management
There is an overhead but response time for a request < 1s
36
0
200
400
600
800
1000
1200
1400
1600
1800
WebDAV/WebDAV GDocs/GDocs WebDAV/GDocs Gdocs/WebDAV
Timetoperformaninteraction(ms)
Dynamic Synthesis of Mediators
18 July 2013
C2
Applicability - Case Studies
37
×
×
one-to-one interface matching
one-to-many interface matching
×
×
UAV
Positioning-B
Weather Station
one-to-many interface matching
cross interaction patterns
mediation at runtime
one-to-many interface matching
cross middleware solutions
Instant Messaging
File Management
Event Management
Emergency Management
Dynamic Synthesis of Mediators
18 July 2013
Processing Time per Mediation Step
 Depends on the size of the ontology
 Depends on the type of mismatches
 Negligible for real-world cases
38
Dynamic Synthesis of Mediators
18 July 2013
Conclusion - Contributions
 Generating interface matching automatically
• Further dealing with one-to-many and many-to-many
correspondence
 Synthesising correct-by-construction mediators
• Further dealing with ambiguity of interface matching
 Dealing with differences at both application and
middleware layer
39
Dynamic Mediator Synthesis:
From Theory to Practice
Dynamic Synthesis of Mediators
18 July 2013
40
Conclusion -
The Big Picture
wind
Atmosphere
Thing
Nothing
Ontology
weatherInfo
HumidityTemperature
GetHumidity
Logout
Login
GetWeather
Logout
Login
GetTemperature4
Mediator
req.login
req.getWeather
req.logout
prov.getTemperature
prov.getHumidity
prov.logout
prov.loginEmergent
Middleware
Login(password,.username):.token
GetWeather(token):.weatherInfo
Logout(token):
Binding:'SOAP,RPC
<functionality name="C2Weather" kind="required">
<operation>Weather<operation>
<output> WeatherInformation</output>
</functionality>
Interface
C2 Model
(weather projection)
Behaviour
Capability
Login
GetWeather
Logout
!Login(username,!password):!token
!GetHumidity(token):!humidity
!GetTemperature(token):!temperature
!Logout(token):!acknowledgment
Binding:'HTTP
<functionality name="WeatherStation" kind="provided">
<operation>Weather<operation>
<output> WeatherInformation</output>
</functionality>
Interface
Weather station Model
Behaviour
Capability
Login
GetTemperature
GetHumidity
Logout
DiscoveryCONNECT
Enablers
Dynamic Synthesis of Mediators
18 July 2013
Towards the Next Generation of
Software
 First Generation
• Execution
 Second Generation
• Learning
 Next Generation
• Innovation
41
Dynamic Synthesis of Mediators
18 July 2013
Thank you
Dynamic Synthesis of Mediators
18 July 2013
Further Information
 Home page: amel.me
 ARLES: www.rocq.inria.fr/arles
 CONNECT: connect-forever.eu
 Automated Mediator Synthesis: Combining Behavioural and Ontological
Reasoning, In Proc. SEFM 2013
 The Role of Models@run.time in Supporting On-the-fly
Interoperability, Springer Computing 2013
 Composing Distributed Systems: Overcoming the Interoperability
Challenge, FMCO 2012
 The Role of Ontologies in Emergent Middleware: Supporting Interoperability
in Complex Distributed Systems, In Proc. Middleware 2011
 Middleware-layer Connector Synthesis: Beyond State of the Art in
Middleware Interoperability, In SFM 2011
 …
43

More Related Content

Similar to Dynamic Synthesis of Mediators in Ubiquitous Environments

Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_popeAddy Pope
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Axel Reichwein
 
Towards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTTowards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTHong-Linh Truong
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathonmarvin337
 
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...Ontico
 
Catania Science Gateway Framework
Catania Science Gateway Framework Catania Science Gateway Framework
Catania Science Gateway Framework riround
 
Performance testing overview
Performance testing overviewPerformance testing overview
Performance testing overviewkrishna chaitanya
 
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Chris Richardson
 
Design | expose ap is with cqrs
Design | expose ap is with cqrsDesign | expose ap is with cqrs
Design | expose ap is with cqrselazhiA
 
The Story of the Semantic Grid
The Story of the Semantic GridThe Story of the Semantic Grid
The Story of the Semantic Gridbutest
 
Data Services and the Modern Data Ecosystem (ASEAN)
Data Services and the Modern Data Ecosystem (ASEAN)Data Services and the Modern Data Ecosystem (ASEAN)
Data Services and the Modern Data Ecosystem (ASEAN)Denodo
 
EMC Documenutm xCP 2.2 vs 1.x
EMC Documenutm xCP 2.2 vs 1.xEMC Documenutm xCP 2.2 vs 1.x
EMC Documenutm xCP 2.2 vs 1.xHaytham Ghandour
 
DCUBS MECB middleware in Web 2.0 Project 2012
DCUBS MECB middleware in Web 2.0 Project 2012DCUBS MECB middleware in Web 2.0 Project 2012
DCUBS MECB middleware in Web 2.0 Project 2012James Dellinger
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...Amit Sheth
 
Design | expose ap is with cqr
Design | expose ap is with cqrDesign | expose ap is with cqr
Design | expose ap is with cqrJabar Asadi
 
Refreshing Domain Driven Design
Refreshing Domain Driven DesignRefreshing Domain Driven Design
Refreshing Domain Driven DesignAndré Borgonovo
 
Using Web Services To Integrate a .NET Solution with EMC Documentum
Using Web Services To Integrate a .NET Solution with EMC DocumentumUsing Web Services To Integrate a .NET Solution with EMC Documentum
Using Web Services To Integrate a .NET Solution with EMC DocumentumBlueFish
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliCarl Steinbach
 
Tell Me Quality Documentation
Tell Me Quality DocumentationTell Me Quality Documentation
Tell Me Quality DocumentationMarco Berlot
 
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsDynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsAmel Bennaceur
 

Similar to Dynamic Synthesis of Mediators in Ubiquitous Environments (20)

Osgis2011 edina addy_pope
Osgis2011 edina addy_popeOsgis2011 edina addy_pope
Osgis2011 edina addy_pope
 
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop Overview of OSLC - INCOSE IW 2018 MBSE Workshop
Overview of OSLC - INCOSE IW 2018 MBSE Workshop
 
Towards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoTTowards a Resource Slice Interoperability Hub for IoT
Towards a Resource Slice Interoperability Hub for IoT
 
BarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social HackathonBarCamp KL H20 Open Social Hackathon
BarCamp KL H20 Open Social Hackathon
 
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...
Современная архитектура Android-приложений - Archetype / Степан Гончаров (90 ...
 
Catania Science Gateway Framework
Catania Science Gateway Framework Catania Science Gateway Framework
Catania Science Gateway Framework
 
Performance testing overview
Performance testing overviewPerformance testing overview
Performance testing overview
 
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
Oracle CodeOne 2019: Descending the Testing Pyramid: Effective Testing Strate...
 
Design | expose ap is with cqrs
Design | expose ap is with cqrsDesign | expose ap is with cqrs
Design | expose ap is with cqrs
 
The Story of the Semantic Grid
The Story of the Semantic GridThe Story of the Semantic Grid
The Story of the Semantic Grid
 
Data Services and the Modern Data Ecosystem (ASEAN)
Data Services and the Modern Data Ecosystem (ASEAN)Data Services and the Modern Data Ecosystem (ASEAN)
Data Services and the Modern Data Ecosystem (ASEAN)
 
EMC Documenutm xCP 2.2 vs 1.x
EMC Documenutm xCP 2.2 vs 1.xEMC Documenutm xCP 2.2 vs 1.x
EMC Documenutm xCP 2.2 vs 1.x
 
DCUBS MECB middleware in Web 2.0 Project 2012
DCUBS MECB middleware in Web 2.0 Project 2012DCUBS MECB middleware in Web 2.0 Project 2012
DCUBS MECB middleware in Web 2.0 Project 2012
 
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
MobiCloud: Towards Cloud Mobile Hybrid Application Generation using Semantica...
 
Design | expose ap is with cqr
Design | expose ap is with cqrDesign | expose ap is with cqr
Design | expose ap is with cqr
 
Refreshing Domain Driven Design
Refreshing Domain Driven DesignRefreshing Domain Driven Design
Refreshing Domain Driven Design
 
Using Web Services To Integrate a .NET Solution with EMC Documentum
Using Web Services To Integrate a .NET Solution with EMC DocumentumUsing Web Services To Integrate a .NET Solution with EMC Documentum
Using Web Services To Integrate a .NET Solution with EMC Documentum
 
Exploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with DaliExploiting the Data / Code Duality with Dali
Exploiting the Data / Code Duality with Dali
 
Tell Me Quality Documentation
Tell Me Quality DocumentationTell Me Quality Documentation
Tell Me Quality Documentation
 
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsDynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
 

Recently uploaded

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 

Dynamic Synthesis of Mediators in Ubiquitous Environments

  • 1. Dynamic Synthesis of Mediators in Ubiquitous Environments Amel Bennaceur UPMC PhD Defense work performed within the ARLES project-team supervised by Valérie Issarny
  • 2. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators  Same functionality, various applications • Heterogeneous Interfaces 2 How to represent files? What kind of actions can be performed on these files?
  • 3. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators  Same functionality, various applications • Heterogeneous Interfaces 3 & Behaviours What is the order in which these actions must be performed?
  • 4. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators  Same functionality, various applications • Heterogeneous Interfaces  Diversity of middleware solutions 4 & Behaviours What is the interaction protocol? What is the message format? HTTP/XML SOAP/XML REST/JSON FTP/XML REST/XML
  • 5. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators 5 FTP/XML  Same functionality, various applications • Heterogeneous Interfaces  Diversity of middleware solutions  Ubiquity & Behaviours
  • 6. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators 6 FTP/XML  Same functionality, various applications • Heterogeneous Interfaces  Diversity of middleware solutions  Ubiquity & Behaviours Mediator Mediator Mediator Mediator
  • 7. Dynamic Synthesis of Mediators 18 July 2013 The Need for Dynamic Synthesis of Mediators 7 Mediator  Same functionality, various applications • Heterogeneous Interfaces  Diversity of middleware solutions  Ubiquity & Behaviours
  • 8. Dynamic Synthesis of Mediators 18 July 2013 Thesis Statement Components with compatible functionalities should be able to interact despite heterogeneities in their interfaces and behaviors at both application and middleware layers. Mediators that seamlessly overcome these heterogeneities should be dynamically synthesised and deployed in their environment. 8
  • 9. Dynamic Synthesis of Mediators 18 July 2013 9 Model of WebDAV Client Model of Google Docs Service Domain ontology Ressource Document Folder Thing Nothing SpreadSheetFile Download Upload Delete Replace Move Mediator Dynamic Synthesis of Mediators Informed by Ontologies Model Extraction Model Extraction Synthesis
  • 10. Dynamic Synthesis of Mediators 18 July 2013 Modelling Components 10  Background from Semantic Web Services  Ontology-based functional semantics • Capability • The high-level functionality of a system • Interface • A set of observable actions  LTS-based behavioural semantics • The way the observable actions are coordinated Capability (CapWDAV) Requires fileManagement Interface signature (I WDAV) Behaviour <Authenticate, {Username, Password}, {Authorisation}> <Lock, {SourceURI}, {Acknowledgment}> <MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}> <ReadFile, {SourceURI}, {File}> <Unlock, {SourceURI}, {Acknowledgment}> ... Authenticate Lock MoveFile/ReadFile/WriteFile Unlock Logout Behaviour (WDAV)
  • 11. Dynamic Synthesis of Mediators 18 July 2013 Modelling Components 11  Background from Semantic Web Services  Ontology-based functional semantics • Capability • The high-level functionality of a system • Interface • A set of observable actions  LTS-based behavioural semantics • The way the observable actions are coordinated • At both application and middleware layers • Application → Business logic • Middleware → Communication & coordination protocol Capability (CapWDAV) Requires fileManagement Interface signature (I WDAV) Behaviour <Authenticate, {Username, Password}, {Authorisation}> <Lock, {SourceURI}, {Acknowledgment}> <MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}> <ReadFile, {SourceURI}, {File}> <Unlock, {SourceURI}, {Acknowledgment}> ... Authenticate Lock MoveFile/ReadFile/WriteFile Unlock Logout Behaviour (WDAV) SendHTTPRequest[Authenticate] [Username, Password] ReceiveHTTPResponse[Authenticate] [Authorisation]
  • 12. Dynamic Synthesis of Mediators 18 July 2013 The Steps for Dynamic Synthesis of Mediators 12 Interface Matching Generating Correct-by- Construction Mediators Concretisation Components’ interfaces Components’ behaviours Components’ communication protocols Overcoming the Heterogeneity of Application layer Middleware layer  many-to-many  under ambiguity  different interaction paradigms  unified approach
  • 13. Dynamic Synthesis of Mediators 18 July 2013 Interface Matching - Example Behaviour <Authenticate, {Username, Password}, {Authorisation}> <Lock, {SourceURI}, {Acknowledgment}> <MoveFile, {SourceURI,DestinationURI}, {Acknowledgment}> <ReadFile, {SourceURI}, {File}> <Unlock, {SourceURI}, {Acknowledgment}> ... (<Authenticate>, <Authenticate>) (<Authenticate>, <SetSharingProperties>) (<MoveFile>, <DownloadDocument>) (<MoveFile>, <DownloadDocument, UploadDocument>) (<MoveFile>, <DownloadDocument, Authenticate>) (<MoveFile>, <DownloadDocument, DeleteDocument>) (<MoveFile>, <DownloadDocument, UploadDocument DeleteDocument>) (<MoveFile>, <DownloadDocument, DeleteDocument UploadDocument>) (<MoveFile>, <DownloadDocument, UploadDocument SetSharingProperties>) <Authenticate, {Username, Password}, {Authorisation}> <SetSharingProperties, {SourceURI, SharingProperties}, {Acknowledgment}> <UploadDocument, {Metadata, Content, DestinationURI}, {Acknowledgment}> <DownloadDocument, {SourceURI}, {Document}> <DeleteDocument, {SourceURI}, {Acknowledgment}> ... (<>, <>)   ~ ~ ~     ~ 13 Interface Matching Generating Mediators Concretisation
  • 14. Dynamic Synthesis of Mediators 18 July 2013 Definition of Interface Matching Matching interface to interface consists in finding all pairs of actionssuch that a sequence of actions required by the former can be safely performed using a sequence of actions provided by the latter. In addition, all pairs are minimal. But… interface matching computation is NP-Complete 14 Interface Matching Generating Mediators Concretisation
  • 15. Dynamic Synthesis of Mediators 18 July 2013 Interface Matching using Constraint Programming 15 CP Solver Interface Matching Generating Mediators Concretisation
  • 16. Dynamic Synthesis of Mediators 18 July 2013 Interface Matching using CP  Constraints: safety properties for and 16 Interface Matching Generating Mediators Concretisation The functionality offered by the provided actions covers that of the required actions Each required action has its output data available (also in the appropriate format) at the time of execution, and Each provided action has its input data available at the time of execution.
  • 17. Dynamic Synthesis of Mediators 18 July 2013 Interface Matching using Constraint Programming 17 CP Solver Interface Matching Generating Mediators Concretisation
  • 18. Dynamic Synthesis of Mediators 18 July 2013 Ontology Encoding  But… No CP solver for ontological subsumption  Define a bit vector encoding of the ontology which is correct and complete regarding the subsumption and disjunction axioms. 18 Interface Matching Generating Mediators Concretisation
  • 19. Dynamic Synthesis of Mediators 18 July 2013 Ontology Encoding - Example Presentation SpreadSheet TextDocument Document ≐ Presentation SpreadSheet TextDocument File Presentation SpreadSheet 00101 TextDocument 01001 Document 01111 File 11111 00011 19 Interface Matching Generating Mediators Concretisation
  • 20. Dynamic Synthesis of Mediators 18 July 2013 From Interface Matching to Matching Process such that 20 … … Associate a matching process … … … … Interface Matching Generating Mediators Concretisation
  • 21. Dynamic Synthesis of Mediators 18 July 2013 The Steps for Dynamic Synthesis of Mediators 21 Interface Matching Generating Correct-by- Construction Mediators Concretisation Components’ interfaces Components’ behaviours Components’ communication protocols Overcoming the Heterogeneity of Application layer Middleware layer  many-to-many  under ambiguity  different interaction paradigms  unified approach
  • 22. Dynamic Synthesis of Mediators 18 July 2013 Mediator Synthesis - Example WebDAV Client Google Docs Service Matching Processes Mediator UploadDocument WriteFile DownloadDocument UploadDocument DeleteDocument MoveFile Authenticate Authenticate Lock SetSharingPropertiesUnlock SetSharingProperties Logout Logout Authenticate Lock MoveFile/ WriteFile Unlock Logout Authenticate SetSharingProperties/ UploadDocument/ DownloadDocument/ DeleteDocument Logout  22 Interface Matching Generating Mediators Concretisation
  • 23. Dynamic Synthesis of Mediators 18 July 2013 Generating Correct-by- Construction Mediators  The mediator composes the mapping processes in order to allow both components, whose behaviours are and , to coordinate and reach their final states  The basic case  Translation 23 Interface Matching Generating Mediators Concretisation
  • 24. Dynamic Synthesis of Mediators 18 July 2013 Generating Correct-by- Construction Mediators 24 X3 X#1 X#1 X2X2 P'1 P'2 P1 P2 M' M Interface Matching Generating Mediators Concretisation X3 X#1 X#1 X2X2 P'1 P'2 P1 P2 M' M X3 X#1 X#1 X2X2 P'1 P'2 P1 P2 M' M
  • 25. Dynamic Synthesis of Mediators 18 July 2013 Mediator Synthesis  The mediator composes the mapping processes in order to allow both components, whose behaviours are and , to coordinate and reach their final states  The basic case  Translation 25 Interface Matching Generating Mediators Concretisation
  • 26. Dynamic Synthesis of Mediators 18 July 2013 Mediator Synthesis  The mediator composes the mapping processes in order to allow both components, whose behaviours are and , to coordinate and reach their final states  Consumption of extra provided actions 26 P'1 P1 P2 M' M ββ Interface Matching Generating Mediators Concretisation
  • 27. Dynamic Synthesis of Mediators 18 July 2013 Mediator Synthesis  The mediator composes the mapping processes in order to allow both components, whose behaviours are and , to coordinate and reach their final states  Consumption of extra provided actions 27 Interface Matching Generating Mediators Concretisation
  • 28. Dynamic Synthesis of Mediators 18 July 2013 The Steps for Dynamic Synthesis of Mediators 28 Interface Matching Generating Correct-by- Construction Mediators Concretisation Components’ interfaces Components’ behaviours Components’ communication protocols Overcoming the Heterogeneity of Application layer Middleware layer  many-to-many  under ambiguity  different interaction paradigms  unified approach
  • 29. Dynamic Synthesis of Mediators 18 July 2013 From Abstract to Concrete Mediator  Refine the synthesised mediator • Translating application data • Combining ontology relations with schema matching techniques • Coordinating middleware protocols • Deploying the mediator 29 Interface Matching Generating Mediators Concretisation
  • 30. Dynamic Synthesis of Mediators 18 July 2013 Data Translations 30 <entry xmlns:gd="http://schemas.google.com/g/2005" gd:etag="'HhJSFgpeRyt7ImBq'"> <ref>https://docs.google.com/feeds/id/pdf%3AtestPdf</ref> <published>2012-04-09T18:23:09.035Z</published> <updated>2012-04-09T18:273:09.035Z</updated> <app:edited xmlns:app="http://www.w3.org/2007/app"> 2009-06-18T22:16:02.388Z </app:edited> <title>PDF's Title</title> <content type="application/pdf" src="https://doc-04-20-docs.googleusercontent.com/docs/ secure/m71240...U1?h=1630126&amp;e=download&amp;gd=true"/> <link rel="alternate" type="text/html" href="https://docs.google.com/ fileview? id=testPdf&amp;hl=en"/> <author> <name>benamel</name> <email>benamel@gmail.com</email> </author> <gd:resourceId>pdf:testPdf</gd:resourceId> <gd:lastViewed>2012-06-18T22:16:02.384Z </gd:lastViewed> <docs:writersCanInvite value="false"/> <docs:md5Checksum>2b01142f7481c7b056c4b410d28f33cf </docs:md5Checksum> </entry> <w:response> <w:href>https://docs.google.com/feeds/id/pdf%3Ate stPdf</w:href> <w:propstat> <w:status>HTTP/1.1 200 OK</w:status> <w:prop> <w:displayname>testPdf.pdf</w:displayname> <w:author>benamel</w:author> </w:prop> </w:propstat> </w:response> 0.5 0.2 0.6 0.2 WebDAV File Google Docs Document Interface Matching Generating Mediators Concretisation
  • 31. Dynamic Synthesis of Mediators 18 July 2013 Data Translations 31  Combine ontology relations with schema matching techniques • Subsumption: Use schema matching tools to find, for each simple data concept in the target, a corresponding data concept in the source • Disjunction: Select the appropriate translation function such that • Aggregation: Use schema matching tools to find, for each simple data concept in the target, a corresponding data concept in the concatenation of source schemas Chapter 5. From Abstract to Concrete Mediators ching to define the function f agg that specifies how the XML elements of mputed using theXML elementsof Sagg. Hence, thetranslation function osition of the two functions, i.e., f = f agg ◦ concat. pplication to the File M anagement Example
  • 32. Dynamic Synthesis of Mediators 18 July 2013 Coordinating middleware Protocols- Example 32 ReceiveRequest[MoveFile][SourceURI,DestinationURI] SendRequest [DownloadDocument][SourceURI] SendReply[MoveFile][Acknowledgment] ReceiveResponse [DownloadDocument][Document] Concretise DownloadDocument UploadDocument MoveFile Compute Metadata and Content from DocumentDeleteDocument SendRequest [UploadDocument][Metadata, Content, DestinationURI] … Interface Matching Generating Mediators Concretisation Compute SourceURI
  • 33. Dynamic Synthesis of Mediators 18 July 2013 Interaction Patterns 33 Provided Action Required Action < op, i, a> < op, i, a> op = methodN ame i = argument a = returnValue Server Client ReceiveRequest[methodN ame][argument] ReceiveResponse[methodN ame][returnValue] SendResponse[methodN ame][returnValue] SendRequest[methodN ame][ar gument] op = dataChannel i = data a = data Writer Reader Write[data] Read[dataChannel][data] op = eventType i = eventType a = event Publisher Subscriber Publish[event] Subscribe[eventType] GetEvent[event] Unsubscribe RPC DSM Publish/Subscribe Interface Matching Generating Mediators Concretisation
  • 34. Dynamic Synthesis of Mediators 18 July 2013 Deploying the Mediator 34 Translate req.lock into prov.setSharingPropertiers Translate req.move into prov.downloadDoc followed by prov.getUploadDoc followed by prov.getDeleteDoc Translate req.unlock into prov.setSharingPropertiers Control HTTP Parser HTTP Composer HTTP Parser HTTP Composer Mediator Interface Matching Generating Mediators Concretisation
  • 35. Dynamic Synthesis of Mediators 18 July 2013 Assessment
  • 36. Dynamic Synthesis of Mediators 18 July 2013 Mediator Performance - File Management There is an overhead but response time for a request < 1s 36 0 200 400 600 800 1000 1200 1400 1600 1800 WebDAV/WebDAV GDocs/GDocs WebDAV/GDocs Gdocs/WebDAV Timetoperformaninteraction(ms)
  • 37. Dynamic Synthesis of Mediators 18 July 2013 C2 Applicability - Case Studies 37 × × one-to-one interface matching one-to-many interface matching × × UAV Positioning-B Weather Station one-to-many interface matching cross interaction patterns mediation at runtime one-to-many interface matching cross middleware solutions Instant Messaging File Management Event Management Emergency Management
  • 38. Dynamic Synthesis of Mediators 18 July 2013 Processing Time per Mediation Step  Depends on the size of the ontology  Depends on the type of mismatches  Negligible for real-world cases 38
  • 39. Dynamic Synthesis of Mediators 18 July 2013 Conclusion - Contributions  Generating interface matching automatically • Further dealing with one-to-many and many-to-many correspondence  Synthesising correct-by-construction mediators • Further dealing with ambiguity of interface matching  Dealing with differences at both application and middleware layer 39 Dynamic Mediator Synthesis: From Theory to Practice
  • 40. Dynamic Synthesis of Mediators 18 July 2013 40 Conclusion - The Big Picture wind Atmosphere Thing Nothing Ontology weatherInfo HumidityTemperature GetHumidity Logout Login GetWeather Logout Login GetTemperature4 Mediator req.login req.getWeather req.logout prov.getTemperature prov.getHumidity prov.logout prov.loginEmergent Middleware Login(password,.username):.token GetWeather(token):.weatherInfo Logout(token): Binding:'SOAP,RPC <functionality name="C2Weather" kind="required"> <operation>Weather<operation> <output> WeatherInformation</output> </functionality> Interface C2 Model (weather projection) Behaviour Capability Login GetWeather Logout !Login(username,!password):!token !GetHumidity(token):!humidity !GetTemperature(token):!temperature !Logout(token):!acknowledgment Binding:'HTTP <functionality name="WeatherStation" kind="provided"> <operation>Weather<operation> <output> WeatherInformation</output> </functionality> Interface Weather station Model Behaviour Capability Login GetTemperature GetHumidity Logout DiscoveryCONNECT Enablers
  • 41. Dynamic Synthesis of Mediators 18 July 2013 Towards the Next Generation of Software  First Generation • Execution  Second Generation • Learning  Next Generation • Innovation 41
  • 42. Dynamic Synthesis of Mediators 18 July 2013 Thank you
  • 43. Dynamic Synthesis of Mediators 18 July 2013 Further Information  Home page: amel.me  ARLES: www.rocq.inria.fr/arles  CONNECT: connect-forever.eu  Automated Mediator Synthesis: Combining Behavioural and Ontological Reasoning, In Proc. SEFM 2013  The Role of Models@run.time in Supporting On-the-fly Interoperability, Springer Computing 2013  Composing Distributed Systems: Overcoming the Interoperability Challenge, FMCO 2012  The Role of Ontologies in Emergent Middleware: Supporting Interoperability in Complex Distributed Systems, In Proc. Middleware 2011  Middleware-layer Connector Synthesis: Beyond State of the Art in Middleware Interoperability, In SFM 2011  … 43

Editor's Notes

  1. Consider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  2. Consider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  3. Various applications same functionalityDiversity of middleware solutionWhy is this work interesting for you, for me, and for othersConsider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  4. Why is this work interesting for you, for me, and for othersConsider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  5. Why is this work interesting for you, for me, and for othersConsider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  6. Why is this work interesting for you, for me, and for othersConsider a file management system - it allows for reading, writing and sharing files- Many applications can be useMost of these applications are not standalone -&gt; they are distributed across devicesDiscovered at runtime and
  7. Semanticmiddleware
  8. Semanticmiddleware
  9. Put the method in translating datacoord