machine learning for emergent middleware
DESCRIPTION
Short talk given at JIMSE 2012 The paper is available at http://hal.inria.fr/hal-00722051/enTRANSCRIPT
![Page 1: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/1.jpg)
Machine Learning for Emergent
Middleware
Amel Bennaceur, Issarny, Sykes (Inria)
Johansson and Moschitti (DISI)
Isberner, Steffen, Howar (TU Dortmund)
JIMSE 2012, Montpellier, France
![Page 2: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/2.jpg)
The Interoperability Challenge
Pervasive networked systems dynamically discover each
other, combine functionality and interact to achieve goals
Highly heterogeneous protocols and data format
![Page 3: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/3.jpg)
The Interoperability Challenge
Pervasive networked systems dynamically discover each
other, combine functionality and interact to achieve goals
Highly heterogeneous protocols and data format
Weather Station
![Page 4: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/4.jpg)
Emergent Middleware to Support
Interoperability
Emergent
MiddlewareNetworked
System 2
Login
GetTemperature
GetHumidity
Logout
Networked
System 2
Login
GetWeather
Logout
Emergent
MiddlewareNetworked
System 2
Login
GetTemperature
GetHumidity
Logout
Networked
System 2
Login
GetWeather
Logout
Provides weather
Behaviour
Capability
Login
GetTemperature
GetHumidity
Logout
Requires weather
Behaviour
Capability
GetWeather
Logout
Login
wind
Atmosphere
Thing
Nothing
Ontology
weatherInfo
HumidityTemperature
Discovery
SystemLevel
ModelLevel
Learnin
gSynthesis Deployment
GetHumidityLogout
Login
GetWeather
Logout
Login
GetTemperature4
Mediator
Emergent
MiddlewareNetworked
System 2
Login
GetTemperature
GetHumidity
Logout
Networked
System 2
Login
GetWeather
Logout
Networked
System 1
Login
GetTemperature
GetHumidity
Logout
![Page 5: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/5.jpg)
Learning the NS Model
Input
• The interface signature of the networked
system (NS)
Outputs
• The capability of the system: what the NS does
• The behaviour of the system:
how the NS achieves its capability
Algorithms
• Statistical learning for inferring NS capability
• Automata learning for extracting NS behaviour
Networked
System 1
Login
GetTemperature
GetHumidity
Logout
Provides weather
Behaviour
Capability
Login
GetTemperature
GetHumidity
Logout
??
![Page 6: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/6.jpg)
Statistical Learning
for Inferring NS Capability
Classify systems into categories according
to their WSDL interface description
1. Apply standard techniques from text
categorisation
• Support Vector Machines
2. Extract the distinguishing features
• Use the bag-of-words representation: a
histogram of the words occurring in the
document to categorise
![Page 7: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/7.jpg)
Statistical Learning
for Inferring NS Capability (example)
3. Represent a WSDL interface description as a
feature vector
• WSDL contains various types of “text”: comments, method
and parameter names
<wsdl:message name="GetWeatherByZipCodeSoapIn">
<wsdl:part name="parameters"
element="tns:GetWeatherByZipCode" />
</wsdl:message>
<wsdl:message name="GetWeatherByZipCodeSoapOut">
<wsdl:part name="parameters"
element="tns:GetWeatherByZipCodeResponse" />
</wsdl:message>
Extracted bag-of-words feature vector: get:4, weather:4, by:4, zip:4, code:4, soap:2, in:1, out:1, response:1
![Page 8: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/8.jpg)
Automata Learning
for Extracting NS Behaviour
Incrementally construct a deterministic finite
automaton that matches the behaviour of the NS
on the basis of test-based interaction with the
system.
• Based on L* algorithm
• Start with the most general behaviour that allows any
sequence of the operations of the interface to be
executed
• Test and refine when an interaction errors, aka a
counterexample, is discovered
![Page 9: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/9.jpg)
Automata Learning
for Extracting NS Behaviour (example)
GetWeatherLogin
Logout
t0
Networked
System 2
Login
GetWeather
Logout
Login Logout
GetWeather
t1
t2
Login
Logout
GetWeather
Counterexample 1
GetWeather Login
GetWeatherLogin Logout
Counterexample 2
![Page 10: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/10.jpg)
The Benefits of Capability
Learned capabilities speed up matching
• Provides an efficient coarse-grained compatibility check, before
considering expensive behavioural checks
• Affordances must be equal or ontologically related (subclass)
![Page 11: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/11.jpg)
The Cost of Behavioural Learning
Behavioural learning is still expensive
![Page 12: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/12.jpg)
The Downside
Incorrect NS descriptions
• Prevent good connections from being made • matching or goal satisfaction fails
• Cause bad connections to be made • matching succeeds when it should not
• Cause good connections to fail through incorrect
synthesis
Feedback loop captures failures
![Page 13: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/13.jpg)
Open Issue
Continuous learning to deal with evolution and incremental
synthesis
13
Monitoring
Evolution of the
NS Model
Discovery
Learning
Synthesis
New NSs
(re)Synthesis
![Page 14: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/14.jpg)
Thank you
![Page 15: Machine Learning for Emergent Middleware](https://reader036.vdocuments.us/reader036/viewer/2022062308/559d3b391a28ab28078b4607/html5/thumbnails/15.jpg)
Further Information
Home page: www-rocq.inria.fr/~bennaceu
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
15