Dynamic Synthesis of to Support Interoperability in Autonomic Systems
1. Dynamic Synthesis of Mediators
in Pervasive Environments
Amel Bennaceur supervised by Valérie Issarny
ARLES
14 February 2012, Junior Seminar, INRIA
2. Dynamic Synthesis of Mediators
14 February 2012
Outline
My team, my project, my thesis
Interoperability through dynamic synthesis
of mediators
Reflections
2
My team, my project, my thesis
Interoperability through dynamic synthesis
of mediators
Reflections
3. Dynamic Synthesis of Mediators
14 February 2012
Middleware for pervasive, distributed computing
System Architecture
My Team: ARLES
Software Architectures for Distributed Systems
• enabling the pervasive computing/ambient intelligence vision
3
QualityofService
Interoperability
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
4. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
4
Highly-dynamic and complex environments
5. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
5
What are the available services in vicinity?
6. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
6
, Interaction
How can I communicate with other peers?
7. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
7
What kind of data can I exchange with other peers?
, Interaction, Data
8. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
8
What kind of application can I use?
, Interaction, Data , Application
9. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
9
Am I allowed to forward data to other peers?
, Interaction, Data , Application, NFP heterogeneity
10. Dynamic Synthesis of Mediators
14 February 2012
Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery
10
, Interaction, Data , Application, NFP heterogeneity
11. Dynamic Synthesis of Mediators
14 February 2012
Existing Approaches to
Interoperability
Changing systems
11
Change the system
or attach an adaptor
Legacy systems
Code unavailable
×
System 2System1
12. Dynamic Synthesis of Mediators
14 February 2012
Existing Approaches to
Interoperability
× Changing systems
Standardization
12
A chosen shared language
Tanenbaum & 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
13. Dynamic Synthesis of Mediators
14 February 2012
Existing Approaches to
Interoperability
× Changing systems
× Standardization
Common Abstraction
13
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
14. Dynamic Synthesis of Mediators
14 February 2012
Babel fish
Transform 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
14
System 2System1
15. Dynamic Synthesis of Mediators
14 February 2012
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.
15
16. Dynamic Synthesis of Mediators
14 February 2012
Dynamic Mediation to Support
Interoperability
16
Discovery
Model
level
System
level
→ Learning → Synthesis → Concretization → Monitoring
DownloadPhoto
write PhotoFile
write PhotoMetadata
Model
Extraction
Model
Extraction
read PhotoFile
Mediator Model
downloadPhoto
read PhotoMetadata
Deployment
Monitor
Emergent
Middleware
Ontolog
yDownloadPhoto = getPhoto
Photo = PhotoMetadata + PhotoFile
PhotoMetadata = PhotoID + Location + CameraID + details …
Synthesize
write PhotoFile
write PhotoMetadata
System (NS2)
DownloadPhoto
System (NS1)
17. Dynamic Synthesis of Mediators
14 February 2012
Outline
My team, my project, my thesis
Interoperability through dynamic synthesis
of connectors
• Modeling
• Synthesis
• Deployment
Reflections
17
18. Dynamic Synthesis of Mediators
14 February 2012
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
18
Interface
Networked
System
Affordance Behaviour
1
0..n
1
Ontologies
<SendSOAPRequest,
DownloadPhoto,{CameraID}, >
<ReceiveSOAPResponse,
DownloadPhoto, , {Photo}>
19. Dynamic Synthesis of Mediators
14 February 2012
Emergent Middleware Synthesis
Informed by Ontologies
System (NS2)Functional
Matching
System (NS1)
Ontologies
Does it make sense for NS1 and NS2
to interact?
19
20. Dynamic Synthesis of Mediators
14 February 2012
Functional Matching
20
System 2System1
AffC2 = <Req, PhotoSharing,
{CameraID}, {PhotoFile}>
AffDrone = <Prov, PhotoSharing,
, {Photo}>
What is the relation between a
PhotoFile and Photo ?
22. Dynamic Synthesis of Mediators
14 February 2012
Functional Matching
22
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)
23. Dynamic Synthesis of Mediators
14 February 2012
Emergent Middleware Synthesis
Informed by Ontologies
Middleware Abstraction Middleware Abstraction
System (NS2)Functional
Matching
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
27. Dynamic Synthesis of Mediators
14 February 2012
Emergent Middleware Synthesis
Informed by Ontologies
Middleware Abstraction Middleware Abstraction
System (NS2)Functional
Matching
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?
28. Dynamic Synthesis of Mediators
14 February 2012
Generating Mapping Processes
28
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
29. Dynamic Synthesis of Mediators
14 February 2012
Emergent Middleware Synthesis
Informed by Ontologies
Middleware Abstraction Middleware Abstraction
Compatible
Partially compatible
Not compatible
Behavioral
Matching
System (NS2)Functional
Matching
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
31. Dynamic Synthesis of Mediators
14 February 2012
Emergent Middleware Synthesis
Informed by Ontologies
Middleware Abstraction Middleware Abstraction
CompatibleNot compatible
Behavioral
Matching
System (NS2)Functional
Matching
Yes
System (NS1)
Middleware-agnostic
Networked System (NS2)
Middleware-agnostic
System (NS1)
Ontologies
31
Generate Mapping Processes
Mapping Processes
Deployment
Emergent
Middleware
Refines the mediator model into a
concrete software artifact:
an emergent middleware
Failure
32. Dynamic Synthesis of Mediators
14 February 2012
Deployment (1)
Refine the mapping
processes using
middleware semantics
32
<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
33. Dynamic Synthesis of Mediators
14 February 2012
Deployment (2)
33
Composer 2
Parser 2
Parser 1
Composer
1
Emergent Middleware
Mediator
System 2System1
34. 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
35. 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
37. Dynamic Synthesis of Mediators
14 February 2012
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
37