Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Neomades crosscompilation

349 views

Published on

Emergent Middleware to support interoperability in mobile collaborative applications

Published in: Technology, Education
  • Be the first to like this

Neomades crosscompilation

  1. 1. Emergent Middleware to 
Support Interoperability in
Mobile Collaborative ApplicationsValérie Issarny, Inria PRO, EPI ARLES
Workshop ISM, 24/04/13
  2. 2. Outline  The ARLES team  Interoperability through dynamic synthesisof mediators  Some conclusions2
  3. 3. Middleware for pervasive, distributed computingSystem ArchitectureThe ARLES Team  Software Architectures for Distributed Systems•  enabling the pervasive computing/ambient intelligence vision3d computingQualityofServiceInteroperabilityCONNECT ProjectMulti-radio  Abstracting pervasivenetworks and resources  Leveraging highly dynamicand heterogeneousnetworking environmentsSystem ModelsAccess and InteractionRuntime Composition,Reconfiguration, and AdaptationDiscoveryMulti-device Multi-platform
  4. 4. Facing the Interoperability ChallengeGMES: Global Monitoring for Environment & SecurityProtocols for Discovery4, Interaction, Data exchange, Application, NFPWith heterogeneity along all dimensionsHighly-dynamic and complex environment
  5. 5. Facing the Interoperability Challengein the Mobile EnvironmentMobile  Applica,on  ??
  6. 6. Facing the Interoperability Challengein the Mobile EnvironmentAmiando to Regonline MediatorSOAP/HTTPHTTPEventFind() Login()GetEvents()EventRead()
  7. 7. Looking for Babel fish…Adapt protocol on the flyusing an intermediary system:the mediatorOur Challenges:Can we observe, synthesize and deploymediators dynamically?Need for On-the-fly Interoperability× Beyond SOTA× Changing systems× Standardization× Common abstraction➠ On-the-fly mediation7
  8. 8. 8Emergent Middleware and Enablers
  9. 9. The CONNECT Process enablingEmergent Middleware9DownloadPhotowrite PhotoFilewrite PhotoMetadataBehaviour learning Beh. learningread PhotoFileMediator ModeldownloadPhotoread PhotoMetadataDeploymentMonitorEmergentMiddlewareOntology-based semanticsDownloadPhoto = getPhotoPhoto = PhotoMetadata + PhotoFilePhotoMetadata = PhotoID + Location + CameraID + details …SynthesisDeploymentwrite PhotoFilewrite PhotoMetadataDownloadPhotoDiscovery
  10. 10. 10The CONNECTion Phase
  11. 11. Focus on Synthesis11  Interoperability through dynamic synthesisof connectors•  Modeling•  Synthesis•  Deployment
  12. 12. Ontology-basedNetworked 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 protocol12InterfaceNetworkedSystemAffordance Behaviour10..n1Ontologies<SendSOAPRequest,DownloadPhoto,{CameraID}, ∅><ReceiveSOAPResponse,DownloadPhoto, ∅, {Photo}>
  13. 13. Emergent Middleware SynthesisInformed by OntologiesSystem (NS2)FunctionalMatchingSystem (NS1)OntologiesDoes it make sense for NS1 and NS2to interact?13
  14. 14. Functional Matching14System 2System1AffC2 = <Req, PhotoSharing,{CameraID}, {PhotoFile}>AffDrone = <Prov, PhotoSharing,∅, {Photo}>What is the relation between aPhotoFile and Photo ?
  15. 15. Domain-specific Ontology15PhotoSharingProducer PhotoSharingServer PhotoSharingConsumerPhotoMetadata PhotoFilePhotoSearchPhoto DownloadPhoto UploadPhotoPhotoSharingPhotoSharingProducer PhotoSharingServer PhotoSharingConsumerPhotoMetadata PhotoFilePhotoSearchPhoto DownloadPhoto UploadPhotoPhotoSharingSubsumption (is-a)PhotoID: stringCameraID: stringLongitude: doubleLatitude: doubleResolution: integerInformation:stringAttribute (PartOf)
  16. 16. Functional Matching16System 2System1AffC2 = <Req, PhotoSharing,{CameraID}, {PhotoFile}>AffDrone = <Prov, PhotoSharing,{CameraID}, {Photo}>There is a functional matching between AffC2 and AffDroneCameraID is subsumed by CameraID (contra-variant)Photo is subsumed by PhotoFile (co-variant)
  17. 17. Emergent Middleware SynthesisInformed by OntologiesMiddleware Abstraction Middleware AbstractionSystem (NS2)FunctionalMatchingYesSystem (NS1)Middleware-agnosticNetworked System (NS2)Middleware-agnosticSystem (NS1)OntologiesAbstract from the communicationprotocol details and concentrate onapplication semantics17
  18. 18. Middleware Ontology18RemoteProcedureCallAPIMethodName Arguments ReturnValue0..1 + follows {some} 0..1 + follows {some}RemoteProcedureCallAPIReceveReply ReceiveCall ReplyMethodName Arguments ReturnValue0..1 + follows {some}+hasInput {some}+hasOutput {some}+hasOutput {some}+hasInput {some}+hasOutput {some}Call0..1 + follows {some}+hasInput {some}+hasInput {some}CallRemoteProcedureCallAPIReceveReply ReceiveCall ReplyMethodName Arguments ReturnValue0..1 + follows {some}+hasInput {some}+hasOutput {some}+hasOutput {some}+hasInput {some}+hasOutput {some}SendSOAPRespReceiveSOAPResp ReceiveSOAPRqtSOAPRequest SOAPResponseSendSOAPRqtCall0..1 + follows {some}+hasInput {some}ReceiveReply ReceiveCall ReplyCall
  19. 19. Middleware Abstraction19<SendSOAPRequest,DownloadPhoto, {CameraID}, ∅><ReceiveSOAPResponse,DownloadPhoto, ∅, {Photo}><DownloadPhoto,{CameraID}, {Photo}>C2 BehaviorC2 Middleware-agnosticBehavior
  20. 20. Middleware Abstraction20Drone BehaviorDrone Middleware-agnosticBehavior<write, PhotoMetaData, ∅, {Photometadata}><write, PhotoFile, ∅, {Photofile}><PhotoMetaData, ∅, {Photometadata}><PhotoFile, ∅, {Photofile}>
  21. 21. Emergent Middleware SynthesisInformed by OntologiesMiddleware Abstraction Middleware AbstractionSystem (NS2)FunctionalMatchingYesSystem (NS1)Middleware-agnosticNetworked System (NS2)Middleware-agnosticSystem (NS1)Ontologies21Generate Mapping ProcessesMapping ProcessesWhat are the translations that need tobe performed?
  22. 22. Generating Mapping Processes22Drone InterfaceC2 Interface<DownloadPhoto,{CameraID}, {Photo}> <PhotoMetaData, ∅, {Photometadata}><PhotoFile, ∅, {Photofile}>DownloadPhotoPhotoMetaData PhotoFile1 - Define the constraints that need to hold between compatible actions2- Use constraint programming to find possible mapping between interfaces<DownloadPhoto,{CameraID}, {Photo}>⟼<<PhotoMetaData, ∅, {Photometadata}>, <PhotoFile, ∅, {Photofile}>>e.g., Photo subsumes Photometadata union Photofile3- Generate the corresponding mapping process
  23. 23. Emergent Middleware SynthesisInformed by OntologiesMiddleware Abstraction Middleware AbstractionCompatiblePartially compatibleNot compatibleBehavioralMatchingSystem (NS2)FunctionalMatchingYesSystem (NS1)Middleware-agnosticNetworked System (NS2)Middleware-agnosticSystem (NS1)Ontologies23Generate Mapping ProcessesMapping ProcessesRelies on ontology-based modelchecking to verify the correctness ofthe mapping processes
  24. 24. Behavioral Matching24PhotoMetaDataPhotoFilePhotoMetaDataPhotoFileDownloadPhotoDownloadPhotoDrone BehaviorC2 Behavior Mediator Behavior
  25. 25. Emergent Middleware SynthesisInformed by OntologiesMiddleware Abstraction Middleware AbstractionCompatibleNot compatibleBehavioralMatchingSystem (NS2)FunctionalMatchingYesSystem (NS1)Middleware-agnosticNetworked System (NS2)Middleware-agnosticSystem (NS1)Ontologies25Generate Mapping ProcessesMapping ProcessesDeploymentEmergentMiddlewareRefines the mediator model into aconcrete software artifact:an emergent middlewareFailure
  26. 26. Deployment  Refine the mappingprocesses usingmiddleware semantics26<receiveCall, DownloadPhoto,{CameraID}, ∅><read, PhotoMetadata,{cameraID}, {Photometadata}><reply, DownloadPhoto,∅, {PhotoFile}><read, PhotoFile,{PhotoID}, {PhotoFile}>PhotoMetaDataPhotoFileDownloadPhotoGet PhotoID from PhotoMetadataMiddleware& Domain-specificOntologies
  27. 27. Deployment (Cont’d)27Composer 2Parser 2Parser 1Composer1Emergent MiddlewareMediatorSystem 2System1
  28. 28. Some Conclusions  Interoperability remains a fundamentalproblem in today’s complex distributedsystems  Dynamic synthesis of mediators promisesto address interoperability in a future-proofmanner  Ontologies have a key role to play insupporting synthesis at both applicationand middleware layers28
  29. 29. Some Conclusions (Cont’d)  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 adaptation29
  30. 30. Thanks to colleagues:Amel Bennaceur, Nikolaos GeorgantasAnimesh Pathak & Ambientic contributorsThank you
  31. 31. Further InformationARLES: www.rocq.inria.fr/arlesCONNECT: connect-forever.eu31

×