dynamic synthesis of mediators in ubiquitous environments

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

Upload: amel-bennaceur

Post on 16-Dec-2014

69 views

Category:

Technology


1 download

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/en

TRANSCRIPT

Page 1: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators in Ubiquitous Environments

Amel Bennaceur

UPMC PhD Defense

work performed within the ARLES project-team

supervised by Valérie Issarny

Page 2: Dynamic Synthesis of Mediators in Ubiquitous Environments

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?

Page 3: Dynamic Synthesis of Mediators in Ubiquitous Environments

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?

Page 4: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 5: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 6: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 7: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 8: Dynamic Synthesis of Mediators in Ubiquitous Environments

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.

Page 9: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 20139

Dynamic Synthesis of Mediators Informed by Ontologies

Model Extraction

Model Extraction

Synthesis

Page 10: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 11: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 12: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 13: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201313

Interface Matching - Example

~

~ ~

~

Interface Matching

Generating Mediators

Concretisation

Page 14: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 15: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201315

Interface Matching usingConstraint Programming

Interface Matching

Generating Mediators

Concretisation

Page 16: Dynamic Synthesis of Mediators in Ubiquitous Environments

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.

Page 17: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201317

Interface Matching usingConstraint Programming

Interface Matching

Generating Mediators

Concretisation

Page 18: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 19: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201319

Ontology Encoding - ExampleInterface Matching

Generating Mediators

Concretisation

Page 20: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201320

From Interface Matching to Matching Process

such that

… …

Associate a matching process

… … …

Interface Matching

Generating Mediators

Concretisation

Page 21: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 22: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201322

Mediator Synthesis - ExampleWebDAV Client Google Docs Service Matching Processes

Mediator

Interface Matching

Generating Mediators

Concretisation

Page 23: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 24: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201324

Generating Correct-by-Construction Mediators

Interface Matching

Generating Mediators

Concretisation

Page 25: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 26: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 27: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 28: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 29: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 30: Dynamic Synthesis of Mediators in Ubiquitous Environments

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&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>[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

Page 31: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 32: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 33: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201333

Interaction Patterns Interface Matching

Generating Mediators

Concretisation

Page 34: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201334

Deploying the Mediator

Mediator

Interface Matching

Generating Mediators

Concretisation

Page 35: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 2013

Assessment

Page 36: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

)

Page 37: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 38: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 39: Dynamic Synthesis of Mediators in Ubiquitous Environments

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

Page 40: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201340

Conclusion -The Big Picture

CONNECT Enablers

Page 41: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 201341

Towards the Next Generation of Software

First Generation• Execution

Second Generation• Learning

Next Generation• Innovation

Page 42: Dynamic Synthesis of Mediators in Ubiquitous Environments

Dynamic Synthesis of Mediators

18 July 2013

Thank you

Page 43: Dynamic Synthesis of Mediators in Ubiquitous Environments

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