Emergent Middleware to 

Support Interoperability in

Mobile Collaborative Applications
Valérie Issarny, Inria PRO, EPI ARLES

Workshop ISM, 24/04/13
Outline
  The ARLES team
  Interoperability through dynamic synthesis
of mediators
  Some conclusions
2
Middleware for pervasive, distributed computing
System Architecture
The ARLES Team
  Software Architectures for Distributed Systems
•  enabling the pervasive computing/ambient intelligence vision
3
d computing
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
Facing the Interoperability Challenge
GMES: Global Monitoring for Environment & Security
Protocols for Discovery
4
, Interaction, Data exchange, Application, NFP
With heterogeneity along all dimensions
Highly-dynamic and complex environment
Facing the Interoperability Challenge
in the Mobile Environment
Mobile	
  
Applica,on	
  
??
Facing the Interoperability Challenge
in the Mobile Environment
Amiando to Regonline Mediator
SOAP/HTTPHTTP
EventFind() Login()
GetEvents()EventRead()
Looking for Babel fish…
Adapt protocol on the fly
using an intermediary system:
the mediator
Our Challenges:
Can we observe, synthesize and deploy
mediators dynamically?
Need for On-the-fly Interoperability
× Beyond SOTA
× Changing systems
× Standardization
× Common abstraction
➠ On-the-fly mediation
7
8
Emergent Middleware and Enablers
The CONNECT Process enabling
Emergent Middleware
9
DownloadPhoto
write PhotoFile
write PhotoMetadata
Behaviour learning Beh. learning
read PhotoFile
Mediator Model
downloadPhoto
read PhotoMetadata
Deployment
Monitor
Emergent
Middleware
Ontology-based semantics
DownloadPhoto = getPhoto
Photo = PhotoMetadata + PhotoFile
PhotoMetadata = PhotoID + Location + CameraID + details …
Synthesis
Deployment
write PhotoFile
write PhotoMetadata
DownloadPhoto
Discovery
10
The CONNECTion Phase
Focus on Synthesis
11
  Interoperability through dynamic synthesis
of connectors
•  Modeling
•  Synthesis
•  Deployment
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
12
Interface
Networked
System
Affordance Behaviour
1
0..n
1
Ontologies
<SendSOAPRequest,
DownloadPhoto,{CameraID}, ∅>
<ReceiveSOAPResponse,
DownloadPhoto, ∅, {Photo}>
Emergent Middleware Synthesis
Informed by Ontologies
System (NS2)
Functional
MatchingSystem (NS1)
Ontologies
Does it make sense for NS1 and NS2
to interact?
13
Functional Matching
14
System 2System1
AffC2 = <Req, PhotoSharing,
{CameraID}, {PhotoFile}>
AffDrone = <Prov, PhotoSharing,
∅, {Photo}>
What is the relation between a
PhotoFile and Photo ?
Domain-specific Ontology
15
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
Attribute (PartOf)
Functional Matching
16
System 2System1
AffC2 = <Req, PhotoSharing,
{CameraID}, {PhotoFile}>
AffDrone = <Prov, PhotoSharing,
{CameraID}, {Photo}>
There is a functional matching between AffC2 and AffDrone
CameraID is subsumed by CameraID (contra-variant)
Photo is subsumed by PhotoFile (co-variant)
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
17
Middleware Ontology
18
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
Middleware Abstraction
19
<SendSOAPRequest,
DownloadPhoto, {CameraID}, ∅>
<ReceiveSOAPResponse,
DownloadPhoto, ∅, {Photo}>
<DownloadPhoto,{CameraID}, {Photo}>
C2 Behavior
C2 Middleware-agnostic
Behavior
Middleware Abstraction
20
Drone Behavior
Drone Middleware-agnostic
Behavior
<write, PhotoMetaData, ∅, {Photometadata}>
<write, PhotoFile, ∅, {Photofile}>
<PhotoMetaData, ∅, {Photometadata}>
<PhotoFile, ∅, {Photofile}>
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
21
Generate Mapping Processes
Mapping Processes
What are the translations that need to
be performed?
Generating Mapping Processes
22
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 subsumes Photometadata union Photofile
3- Generate the corresponding mapping process
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
23
Generate Mapping Processes
Mapping Processes
Relies on ontology-based model
checking to verify the correctness of
the mapping processes
Behavioral Matching
24
PhotoMetaData
PhotoFile
PhotoMetaData
PhotoFile
DownloadPhoto
DownloadPhoto
Drone BehaviorC2 Behavior Mediator Behavior
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
25
Generate Mapping Processes
Mapping Processes
Deployment
Emergent
Middleware
Refines the mediator model into a
concrete software artifact:
an emergent middleware
Failure
Deployment
  Refine the mapping
processes using
middleware semantics
26
<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
Deployment (Cont’d)
27
Composer 2
Parser 2
Parser 1
Composer1
Emergent Middleware
Mediator
System 2System1
Some Conclusions
  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
28
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 adaptation
29
Thanks to colleagues:
Amel Bennaceur, Nikolaos Georgantas
Animesh Pathak & Ambientic contributors
Thank you
Further Information
ARLES: www.rocq.inria.fr/arles
CONNECT: connect-forever.eu
31

