• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
107
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
1
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 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 ?
  • 21. Dynamic Synthesis of Mediators 14 February 2012 Domain-specific Ontology 21 PhotoSharingProducer PhotoSharingServer PhotoSharingConsumer PhotoMetadata PhotoFile Photo SearchPhoto DownloadPhoto UploadPhoto PhotoSharing PhotoSharingProducer PhotoSharingServer PhotoSharingConsumer PhotoMetadata PhotoFile Photo SearchPhoto DownloadPhoto UploadPhoto PhotoSharing Subsumption (is-a) PhotoID: string CameraID: string Longitude: double Latitude: double Resolution: integer Information:string
  • 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
  • 24. Dynamic Synthesis of Mediators 14 February 2012 Middleware Ontology 24 RemoteProcedureCallAPI MethodName Arguments ReturnValue 0..1 + follows {some} 0..1 + follows {some} RemoteProcedureCallAPI ReceveReply ReceiveCall Reply MethodName Arguments ReturnValue 0..1 + follows {some} +hasInput {some} +hasOutput {some} +hasOutput {some} +hasInput {some} +hasOutput {some} Call 0..1 + follows {some} +hasInput {some} +hasInput {some} Call RemoteProcedureCallAPI ReceveReply ReceiveCall Reply MethodName Arguments ReturnValue 0..1 + follows {some} +hasInput {some} +hasOutput {some} +hasOutput {some} +hasInput {some} +hasOutput {some} SendSOAPRespReceiveSOAPResp ReceiveSOAPRqt SOAPRequest SOAPResponse SendSOAPRqt Call 0..1 + follows {some} +hasInput {some} ReceiveReply ReceiveCall ReplyCall
  • 25. Dynamic Synthesis of Mediators 14 February 2012 Middleware Abstraction 25 <SendSOAPRequest, DownloadPhoto,{CameraID}, > <ReceiveSOAPResponse, DownloadPhoto,{Photo} > <DownloadPhoto,{CameraID}, {Photo}> C2 Behavior C2 Middleware-agnostic Behavior
  • 26. Dynamic Synthesis of Mediators 14 February 2012 Middleware Abstraction 26 Drone Behavior DroneMiddleware-agnostic Behavior <write, PhotoMetaData, , {photometadata}> <write, PhotoFile, , {photofile}> <PhotoMetaData, , {photometadata}> <PhotoFile, , {photofile}>
  • 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
  • 30. Dynamic Synthesis of Mediators 14 February 2012 Behavioral Matching 30 PhotoMetaData PhotoFile PhotoMetaData PhotoFile DownloadPhoto DownloadPhoto Drone BehaviorC2 Behavior Mediator Behavior
  • 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
  • 36. Dynamic Synthesis of Mediators 14 February 2012 Thank you
  • 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