The Role of Ontologies in Emergent Middleware:
Supporting Interoperability in Complex Distributed Systems
Gordon Blair, Amel Bennaceur, Nikolaos Georgantas, Paul
Grace, Valerie Issarny, Vatsala Nundloll and Massimo Paolucci
A Few Words from Danny Cohen
In the beginning ARPA created ARPANET. And the ARPANET was without form and void. And darkness was upon the deep. And the spirit of ARPA moved upon the face of the network and ARPA said, 'Let there be a protocol,' and there was a protocol. And ARPA saw that it was good. And ARPA said, 'Let there be more protocols,' and it was so. And ARPA saw that it was good. And ARPA said, 'Let there be more networks,' and it was so.
Gordon’s Distributed Systems Version
In the beginning there was small scale experimentation. And the experiments were without abstraction or openness. And darkness was upon the deep. And the spirit of the OMG moved upon the face of distributed systems and said, 'Let there be a middleware standard,' and there was a standard. And OMG saw that it was good. And Microsoft said, 'Let there be more standards,' and it was so. And Microsoft saw that it was good. And the community said, 'Let there be more networks and of course also mobility, ubiquity and cloud computing for good measure,' and it was so.....
…. but is it good?
Early distributed systems• Limited in scale and heterogeneity, issues such as
openness, and support for QoS not a big issue
Internet-scale distributed systems• Large scale and significant levels of heterogeneity
(platforms, languages and middleware), significant advances in supporting openness and QoS
The complex distributed systems of tomorrow• Significant increases in scale and also heterogeneity in all
its dimensions (cf. systems of systems); more dynamic; major research questions concerning openness and QoS
Illustrating the challenge:Towards environmental observatories
Motivation• Many well-known challenges to the environment
• Global warming, pollution, diminishing of natural resources, threats to bio-diversity, etc.
• The environment decade [Al Gore, Earth in the Balance]• Book also focuses on the potential role of technology in addressing
these problems
What is an environmental observatory?• Investigating the role of contemporary computing
technologies, particularly where pervasive technologies meet distributed systems in supporting the (real-time) monitoring and management of the natural environment
Focus on Interoperability
Scalability
Security
Privac
ySelf-
Management
“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”.
Interoperability
A Closer Look at Interoperability
The challenge• Differences in data formats and behaviour• Applies at all levels of a layered architecture, e.g. at
the application and middleware level(s)
Responses• From the middleware community: standards, software
bridges, intermediary- and substitution-based solutions
• From the web services community: semantic web services and ontologies
Towards Emergent Middleware
Networked System (NS1)
Networked System (NS2)
Discovery Enabler
Synthesis Enabler
Learning Enabler
Partial Networked System Model
Networked System Models (NS1 & NS2)
Ontologies
Discover
SynthesizeNetworked
System (NS1)Networked
System (NS2)Emergent Middlware
10
EU Travel Agency
The Travel Agency Scenario
Client Service
ClientService
RPC-SOAP
HTTP-REST
US Travel Agency
Differences in the data format data mismatchesDifferences in the Interaction protocol Coordination model middleware-level behavioural mismatches Business logic application-level behavioural mismatches
EmergentMiddleware
Ontologies in Action
Ontologies in a Nutshell
Ontology = Knowledge Base +
Knowledge Base = TBox + ABox
Reasoning• Class membership• Classes equivalence • Consistency• Classification Reasoning reducible to subsumption ( )⊑
Ontology Web Language (OWL)• Based on Description Logic• Powerful but still decidable ontology
language
Terminological axioms (TBox): Schema• Concept (class)• Property (role, relation)
Assertional axioms (ABox): Data• Individual (instance)
Inference System(Reasoner)
Knowledge Base
Inference System
Travel Agency Ontology
Classes equivalence
Concept\attribute definition
14
Middleware Ontology
Middleware-level Ontology
Relation definition
Classmembership
16
Ontology-based Networked System Model
Functional Semantics• Affordance
• The high-level functionality of a system• <{Req,Prov},FunctionalConcept,Inputs,Outputs>• e.g., <Req, TravelReservation, Preferences, Travel>
• Interface• A set of observable actions• <mdw_primitive,app_action, Inputs,Outputs>• e.g., <SendSOAPRequest, MakeReservation,
{flightID, roomID, carID}, >
Behavioural semantics• The way the observable actions are coordinated• A process which actions are described in the interface
Non-Functional Properties• Constraints on the behaviour
Interface
Networked System
Affordance Behaviour1
0..n
1
Ontologies
Non-functional Properties
1
Emergent Middleware Synthesis Informed by Ontologies
Networked System (NS2)Affordance MatchingNetworked System (NS1)
Ontologies
Does it make sense for NS1 and NS2 to interact?
Emergent Middleware Synthesis Informed by Ontologies
Middleware Abstraction Middleware Abstraction
Networked System (NS2)Affordance Matching
Yes
Networked System (NS1)
Middleware-agnostic Networked System (NS2)
Middleware-agnostic Networked System (NS1)
Ontologies
Abstract from the communication protocol details and concentrate on
application semantics
Emergent Middleware Synthesis Informed by Ontologies
Middleware Abstraction Middleware Abstraction
Behavioral Matching
Networked System (NS2)Affordance Matching
Yes
Networked System (NS1)
Middleware-agnostic Networked System (NS2)
Middleware-agnostic Networked System (NS1)
Ontologies
Relies on ontology-based model checking to generate the model of the
mediator that ensures their behavioural interoperability
Emergent Middleware Synthesis Informed by Ontologies
Middleware Abstraction Middleware Abstraction
CompatibleSynthesis
Behavioral Matching
Networked System (NS2)Affordance Matching
Yes
Emergent Middleware
Networked System (NS1)
Middleware-agnostic Networked System (NS2)
Middleware-agnostic Networked System (NS1)
Ontologies
Refines the mediator model into a concrete software artifact: an emergent middleware
Emergent Middleware Synthesis Informed by Ontologies
Middleware Abstraction Middleware Abstraction
AdaptationCompatible
Partially compatibleNot compatible
Synthesis
Behavioral Matching
Networked System (NS2)Affordance Matching
Yes
Emergent Middleware
Failure
Networked System (NS1)
Middleware-agnostic Networked System (NS2)
Middleware-agnostic Networked System (NS1)
Ontologies
Performs additional adaptation
Overall Reflections
Interoperability remains a fundamental problem in the complex distributed systems of today
Emergent middleware offers promise in addressing interoperability in a future-proof manner
Ontologies have a key role to play in emergent middleware supporting conceptual reasoning
Many outstanding challenges• Ontologies: availability, processing overhead, fuzziness,
learning, heterogeneity in ontologies, alignment• Emergent middleware: foundations, dependability,
incompatibility, the role of end users including experts
Thank you
Questions?
24
Ontology-based Interface Mapping
FindTrip({destination,departureDate,returnDate,needCar},flightList)
ConfirmTrip(tripID,Ack)
SelectFlight({destination, departureDate, returnDate}, flightList)
SelectHotel({checkIndate, checkOutdate, pref}, roomList)
SelectCar({dateFrom, dateTo, model}, carList)
MakeReservation({flightID, roomID, carID}, Ack)
US Travel Agency Client Interface
EU Travel Agency Service Interface
25
Behavioral Matching
SelectFlight
MakeReservation
SelectFlight FindTrip
MakeReservation ConfirmTrip
FindTrip ConfirmTrip
SelectHotel
SelectCar
SelectFlight
SelectHotel
US Travel Agency Client Behavior
EU Travel Agency Service
Behavior
Mapping Processes
26
Ontology-based Mediator Synthesis
Middleware Ontology
Application Ontology
MakeReservation({flightID, roomID, carID}, Ack)
<ReceiveSOAPRequest, ConfirmTrip,tripID,>
<HTTP_POST, MakeReservation({flightID, roomID, carID} >
<SendSOAPResponse,ConfirmTrip, , Ack>
<HTTP_Response, MakeReservation, , Ack>
ConfirmTrip(tripID,Ack)
Refinement