37
Dynamic Synthesis of Mediators in Pervasive Environments Amel Bennaceur supervised by Valérie Issarny ARLES 14 February 2012, Junior Seminar, INRIA

Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Embed Size (px)

DESCRIPTION

Inria Doctoral Seminar

Citation preview

Page 1: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

in Pervasive EnvironmentsAmel Bennaceur supervised by Valérie Issarny

ARLES

14 February 2012, Junior Seminar, INRIA

Page 2: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20122

Outline

My team, my project, my thesis

Interoperability through dynamic synthesis of mediators

Reflections

My team, my project, my thesis

Interoperability through dynamic synthesis of mediators

Reflections

Page 3: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20123

Middleware for pervasive, distributed computing

System Architecture

My Team: ARLES

Software Architectures for Distributed Systems• enabling the pervasive computing/ambient intelligence vision

Qu

ality o

f Se

rvice

Intero

pera

bility

CONNECT Project

Multi-radio

Abstracting pervasive networks and resources

Leveraging highly dynamic and heterogeneous networking environments

System Models

Access and Interaction

Runtime Composition, Reconfiguration, and Adaptation

Discovery

Multi-device Multi-platform

Page 4: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20124

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security

Highly-dynamic and complex environments

Page 5: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20125

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery

What are the available services in vicinity?

Page 6: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20126

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery, Interaction

How can I communicate with other peers?

Page 7: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20127

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery

What kind of data can I exchange with other peers?

, Interaction, Data

Page 8: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20128

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery

What kind of application can I use?

, Interaction, Data , Application

Page 9: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 20129

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery

Am I allowed to forward data to other peers?

, Interaction, Data , Application, NFP heterogeneity

Page 10: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201210

Illustrating the Interoperability Challenges

GMES: Global Monitoring for Environment & Security Discovery, Interaction, Data , Application, NFP heterogeneity

Page 11: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201211

Existing Approaches to Interoperability

Changing systems

Change the system or attach an adaptor

Legacy systemsCode unavailable

×

System 2System1

Page 12: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201212

Existing Approaches to Interoperability

× Changing systems

Standardization

A chosen shared languageTanenbaum & Van Steen:

“the extent by which two implementations of systems from different manufacturers can co-exist and work together by merely relying on each other’s services as specified by a

common standard”

No one-size-fits-all standard given the heterogeneity and

complexity of pervasive systems (and systems of systems)

×

System 2System1

Page 13: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201213

Existing Approaches to Interoperability

× Changing systems

× Standardization

Common Abstraction

One speaker talks the other’s language

Use an abstraction to design the component

Need to be aware a priori about all the

possible configurations

×

System 2System1

Page 14: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201214

Babel fishTransform on the fly

using an intermediary system: the mediator

Can we observe, synthesize and deploy mediators dynamically?

Approaches to Interoperability

× Changing systems

× Standardization

× Common Abstraction

Mediation

System 2System1

Page 15: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201215

Thesis Statement

Systems with compatible functionalities should be able to interact despite heterogeneities in

their data and behavioral models.

Mediators that seamlessly overcome these heterogeneities should be dynamically

synthesized and deployed in their environment.

Page 16: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201216

Dynamic Mediation to Support Interoperability

Discovery

Modellevel

Systemlevel

→ Learning → Synthesis → Concretization → Monitoring

DownloadPhoto write PhotoFile

write PhotoMetadata

Model Extraction

Model Extraction

read PhotoFile

Mediator Model

downloadPhoto

read PhotoMetadata

Deployment

Monitor

Emergent Middleware

OntologyDownloadPhoto = getPhoto

Photo = PhotoMetadata + PhotoFilePhotoMetadata = PhotoID + Location + CameraID + details …

Synthesize

write PhotoFile

write PhotoMetadata

System (NS2)

DownloadPhoto

System (NS1)

Page 17: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201217

Outline

My team, my project, my thesis Interoperability through dynamic synthesis

of connectors• Modeling• Synthesis• Deployment

Reflections

Page 18: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201218

Ontology-based Networked System Model

Ontology-based Functional Semantics• Affordance

• The high-level functionality of a system• e.g., <Req, PhotoSharing, Preferences, Photo>

• Interface• A set of observable actions• e.g., <SendSOAPRequest, DownloadPhoto,

{CameraID}, >

LTS-based Behavioural semantics• The way the observable actions are coordinated• At both application and middleware layers

• Application → Business logic• Middleware → Communication & coordination protocol

Interface

Networked System

Affordance Behaviour1

0..n

1

Ontologies

<SendSOAPRequest, DownloadPhoto,{CameraID}, >

<ReceiveSOAPResponse, DownloadPhoto, , {Photo}>

Page 19: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Emergent Middleware Synthesis Informed by Ontologies

System (NS2)FunctionalMatchingSystem (NS1)

Ontologies

Does it make sense for NS1 and NS2 to interact?

19

Page 20: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201220

Functional Matching

System 2System1

AffC2 = <Req, PhotoSharing, {CameraID}, {PhotoFile}>

AffDrone = <Prov, PhotoSharing, , {Photo}>

What is the relation between a PhotoFile and Photo ?

Page 21: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201221

Domain-specific Ontology

