dynamic synthesis of mediators in ubiquitous environments
DESCRIPTION
Amel's PhD Defense - Presentation made in fulfilment of the requirements for the degree of Doctor of Philosophy in the University of Pierre et Marie Curie (Paris VI) The thesis document is available at http://hal.inria.fr/tel-00849402/enTRANSCRIPT
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 20132
The Need for Dynamic Synthesis of Mediators
Same functionality, various applications• Heterogeneous Interfaces
How to represent files?
What kind of actions can be performed on these files?
Dynamic Synthesis of Mediators
18 July 20133
The Need for Dynamic Synthesis of Mediators
Same functionality, various applications• Heterogeneous Interfaces & Behaviours What is the order in which these
actions must be performed?
Dynamic Synthesis of Mediators
18 July 20134
The Need for Dynamic Synthesis of Mediators
Same functionality, various applications• Heterogeneous Interfaces
Diversity of middleware solutions& 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 20135
The Need for Dynamic Synthesis of Mediators
FTP/XML
Same functionality, various applications• Heterogeneous Interfaces
Diversity of middleware solutions Ubiquity
& Behaviours
Dynamic Synthesis of Mediators
18 July 20136
The Need for Dynamic Synthesis of Mediators
FTP/XML
Same functionality, various applications• Heterogeneous Interfaces
Diversity of middleware solutions Ubiquity
& Behaviours
Mediator
Mediator
Mediator
Mediator
Dynamic Synthesis of Mediators
18 July 20137
The Need for Dynamic Synthesis of Mediators
Mediator
Same functionality, various applications• Heterogeneous Interfaces
Diversity of middleware solutions Ubiquity
& Behaviours
Dynamic Synthesis of Mediators
18 July 20138
Thesis Statement
Components with compatible functionalities should be able to interact despite
heterogeneities in their interfaces and behaviorsat both application and middleware layers.
Mediators that seamlessly overcome these heterogeneities should be dynamically
synthesised and deployed in their environment.
Dynamic Synthesis of Mediators
18 July 20139
Dynamic Synthesis of Mediators Informed by Ontologies
Model Extraction
Model Extraction
Synthesis
Dynamic Synthesis of Mediators
18 July 201310
Modelling Components
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
Dynamic Synthesis of Mediators
18 July 201311
Modelling Components
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
Dynamic Synthesis of Mediators
18 July 201312
The Steps for Dynamic Synthesis of Mediators
Interface Matching
Generating Correct-by-Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication protocols
Overcoming the Heterogeneity of
Application layer
Middlewarelayer
many-to-many
under ambiguity
different interaction paradigms
unified approach
Dynamic Synthesis of Mediators
18 July 201313
Interface Matching - Example
~
~ ~
~
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201314
Definition of Interface Matching
Matching interface to interface consists in finding all pairs of actions such 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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201315
Interface Matching usingConstraint Programming
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201316
Interface Matching using CP
Constraints: safety properties for
and
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 201317
Interface Matching usingConstraint Programming
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201318
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.
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201319
Ontology Encoding - ExampleInterface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201320
From Interface Matching to Matching Process
such that
… …
Associate a matching process
…
… … …
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201321
The Steps for Dynamic Synthesis of Mediators
Interface Matching
Generating Correct-by-Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication protocols
Overcoming the Heterogeneity of
Application layer
Middlewarelayer
many-to-many
under ambiguity
different interaction paradigms
unified approach
Dynamic Synthesis of Mediators
18 July 201322
Mediator Synthesis - ExampleWebDAV Client Google Docs Service Matching Processes
Mediator
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201323
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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201324
Generating Correct-by-Construction Mediators
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201325
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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201326
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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201327
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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201328
The Steps for Dynamic Synthesis of Mediators
Interface Matching
Generating Correct-by-Construction Mediators
Concretisation
Components’ interfaces
Components’ behaviours
Components’ communication protocols
Overcoming the Heterogeneity of
Application layer
Middlewarelayer
many-to-many
under ambiguity
different interaction paradigms
unified approach
Dynamic Synthesis of Mediators
18 July 201329
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
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201330
Data Translations
<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&e=download&gd=true"/> <link rel="alternate" type="text/html" href="https://docs.google.com/ fileview? id=testPdf&hl=en"/> <author> <name>benamel</name> <email>[email protected]</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%3AtestPdf</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 201331
Data Translations
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
Dynamic Synthesis of Mediators
18 July 201332
Coordinating middleware Protocols- Example
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 201333
Interaction Patterns Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 201334
Deploying the Mediator
Mediator
Interface Matching
Generating Mediators
Concretisation
Dynamic Synthesis of Mediators
18 July 2013
Assessment
Dynamic Synthesis of Mediators
18 July 201336
Mediator Performance -File Management
There is an overhead but response time for a request < 1s
WebDAV/WebDAV GDocs/GDocs WebDAV/GDocs Gdocs/WebDAV0
200
400
600
800
1000
1200
1400
1600
1800
Tim
e t
o p
erf
orm
an
inte
rac
tio
n (
ms
)
Dynamic Synthesis of Mediators
18 July 201337
Applicability - Case Studies
×
×one-to-one interface matching
one-to-many interface matching
×
×××
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 201338
Processing Time per Mediation Step
Depends on the size of the ontology Depends on the type of mismatches Negligible for real-world cases
Dynamic Synthesis of Mediators
18 July 201339
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
Dynamic Mediator Synthesis:
From Theory to Practice
Dynamic Synthesis of Mediators
18 July 201340
Conclusion -The Big Picture
CONNECT Enablers
Dynamic Synthesis of Mediators
18 July 201341
Towards the Next Generation of Software
First Generation• Execution
Second Generation• Learning
Next Generation• Innovation
Dynamic Synthesis of Mediators
18 July 2013
Thank you
Dynamic Synthesis of Mediators
18 July 201343
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 [email protected] 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
…