The document discusses dynamic synthesis of mediators to support interoperability in autonomic systems. It proposes using ontologies to dynamically synthesize and deploy mediators that can seamlessly overcome heterogeneities between systems and enable their interactions. The approach involves discovering system models, learning their semantics from ontologies, synthesizing a mediator model, concretizing it for the target platforms, and monitoring interactions to ensure correct mediation.
Overview of JPA (Java Persistence API) v2.0Bryan Basham
JPA (Java Persistence API) is a JCP Standard for Object-Relational Mapping (ORM) persistence for the Java platform, both JavaSE and JavaEE. This talk will discuss and show examples from the latest version of the spec: JPA v2.0. Based upon influences from a variety of technologies that competed with the original JavaEE EJB specification for Entity beans, JPA promotes the use of light-weight POJO-based Entity objects and a simple EntityManger interface to control the CRUD operations to the backend RDBMS. Even with the rise of NoSQL data stores, there are still many applications that are well suited to a relational database solution and JPA is my favorite ORM tool for Java development.
In the talk I will present:
* Entities
* Entity Operations
* Query Language
* Containers & Deployment
* "In Practice" common problems, solutions and patterns of use
Achieving Interoperability through Semantics-based Technologies: The Instant ...Amel Bennaceur
This document discusses achieving interoperability between heterogeneous systems through automated synthesis of mediators. It presents an approach that uses ontologies to model interaction protocols and enable reasoning about semantic mappings between systems. An implementation generates mediators by combining ontology reasoning with model checking of interaction specifications. The approach was shown to effectively synthesize mediators, but future work includes handling more complex mappings and learning models automatically from systems.
Dynamic Synthesis of Mediators in Ubiquitous EnvironmentsAmel Bennaceur
This document discusses the dynamic synthesis of mediators to allow components with heterogeneous interfaces and behaviors to interact. It presents an approach that models component interfaces and behaviors, matches interfaces to find compatible functionality, generates correct-by-construction mediators, and concretizes mediators by translating data and coordinating middleware protocols. The goal is to overcome heterogeneity at the application and middleware layers through automated mediator synthesis.
This document discusses using machine learning techniques to enable interoperability between heterogeneous networked systems. It proposes using statistical learning to infer systems' capabilities from their interfaces and automata learning to model their behaviors through interaction. The learned models can then be used to synthesize mediators between systems to facilitate interoperability. Challenges include the cost of behavioral learning and dealing with evolution over time through continuous learning and feedback.
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsAmel Bennaceur
Amel Bennaceur presented her work on dynamically synthesizing mediators to enable interoperability between heterogeneous systems in pervasive computing environments. Her approach uses domain ontologies to model systems and perform functional and behavioral matching between them. If a match is found, a mediator is synthesized by generating mapping processes between the systems' interfaces and behaviors. The mediator model is then concretized into deployable emergent middleware code through refinement using middleware semantics. The goal is to seamlessly overcome interoperability issues between systems at runtime without prior knowledge of their configurations.
The document provides an overview of the Network Simulator 2 (NS2). It discusses that NS2 is a discrete event simulator targeted at networking research and education. It allows modeling of both wired and wireless networks. The backend is written in C++ and the frontend is written in OTcl. The document outlines how to download, install, and use NS2 to create network topologies, configure protocols, generate traffic, insert errors, run simulations, and analyze trace files.
Overview of JPA (Java Persistence API) v2.0Bryan Basham
JPA (Java Persistence API) is a JCP Standard for Object-Relational Mapping (ORM) persistence for the Java platform, both JavaSE and JavaEE. This talk will discuss and show examples from the latest version of the spec: JPA v2.0. Based upon influences from a variety of technologies that competed with the original JavaEE EJB specification for Entity beans, JPA promotes the use of light-weight POJO-based Entity objects and a simple EntityManger interface to control the CRUD operations to the backend RDBMS. Even with the rise of NoSQL data stores, there are still many applications that are well suited to a relational database solution and JPA is my favorite ORM tool for Java development.
In the talk I will present:
* Entities
* Entity Operations
* Query Language
* Containers & Deployment
* "In Practice" common problems, solutions and patterns of use
Achieving Interoperability through Semantics-based Technologies: The Instant ...Amel Bennaceur
This document discusses achieving interoperability between heterogeneous systems through automated synthesis of mediators. It presents an approach that uses ontologies to model interaction protocols and enable reasoning about semantic mappings between systems. An implementation generates mediators by combining ontology reasoning with model checking of interaction specifications. The approach was shown to effectively synthesize mediators, but future work includes handling more complex mappings and learning models automatically from systems.
Dynamic Synthesis of Mediators in Ubiquitous EnvironmentsAmel Bennaceur
This document discusses the dynamic synthesis of mediators to allow components with heterogeneous interfaces and behaviors to interact. It presents an approach that models component interfaces and behaviors, matches interfaces to find compatible functionality, generates correct-by-construction mediators, and concretizes mediators by translating data and coordinating middleware protocols. The goal is to overcome heterogeneity at the application and middleware layers through automated mediator synthesis.
This document discusses using machine learning techniques to enable interoperability between heterogeneous networked systems. It proposes using statistical learning to infer systems' capabilities from their interfaces and automata learning to model their behaviors through interaction. The learned models can then be used to synthesize mediators between systems to facilitate interoperability. Challenges include the cost of behavioral learning and dealing with evolution over time through continuous learning and feedback.
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsAmel Bennaceur
Amel Bennaceur presented her work on dynamically synthesizing mediators to enable interoperability between heterogeneous systems in pervasive computing environments. Her approach uses domain ontologies to model systems and perform functional and behavioral matching between them. If a match is found, a mediator is synthesized by generating mapping processes between the systems' interfaces and behaviors. The mediator model is then concretized into deployable emergent middleware code through refinement using middleware semantics. The goal is to seamlessly overcome interoperability issues between systems at runtime without prior knowledge of their configurations.
The document provides an overview of the Network Simulator 2 (NS2). It discusses that NS2 is a discrete event simulator targeted at networking research and education. It allows modeling of both wired and wireless networks. The backend is written in C++ and the frontend is written in OTcl. The document outlines how to download, install, and use NS2 to create network topologies, configure protocols, generate traffic, insert errors, run simulations, and analyze trace files.
This document discusses emergent middleware to support interoperability in mobile collaborative applications. It outlines an approach using dynamic synthesis of mediators to enable interoperability between heterogeneous systems. The key steps involve using ontologies to perform functional and behavioral matching between systems, generating mapping processes, and deploying the mappings as an emergent middleware artifact to facilitate communication. The approach aims to address interoperability in a flexible way that can adapt to changing systems.
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...iCOMMUNITY
This document discusses emergent middleware to support interoperability in mobile collaborative applications. It outlines an approach using dynamic synthesis of mediators to enable interoperability between heterogeneous systems. The key steps involve using ontologies to perform functional and behavioral matching between systems, generating mapping processes, and deploying the mappings as an emergent middleware artifact to enable interoperability. Challenges include dealing with heterogeneity, ensuring dependability of the synthesized mediators, and involving users in the adaptation process.
This document provides biographical information about the speaker Matt Stine and outlines the topics he will cover in his presentation. Stine will discuss how software designs tend to degrade over time due to various factors, and how following the SOLID principles of object-oriented design can help address this problem and make designs more functional in nature. He will also cover trends in how software systems evolve, different programming paradigms, and the ongoing quest for software design "best practices."
The SENSORIA Development Environment is a CASE tool for service-oriented architecture (SOA) development from the SENSORIA EU FP6 project. It has 19 partners from 7 countries over 4 years with 4 million Euro funding. The tool provides an integrated platform for SOA development tools, allowing tools to be discovered, installed, composed, and orchestrated as services. The environment is based on Eclipse and OSGi services. It addresses challenges in SOA such as service specification, composition correctness, and continuous operation in changing environments.
Presentation done at the 9th Summer School on Ontological Engineering and the Semantic Web (SSSW2012, http://sssw.org/) in July 2012. Please do treat references to people (e.g., Manfred Hauswirth) and nationalities (e.g., about Swiss) in the context in which they were done.
Spring Framework provides a comprehensive infrastructure to develop Java applications. It handles dependency injection and inversion of control so developers can focus on domain logic rather than plumbing. Spring promotes best practices like clean code, test-driven development, and design patterns. It includes aspects for cross-cutting concerns and supports web development through frameworks like Spring MVC. The document introduces Spring's lightweight and modular IoC container and AOP capabilities for separating concerns.
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...Cloudera, Inc.
This session will answer frequently asked questions about Hadoop, and share proven ways you can overcome challenges in deploying, managing, and tuning Hadoop environments. The discussion topics will include Hadoop operations, configuration management, upgrades and lifecycle management, monitoring and managing power and heat, and Hadoop performance tuning, testing, and optimization. The presenters will also discuss how rapid Hadoop deployment makes life easier for administrators, and talk about Crowbar, an open source Operations Framework.
This document provides guidance on framework design. It discusses how organizational structure and culture can impact a product. Frameworks should manage dependencies and balance new features with maintaining compatibility. Duplication and unfinished features should be avoided. APIs should be designed based on code samples for key scenarios before defining object models. Simplicity is important and thorough testing and measurement is needed. Framework engineering best practices from Microsoft, Cwalina, and Schmidt are referenced.
Complex Er[jl]ang Processing with StreamBasedarach
The document is a presentation about complex event processing using StreamBase. It discusses StreamBase's event processing platform and how it provides high performance through its domain specific language and optimizations. It also covers how StreamBase integrates with Erlang through calling Erlang functions and messaging.
Profiling Multicore Systems to Maximize Core Utilization mentoresd
Profiling Multicore Systems to Maximize Core Utilization – Colin Walls
Underutilization of cores in a multicore system can be considered a bug. As your system incorporates more cores, you need to make sure that all the cores are being utilized fully. Un-expected inter-actions between processes, the operating system, and resources can prevent cores from delivering peak performance. In this session explore how to profile what each core is doing, which processes are running on each core, and understand where core utilization falls below optimum values.
This document proposes a next generation open geo-social REST API that uses behavior trees and goal-driven user stories to simplify access to geospatial web services. By defining user goals and activities required to achieve those goals, behavior trees can sequence activities and execute them across multiple services. This reduces complexity for users who only need to state goals rather than interact with specific services. Servers would publish available behaviors based on goals. Clients could then execute behaviors to retrieve results without implementing service interfaces.
GPars is a concurrency and parallelism toolkit for the JVM. Founded on java.util.concurrent, it extends it with additional models of concurrency and parallelism, e.g. dataflow, CSP, actors, agents. Although GPars requires Groovy to run it is a toolkit usable from Java as well as Groovy codes.
This was presented at DevoxxUK 2013 2013-03-27T15:50
This document discusses key principles for framework engineering based on the work of experts in the field like Douglas Schmidt, Krzysztof Cwalina, and Robert C. Martin. It emphasizes organizing frameworks to avoid duplication, managing dependencies carefully, balancing advances with backward compatibility, and designing APIs based on code samples rather than forcing an object model. It also stresses the importance of simplicity, measurement, avoiding unfinished integrations, and understanding how organizational factors impact a product.
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
This document summarizes a presentation given by Darach Ennis of StreamBase Systems on complex event processing using Erlang. The presentation discusses using a domain specific language for high frequency trading, challenges in complex event processing like low latency and large data volumes, and how StreamBase's event processing platform addresses these challenges through techniques like compilation, modular abstraction, and clustering. It also demonstrates how to embed Erlang code and behaviors in StreamBase to extend its functionality.
Semantically-aware Networks and Services for Training and Knowledge Managemen...Gilbert Paquette
This document discusses semantically-aware networks and services for training and knowledge management. It describes software developed at CICE/LICEF for building ontologies and semantically referencing resources to enable semantic search and personalized recommendations. The TELOS system uses competency descriptors and comparison methods to power rules-based recommender agents that are integrated into learning scenarios to provide adaptive assistance to users. Future work is aimed at experimental validation, improving group recommendations, automation, and integrating other recommendation methods.
Application development for the internet of thingsPankesh Patel
1. The document discusses application development challenges for the Internet of Things (IoT), including heterogeneity of devices, large scale, lack of separation of concerns, and life-cycle issues.
2. It proposes a conceptual model that classifies IoT concepts and relates development concerns to promote reusability.
3. A multi-stage model-driven approach is presented using a set of modeling languages to abstract heterogeneity, scale, and support automation across development stages.
This document discusses self-adaptive software and provides examples of where static software failed to adapt. It describes the architectural elements of self-adaptive software, including services/components, a service registry, context manager, adaptation planner, component executor. It presents a case study of Tekio, a self-adaptive vision system, and experimental results showing it can adapt faster and more robustly than static implementations. Lessons learned are that modern software needs to adapt to context, rely on dynamically loaded services, and the adaptation planner is key to mapping context to configurations, while maintaining performance.
A Practical Guide to Anomaly Detection for DevOpsBigPanda
Recent years have seen an explosion in the volumes of data that modern production environments generate. Making fast educated decisions about production incidents is more challenging than ever. BigPanda's team is passionate about solutions such as anomaly detection that tackle this very challenge.
The document discusses a research project that uses a smartphone app to collect subjective travel experience data from individuals. The app will provide feedback to users about their own experiences as well as those of others. The researchers aim to see if these interventions can change travel behaviors and reduce emissions. They will draw on theories from behavioral economics, psychology, and technology acceptance. An important goal is to pilot and refine the app to make it more usable and understand its impact on travel choices over multiple trials involving both strangers and friends.
More Related Content
Similar to Dynamic Synthesis of Mediators to Support Interoperability in Autonomic Systems
This document discusses emergent middleware to support interoperability in mobile collaborative applications. It outlines an approach using dynamic synthesis of mediators to enable interoperability between heterogeneous systems. The key steps involve using ontologies to perform functional and behavioral matching between systems, generating mapping processes, and deploying the mappings as an emergent middleware artifact to facilitate communication. The approach aims to address interoperability in a flexible way that can adapt to changing systems.
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...iCOMMUNITY
This document discusses emergent middleware to support interoperability in mobile collaborative applications. It outlines an approach using dynamic synthesis of mediators to enable interoperability between heterogeneous systems. The key steps involve using ontologies to perform functional and behavioral matching between systems, generating mapping processes, and deploying the mappings as an emergent middleware artifact to enable interoperability. Challenges include dealing with heterogeneity, ensuring dependability of the synthesized mediators, and involving users in the adaptation process.
This document provides biographical information about the speaker Matt Stine and outlines the topics he will cover in his presentation. Stine will discuss how software designs tend to degrade over time due to various factors, and how following the SOLID principles of object-oriented design can help address this problem and make designs more functional in nature. He will also cover trends in how software systems evolve, different programming paradigms, and the ongoing quest for software design "best practices."
The SENSORIA Development Environment is a CASE tool for service-oriented architecture (SOA) development from the SENSORIA EU FP6 project. It has 19 partners from 7 countries over 4 years with 4 million Euro funding. The tool provides an integrated platform for SOA development tools, allowing tools to be discovered, installed, composed, and orchestrated as services. The environment is based on Eclipse and OSGi services. It addresses challenges in SOA such as service specification, composition correctness, and continuous operation in changing environments.
Presentation done at the 9th Summer School on Ontological Engineering and the Semantic Web (SSSW2012, http://sssw.org/) in July 2012. Please do treat references to people (e.g., Manfred Hauswirth) and nationalities (e.g., about Swiss) in the context in which they were done.
Spring Framework provides a comprehensive infrastructure to develop Java applications. It handles dependency injection and inversion of control so developers can focus on domain logic rather than plumbing. Spring promotes best practices like clean code, test-driven development, and design patterns. It includes aspects for cross-cutting concerns and supports web development through frameworks like Spring MVC. The document introduces Spring's lightweight and modular IoC container and AOP capabilities for separating concerns.
Hadoop World 2011: Proven Tools to Manage Hadoop Environments - Joey Jablonsk...Cloudera, Inc.
This session will answer frequently asked questions about Hadoop, and share proven ways you can overcome challenges in deploying, managing, and tuning Hadoop environments. The discussion topics will include Hadoop operations, configuration management, upgrades and lifecycle management, monitoring and managing power and heat, and Hadoop performance tuning, testing, and optimization. The presenters will also discuss how rapid Hadoop deployment makes life easier for administrators, and talk about Crowbar, an open source Operations Framework.
This document provides guidance on framework design. It discusses how organizational structure and culture can impact a product. Frameworks should manage dependencies and balance new features with maintaining compatibility. Duplication and unfinished features should be avoided. APIs should be designed based on code samples for key scenarios before defining object models. Simplicity is important and thorough testing and measurement is needed. Framework engineering best practices from Microsoft, Cwalina, and Schmidt are referenced.
Complex Er[jl]ang Processing with StreamBasedarach
The document is a presentation about complex event processing using StreamBase. It discusses StreamBase's event processing platform and how it provides high performance through its domain specific language and optimizations. It also covers how StreamBase integrates with Erlang through calling Erlang functions and messaging.
Profiling Multicore Systems to Maximize Core Utilization mentoresd
Profiling Multicore Systems to Maximize Core Utilization – Colin Walls
Underutilization of cores in a multicore system can be considered a bug. As your system incorporates more cores, you need to make sure that all the cores are being utilized fully. Un-expected inter-actions between processes, the operating system, and resources can prevent cores from delivering peak performance. In this session explore how to profile what each core is doing, which processes are running on each core, and understand where core utilization falls below optimum values.
This document proposes a next generation open geo-social REST API that uses behavior trees and goal-driven user stories to simplify access to geospatial web services. By defining user goals and activities required to achieve those goals, behavior trees can sequence activities and execute them across multiple services. This reduces complexity for users who only need to state goals rather than interact with specific services. Servers would publish available behaviors based on goals. Clients could then execute behaviors to retrieve results without implementing service interfaces.
GPars is a concurrency and parallelism toolkit for the JVM. Founded on java.util.concurrent, it extends it with additional models of concurrency and parallelism, e.g. dataflow, CSP, actors, agents. Although GPars requires Groovy to run it is a toolkit usable from Java as well as Groovy codes.
This was presented at DevoxxUK 2013 2013-03-27T15:50
This document discusses key principles for framework engineering based on the work of experts in the field like Douglas Schmidt, Krzysztof Cwalina, and Robert C. Martin. It emphasizes organizing frameworks to avoid duplication, managing dependencies carefully, balancing advances with backward compatibility, and designing APIs based on code samples rather than forcing an object model. It also stresses the importance of simplicity, measurement, avoiding unfinished integrations, and understanding how organizational factors impact a product.
StreamBase - Embedded Erjang - Erlang User Group London - 20th April 2011darach
This document summarizes a presentation given by Darach Ennis of StreamBase Systems on complex event processing using Erlang. The presentation discusses using a domain specific language for high frequency trading, challenges in complex event processing like low latency and large data volumes, and how StreamBase's event processing platform addresses these challenges through techniques like compilation, modular abstraction, and clustering. It also demonstrates how to embed Erlang code and behaviors in StreamBase to extend its functionality.
Semantically-aware Networks and Services for Training and Knowledge Managemen...Gilbert Paquette
This document discusses semantically-aware networks and services for training and knowledge management. It describes software developed at CICE/LICEF for building ontologies and semantically referencing resources to enable semantic search and personalized recommendations. The TELOS system uses competency descriptors and comparison methods to power rules-based recommender agents that are integrated into learning scenarios to provide adaptive assistance to users. Future work is aimed at experimental validation, improving group recommendations, automation, and integrating other recommendation methods.
Application development for the internet of thingsPankesh Patel
1. The document discusses application development challenges for the Internet of Things (IoT), including heterogeneity of devices, large scale, lack of separation of concerns, and life-cycle issues.
2. It proposes a conceptual model that classifies IoT concepts and relates development concerns to promote reusability.
3. A multi-stage model-driven approach is presented using a set of modeling languages to abstract heterogeneity, scale, and support automation across development stages.
This document discusses self-adaptive software and provides examples of where static software failed to adapt. It describes the architectural elements of self-adaptive software, including services/components, a service registry, context manager, adaptation planner, component executor. It presents a case study of Tekio, a self-adaptive vision system, and experimental results showing it can adapt faster and more robustly than static implementations. Lessons learned are that modern software needs to adapt to context, rely on dynamically loaded services, and the adaptation planner is key to mapping context to configurations, while maintaining performance.
A Practical Guide to Anomaly Detection for DevOpsBigPanda
Recent years have seen an explosion in the volumes of data that modern production environments generate. Making fast educated decisions about production incidents is more challenging than ever. BigPanda's team is passionate about solutions such as anomaly detection that tackle this very challenge.
The document discusses a research project that uses a smartphone app to collect subjective travel experience data from individuals. The app will provide feedback to users about their own experiences as well as those of others. The researchers aim to see if these interventions can change travel behaviors and reduce emissions. They will draw on theories from behavioral economics, psychology, and technology acceptance. An important goal is to pilot and refine the app to make it more usable and understand its impact on travel choices over multiple trials involving both strangers and friends.
Similar to Dynamic Synthesis of Mediators to Support Interoperability in Autonomic Systems (20)
Dynamic Synthesis of Mediators to Support Interoperability in Autonomic Systems
1. Dynamic Synthesis of Mediators
to Support Interoperability in
Autonomic Systems
Amel Bennaceur and Valérie Issarny
ARLES project-team
Inria Paris-Rocquencourt
NII-Shonan Workshop: Engineering Autonomic Systems (EASy)
2. Interoperability in Autonomic
Systems
Systems are becoming increasingly connected
• Future Internet, Cyber-Physical System, Internet of Things
• Integration becoming more difficult
Interactions among components cannot be planned
beforehand
• Increasingly dynamic
• Unanticipated components
System and its components figure out how to interact at
runtime
• Automatically ensuring interoperation at runtime
3. Our Research on Interoperability
Sustaining composition in highly heterogeneous
and dynamic environments
• Multi-* networking environments with heterogeneity at
all layers (application, middleware)
• Semantics of networked systems needed to reason
about and achieve on-the-fly interoperability
• Ontology for the description of functional
semantics
• LTSs for the description of behavioural semantics
3
4. Illustrating the Interoperability
Challenges
GMES: Global Monitoring for Environment & Security
Discovery, Interaction , Data , Application, NFP heterogeneity
What kindcandata available services inuse? peers?
Am I What kindcan I exchange othervicinity?
What are Ithetoof application to other peers?
How of communicate with with other
allowed forward data can I peers?
Highly-dynamic and complex environments
4
5. Existing Approaches to
Interoperability
× Change the system × A chosen shared × Use a common abstraction
or attach an adaptor language
Legacy systems No one-size-fits-all Need to be aware about all the
No runtime support standard possible configurations beforhand
Can we an intermediary system:
Transform on the fly using
observe, synthesize and deploy mediators
dynamically?
the mediator
5
6. Dynamic Mediation to Support
Interoperability
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.
6
7. Dynamic Mediation to Support
Interoperability
Discovery → Learning → Synthesis → Concretization → Monitoring
Ontolog
y
DownloadPhoto = getPhoto
Photo = PhotoMetadata + PhotoFile
PhotoMetadata = PhotoID + Location + CameraID + details …
Synthesis
Mediator Model write PhotoMetadata
DownloadPhoto read PhotoMetadata
Model write PhotoFile
downloadPhoto read PhotoFile
level
Model Model
Extraction Deployment Extraction
System (NS1) System (NS2)
System write PhotoMetadata
level DownloadPhoto
Emergent
Middleware write PhotoFile
Monitor
8. Ontology-based Networked System
Model
Ontology-based Functional Semantics 1 Networked
• Affordance System
• The high-level functionality of a system <SendSOAPRequest,
0..n
• e.g., <Req, PhotoSharing, Preferences, Photo> DownloadPhoto,{CameraID}, >
• Interface Interface Affordance
1
<ReceiveSOAPResponse, Behaviour
• A set of observable actions DownloadPhoto, {Photo}>
,
• e.g., <SendSOAPRequest, DownloadPhoto,
{CameraID}, >
LTS-based Behavioural semantics
• The way the observable actions are coordinated Ontologies
• At both application and middleware layers
• Application → Business logic
• Middleware → Communication & coordination protocol
8
9. Emergent Middleware Synthesis
Informed by Ontologies
NS1 Model Ontologies NS2 Model
Thing
Affordance a d Affordance
B ir A <Prov, B, IB,OB>
<Req, A, IA,OA> ia
Interface Nothing Interface
δ1 = <SOAPCall, d, id, od>
α1 = <rd, a, ia, oa> λ1 = <SOAPCall, l, il, ol>
β1 = <out, b, ib, ob> ρ1 = <SOAPCall, r, ir, or>
Functional Behaviour
Behaviour
Matching t3
t2 !δ 1
?β 1 ?ρ 1
!α 1
!δ 1 ?δ 2
!ρ 2
?α 2 !β 2 ?λ 1
t4
t1
Does it make sense for NS1 and NS2
to interact?
10. Emergent Middleware Synthesis
Informed by Ontologies
Ontologies
NS1 Model Thing
NS2 Model
a d
Affordance B ir A Affordance
ia
<Req, A, IA,OA> <Prov, B, IB,OB>
Nothing
Interface Interface
δ1 = <SOAPCall, d, id, od>
α1 = <rd, a, ia, oa> λ1 = <SOAPCall, l, il, ol>
Middleware
β1 = <out, b, ib, ob> Abstraction ρ1 = <SOAPCall, r, ir, or>
Behaviour
Behaviour
t3
t2 !δ 1
?β 1 ?ρ 1
!α 1
!δ 1 ?δ 2
!ρ 2
?α 2 !β 2 ?λ 1
t4
t1
Abstract from the communication
protocol details and concentrate on
application semantics
11. Emergent Middleware Synthesis
Informed by Ontologies
Ontologies
NS1 Model Thing NS2 Model
a d
Affordance B ir A Affordance
ia
<Req, A, IA,OA> <Prov, B, IB,OB>
Nothing
Interface Interface
α = <a, ia, oa> δ = <d, id, od>
λ = <l, il, ol>
β = <b, ib, ob> Ontology-based
Action Mapping ρ = <r, ir, or>
Behaviour Behaviour
α' = < α , <δ, λ> > δ
α β β' = < β , <ρ> > ρ λ
…. ρ δ
α
What are the translations that need to
be performed?
12. Emergent Middleware Synthesis
Informed by Ontologies
NS1 Model α' = < α , <δ, λ> > NS2 Model
β' = < β , <ρ> >
Affordance …. Affordance
<Req, A, IA,OA> <Prov, B, IB,OB>
Interface Interface
α = <a, ia, oa> Behavioral δ = <d, id, od>
Matching & Synthesis λ = <l, il, ol>
β = <b, ib, ob>
ρ = <r, ir, or>
Behaviour Behaviour
Success
δ
α β ρ
Abstract CONNECTor Model λ
ρ δ
α δ
ρ λ
α
β
Select the appropriate mapping processes
and compose them such that both
systems reach their final states
13. Emergent Middleware Synthesis
Informed by Ontologies
Ontologies
Thing
NS1 Model a d NS2 Model
B ir A
Affordance ia Affordance
Nothing
<Req, A, IA,OA> <Prov, B, IB,OB>
Abstract CONNECTor Model
Interface Interface
ρ δ δ = <d, id, od>
α = <a, ia, oa> λ
λ = <l, il, ol>
β = <b, ib, ob> α
β ρ = <r, ir, or>
Behaviour Behaviour
δ
α β Concretization
ρ λ
ρ δ
α Concrete CONNECTor Model
t2 t3 !δ 1
!ρ 1 ?β 1 ?α 1
?δ 2
?ρ 2 !β 2 !α 2 ?λ 1
t1 t4
Refines the mediator model into a
concrete software artifact:
an emergent middleware
19. Approach In Action:
Generating Mapping Processes
C2 Interface Drone Interface
<DownloadPhoto,{CameraID}, {Photo}> <PhotoMetaData, , {photometadata}>
<PhotoFile, , {photofile}>
1 - Define the constraints that need to hold between compatible actions
e.g., photo sumsumed by photometadata union photofile
2- Use constraint programming to find possible mapping between interfaces
<DownloadPhoto,{CameraID}, {Photo}>⟼
<<PhotoMetaData, , {photometadata}>, <PhotoFile, , {photofile}>>
3- Generate the corresponding mapping process
PhotoMetaData PhotoFile DownloadPhoto
19
21. Approach In Action:
Deployment
<receiveCall, DownloadPhoto,
{cameraID}, >
Refine the mapping
PhotoMetaData
processes using
<read, PhotoMetadata,
middleware semantics {cameraID}, {photometadata}>
PhotoFile
Get photoID from photoMetadata
<read, PhotoFile,
{photoID}, {photoFile}>
DownloadPhoto
Middleware <reply, DownloadPhoto,
{photoFile}>
,
& Domain-specific
Ontologies
21
22. Approach In Action:
Deployment
System1 Emergent Middleware System 2
Parser 1 Mediator Composer 2
Composer
1
Parser 2
23. Open Issues
Learning is (almost) always partial
Evolution and incremental synthesis
Discovery
New NSs
Learning
Evolution of the
NS Model
Monitoring (re)Synthesis
Synthesis
23
24. Open Issues In CONNECT
Enforcing the goal instead of achieving it
Ontologies
• Processing overhead, fuzziness, learning,
heterogeneity in ontologies, alignment
25. Summary
Interoperability remains a fundamental
problem in today’s complex systems
Dynamic synthesis of mediators promises
to address interoperability in a future-proof
manner
Still..
Need to make complete the NS model and
re(synthesize) mediators incrementally
25
27. 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
27