Subsumption (is-a)

Page 22: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201222

Functional Matching

System 2System1

AffC2 = <Req, PhotoSharing, {CameraID}, {PhotoFile}>

AffDrone = <Prov, PhotoSharing, , {Photo}>

There is a functional matching between AffC2 and AffDrone

CameraID subsumes (co-variant) Photo subsumes a PhotoFile (contra-variant)

Page 23: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Emergent Middleware Synthesis Informed by Ontologies

Middleware Abstraction Middleware Abstraction

System (NS2)FunctionalMatching

Yes

System (NS1)

Middleware-agnostic Networked System (NS2)

Middleware-agnostic System (NS1)

Ontologies

Abstract from the communication protocol details and concentrate on

application semantics

23

Page 24: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Middleware Ontology

24

Page 25: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201225

Middleware Abstraction

<SendSOAPRequest, DownloadPhoto,{CameraID}, >

<ReceiveSOAPResponse, DownloadPhoto,{Photo} >

<DownloadPhoto,{CameraID}, {Photo}>

C2 BehaviorC2 Middleware-agnostic

Behavior

Page 26: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201226

Middleware Abstraction

Drone BehaviorDroneMiddleware-agnostic

Behavior

<write, PhotoMetaData, , {photometadata}>

<write, PhotoFile, , {photofile}>

<PhotoMetaData, , {photometadata}>

<PhotoFile, , {photofile}>

Page 27: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Emergent Middleware Synthesis Informed by Ontologies

Middleware Abstraction Middleware Abstraction

System (NS2)FunctionalMatching

Yes

System (NS1)

Middleware-agnostic Networked System (NS2)

Middleware-agnostic System (NS1)

Ontologies

27

Generate Mapping Processes

Mapping Processes

What are the translations that need to be performed?

Page 28: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201228

Generating Mapping Processes

Drone InterfaceC2 Interface

<DownloadPhoto,{CameraID}, {Photo}> <PhotoMetaData, , {photometadata}><PhotoFile, , {photofile}>

DownloadPhotoPhotoMetaData PhotoFile

1 - Define the constraints that need to hold between compatible actions

2- Use constraint programming to find possible mapping between interfaces<DownloadPhoto,{CameraID}, {Photo}>⟼<<PhotoMetaData, , {photometadata}>, <PhotoFile, , {photofile}>>

e.g., photo sumsumed by photometadata union photofile

3- Generate the corresponding mapping process

Page 29: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Emergent Middleware Synthesis Informed by Ontologies

Middleware Abstraction Middleware Abstraction

CompatiblePartially compatible

Not compatible

Behavioral Matching

System (NS2)FunctionalMatching

Yes

System (NS1)

Middleware-agnostic Networked System (NS2)

Middleware-agnostic System (NS1)

Ontologies

29

Generate Mapping Processes

Mapping Processes

Relies on ontology-based model checking to verify the correctness of

the mapping processes

Page 30: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201230

Behavioral Matching

PhotoMetaData

PhotoFile

PhotoMetaData

PhotoFile

DownloadPhoto

DownloadPhoto

Drone BehaviorC2 Behavior Mediator Behavior

Page 31: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Emergent Middleware Synthesis Informed by Ontologies

Middleware Abstraction Middleware Abstraction

CompatibleNot compatible

Behavioral Matching

System (NS2)FunctionalMatching

Yes

System (NS1)

Middleware-agnostic Networked System (NS2)

Middleware-agnostic System (NS1)

Ontologies

31

Generate Mapping Processes

Mapping Processes

DeploymentEmergent

Middleware

Refines the mediator model into a concrete software artifact: an emergent middleware

Failure

Page 32: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201232

Deployment (1)

Refine the mapping processes using middleware semantics

<receiveCall, DownloadPhoto, {cameraID}, >

<read, PhotoMetadata,{cameraID}, {photometadata}>

<reply, DownloadPhoto, , {photoFile}>

<read, PhotoFile,{photoID}, {photoFile}>

PhotoMetaData

PhotoFile

DownloadPhoto

Get photoID from photoMetadata

Middleware& Domain-specific

Ontologies

Page 33: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201233

Deployment (2)

Composer 2

Parser 2

Parser 1Composer

1

Emergent Middleware

Mediator

System 2System1

Page 34: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Reflections (1)

Interoperability remains a fundamental problem in today’s complex distributed systems

Dynamic synthesis of mediators promises to address interoperability in a future-proof manner

Ontologies have a key role to play in supporting synthesis at both application and middleware layers

34

Page 35: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Reflections (2)

Ontologies• Availability, characteristics, fuzziness• Heterogeneity in ontologies, alignment

Emergent middleware• Learning, dependability, exception handling• Evolution and incremental synthesis

User in the loop• The role of end users and experts in adaptation

35

Page 36: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 2012

Thank you

Page 37: Dynamic Synthesis of to Support Interoperability in Autonomic Systems

Dynamic Synthesis of Mediators

14 February 201237

Further Information

Home page: www-rocq.inria.fr/~bennaceu ARLES: www.rocq.inria.fr/arles CONNECT: connect-forever.eu

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

Towards an architecture for runtime interoperability, In Proc. ISoLA 2010