WSO2's API Vision: Unifying Control, Empowering Developers
Korolev et al. Smart Space Applications Integration: A Mediation Formalism and Design for Smart-M3
1. The 5th conference on Internet of Things and Smart Spaces ruSMART 2012
Smart Space Applications Integration:
A Mediation Formalism and Design for
Smart-M3
Yury Korolev, St. Petersburg Electrotechnical University, Russia.
Dmitry Korzun, Petrozavodsk State University, Russia.
Ivan Galov Petrozavodsk State University, Russia.
2. Agenda
• Ways of agents communication in the smart spaces.
• Agents coordination mechanisms
(the exchange of management information).
• Applications integration mechanisms
(the exchange of computational information).
2
6. Agents Communications Categories
Communication can be
• Point to Point
– An agent talks directly to another agent.
•
Broadcast
– An agent sends some information to a group of
agents.
• Mediated
– The communication between two agents is
mediated by a third party.
6
7. Whiteboard-based communications
• Making use of upper ontologies.
• Agents interact indirectly through shared ontology.
• Agents use the publish/subscribe mechanisms.
7
12. The concept of mediation
S = ( n, I , ρ )
Meta Information.
(For example,
rules from an
ontology or agents
coordinations
rules)
• Mediator is a kind of the context interpretator.
• The interpretation is based on rules. 12
13. What information should be passed?
Information can be:
•
Managment Group control of the
– Events agents based on the
– Notifications interpretation of events.
•
Computational
– Knowledge Run time knowledge
exchange.
13
14. Rules for management information
( E1 ,E 2 ,C ) - Association rule. Association rules can be constructed
automatically based on data mining techniques (Association rule learning).
E1 - Triggering event. – The owner left the house.
E 2 - Resulting event. – Turn off the lighting.
C - Context. – The house has no more people.
E 2 ← E 1, C have_state(lighting, turn_off) :-
left(?x, house),
is(number_of_people_in_the_house,0).
14
15. Problems
1. How to exchange heterogeneous computational
information between the agents?
2. How to improve the performance of inference?
15
16. Smart Space Applications Integration Definition
1. Smart space applications matching: process of establishing
logical correspondences between elements of the source and
target ontologies of integrated applications. As a result of this
process integration scenarios are formed.
2. Run time instance mapping: process of mapping the
instances, processed by integrated applications.
16
17. Smart Space Applications matching
The expert must determine:
1. The events that initiate the process of integration;
(<application_ID>,<notification_name>,<data_id>);
2. Input data for integration;
SELECT *
WHERE {
?person foaf:name ?name .
?person foaf:mbox ?email .
}
3. Mapping rules to transform entities of the source smart
space to entities of target smart space.
'title'(postId, titleValue) :-
'Title'(presentationID, titleValue),
generateUID(postId).
17
18. Run time instance mapping
Ss is a source smart space;
N is a data loading notification;
P is a set of graph queries to the source smart space;
T is a set of transformation mapping rules for the source and target smart spaces;
St is a target smart space.
18
19. Mediator specification
µ = ( O1, O2 , N , P , Q, D, T )
O1 ,O2 - source and target ontologies.
N = { ni} - notifications.
P = { pi } - source queries (one per notification).
Q = { qi } - target queries (one per notification).
D = {d i } - source to target dependencies.
T = {t i } - a set of transformation rules (one per notification).
19
20. Integration of hierarchical information
• Need to establish a logical correspondence between integrable entities.
• Or need to keep the history of integration. 20
21. Integration of hierarchical information 2
• Need to establish a logical correspondence between integrable entities.
• Or need to keep the history of integration. 21
22. Transformation mapping rules types for
computational information
• Production rules;
• UIDs (URIs) generation;
• Manipulations with
• numbers;
• strings;
•
date and time;
• Integration of hierarchical information.
22
23. Manipulations with strings
text = create_string('Speaker is %s (email: %s; phone: %s;).
Presentation is available at: %s', is, email, phone, url); 23