Dev Dives: Streamline document processing with UiPath Studio Web
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 ARLES team
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 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
6. Facing the Interoperability Challenge
in the Mobile Environment
Amiando to Regonline Mediator
SOAP/HTTPHTTP
EventFind() Login()
GetEvents()EventRead()
7. 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
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
Informed by 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 ?
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
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
21. 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?
22. 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
23. 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
28. 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
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:
Amel Bennaceur, Nikolaos Georgantas
Animesh Pathak & Ambientic contributors
Thank you