Emergent Middleware to Support Interoperability in Mobile Collaborative Applications

  • 1.
    Emergent Middleware to
 Support Interoperability in
 Mobile Collaborative Applications Valérie Issarny, Inria PRO, EPI ARLES
 Workshop ISM, 24/04/13
  • 2.
    Outline   The ARLESteam   Interoperability through dynamic synthesis of mediators   Some conclusions 2
  • 3.
    Middleware for pervasive,distributed computing System Architecture The ARLES Team   Software Architectures for Distributed Systems •  enabling the pervasive computing/ambient intelligence vision 3 d computing 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.
    Facing the InteroperabilityChallenge GMES: Global Monitoring for Environment & Security Protocols for Discovery 4 , Interaction, Data exchange, Application, NFP With heterogeneity along all dimensions Highly-dynamic and complex environment
  • 5.
    Facing the InteroperabilityChallenge in the Mobile Environment Mobile   Applica,on   ??
  • 6.
    Facing the InteroperabilityChallenge in the Mobile Environment Amiando to Regonline Mediator SOAP/HTTPHTTP EventFind() Login() GetEvents()EventRead()
  • 7.
    Looking for Babelfish… Adapt protocol on the fly using an intermediary system: the mediator Our Challenges: Can we observe, synthesize and deploy mediators dynamically? Need for On-the-fly Interoperability × Beyond SOTA × Changing systems × Standardization × Common abstraction ➠ On-the-fly mediation 7
  • 8.
  • 9.
    The CONNECT Processenabling Emergent Middleware 9 DownloadPhoto write PhotoFile write PhotoMetadata Behaviour learning Beh. learning read PhotoFile Mediator Model downloadPhoto read PhotoMetadata Deployment Monitor Emergent Middleware Ontology-based semantics DownloadPhoto = getPhoto Photo = PhotoMetadata + PhotoFile PhotoMetadata = PhotoID + Location + CameraID + details … Synthesis Deployment write PhotoFile write PhotoMetadata DownloadPhoto Discovery
  • 10.
  • 11.
    Focus on Synthesis 11  Interoperability through dynamic synthesis of connectors •  Modeling •  Synthesis •  Deployment
  • 12.
    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 12 Interface Networked System Affordance Behaviour 1 0..n 1 Ontologies <SendSOAPRequest, DownloadPhoto,{CameraID}, ∅> <ReceiveSOAPResponse, DownloadPhoto, ∅, {Photo}>
  • 13.
    Emergent Middleware Synthesis Informedby Ontologies System (NS2) Functional MatchingSystem (NS1) Ontologies Does it make sense for NS1 and NS2 to interact? 13
  • 14.
    Functional Matching 14 System 2System1 AffC2= <Req, PhotoSharing, {CameraID}, {PhotoFile}> AffDrone = <Prov, PhotoSharing, ∅, {Photo}> What is the relation between a PhotoFile and Photo ?
  • 15.
    Domain-specific Ontology 15 PhotoSharingProducer PhotoSharingServerPhotoSharingConsumer 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 Attribute (PartOf)
  • 16.
    Functional Matching 16 System 2System1 AffC2= <Req, PhotoSharing, {CameraID}, {PhotoFile}> AffDrone = <Prov, PhotoSharing, {CameraID}, {Photo}> There is a functional matching between AffC2 and AffDrone CameraID is subsumed by CameraID (contra-variant) Photo is subsumed by PhotoFile (co-variant)
  • 17.
    Emergent Middleware Synthesis Informedby 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 17
  • 18.
    Middleware Ontology 18 RemoteProcedureCallAPI MethodName ArgumentsReturnValue 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
  • 19.
    Middleware Abstraction 19 <SendSOAPRequest, DownloadPhoto, {CameraID},∅> <ReceiveSOAPResponse, DownloadPhoto, ∅, {Photo}> <DownloadPhoto,{CameraID}, {Photo}> C2 Behavior C2 Middleware-agnostic Behavior
  • 20.
    Middleware Abstraction 20 Drone Behavior DroneMiddleware-agnostic Behavior <write, PhotoMetaData, ∅, {Photometadata}> <write, PhotoFile, ∅, {Photofile}> <PhotoMetaData, ∅, {Photometadata}> <PhotoFile, ∅, {Photofile}>
  • 21.
    Emergent Middleware Synthesis Informedby Ontologies Middleware Abstraction Middleware Abstraction System (NS2) Functional Matching Yes System (NS1) Middleware-agnostic Networked System (NS2) Middleware-agnostic System (NS1) Ontologies 21 Generate Mapping Processes Mapping Processes What are the translations that need to be performed?
  • 22.
    Generating Mapping Processes 22 DroneInterfaceC2 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 subsumes Photometadata union Photofile 3- Generate the corresponding mapping process
  • 23.
    Emergent Middleware Synthesis Informedby 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 23 Generate Mapping Processes Mapping Processes Relies on ontology-based model checking to verify the correctness of the mapping processes
  • 24.
  • 25.
    Emergent Middleware Synthesis Informedby 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 25 Generate Mapping Processes Mapping Processes Deployment Emergent Middleware Refines the mediator model into a concrete software artifact: an emergent middleware Failure
  • 26.
    Deployment   Refine themapping processes using middleware semantics 26 <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
  • 27.
    Deployment (Cont’d) 27 Composer 2 Parser2 Parser 1 Composer1 Emergent Middleware Mediator System 2System1
  • 28.
    Some Conclusions   Interoperabilityremains 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 28
  • 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 adaptation 29
  • 30.
    Thanks to colleagues: AmelBennaceur, Nikolaos Georgantas Animesh Pathak & Ambientic contributors Thank you
  • 31.