HTML Injection Attacks: Impact and Mitigation Strategies
A Framework for Context-aware applications for Smart Spaces. ruSmart 2011 St Petersburg, 22.8.11
1. A Framework for
Context-Aware Applications
For Smart Spaces
Mohsin Saleemi, Natalia Díaz Rodríguez, Johan Lilius, Iván Porres
ndiaz@abo.fi, msaleemi@abo.fi
Åbo Akademi University, Turku (Finland)
ruSmart 2011
2. Contents
• Introduction
• What is a Smart Space?
• Smart-M3 Platform
• Context Ontology Model
• System Architecture
• Context Inference Rules
• Application Development Tool for Smart-M3
• PythonRule Structure
• Python Programming of Smart Spaces with
PythonRules
• Conclusions
• Future Work
3. Introduction
• Ubiquitous computing involving heterogeneous devices.
• Need for tackling Device Interoperability.
• Context : Any information that can be used to characterize
the state of an entity.
• Focus on the User: A context system that adapts to the user’s
preference.
• Against traditional context aware systems (based on sensors
and static rules, requiring significant amount of human
interactions to become adaptative) we chose Ontology
based Context Modelling:
• Expressive models.
• Provides flexibility, genericity and extendibility.
• Smart-M3 Ontology based solution.
- E.g. PVR and mobile phone example
4. What is a Smart Space?
SMART SPACE:
An abstraction of space encapsulating both
information from a physical space and access
to this information allowing devices to join and
leave the space.
Publish-subscribe methods are used in these
dynamically changing environments.
5. Smart-M3
NOKIA’S SMART-M3 (An implementation of Smart Space):
• A Multi device, Multi part and Multi vendor (M3) open source
cross-domain platform for independent agents to
communicate.
• Semantic Information Broker (SIB): The central
repository of RDF triples responsible for information storage,
sharing and management through the Smart Space Access
Protocol (SSAP).
• KNOWLEDGE PROCESSORS (KPs) entities implement
functionality and interact with the Smart Space by
inserting/retrieving/querying common information.
• An APPLICATION is constructed by aggregating KPs which
perform tasks.
• COMMUNICATION happens not device to device but through
the SIB.
7. Context Ontology Model
Inferred information
causes the context
ontology to be
extended
Enabling the system to
initiate adaptative
decisions appropriate
for a particular
application
9. System Architecture
Context Providers
• Observed
• Specified
Context Datatype Interpreter
• Type conversion
• OWL-S can be used to specify
functionality
Context Reasoner/Rule Interpreter
• Infer high level context info.
• Based on inference rules.
Ontologies
• OWL ontologies define context
information in the SIB.
Inference Rules
• Specific format
• Domain specific
• Can be provided as separate
libraries
10. Context Inference Rules
Since the end-user should not deal with the RDF store
directly, a PythonRules module is presented to translate
Python logic expressions to the SIB API (Query,
Subscribe, Insert, Remove, Update).
AIM:
An independent PythonRules Module to allow easy
definition of Rules to model Smart Spaces:
•No need for learning Query languages or treat RDF data.
•Including Rule Reasoning.
11. Application Development tool
for Smart-M3
• Ontology-Based application development
• Tool for rapid
application development
Tools
1. Ontology Library Generator
OWL-DL -> Python and C.
2. Middleware framework: Abstracts the
communication with the SIB providing to the
generated API handling of RDF triples and queries.
12. PythonRule Structure:
With()//When()>>Then()
• With clause: Assumptions, Assertions or
Declarations about existence of individuals.
• When clause: Conditions or events that must
hold before the rule is triggered.
• Then clause: Actions to trigger, Conclusions
representing the inferred information.
16. Conclusions
• Smart Spaces: well suited for ambient
applications to adapt to the user’s preferences.
• Information Sharing and Reusability allowed for
diverse Dynamic Applications.
• PythonRules: Allows End-User to configure
the behaviour of the Smart Space with no
knowledge of Semantic Web technologies
(query languages or RDF data).
• PythonRules aims at being independent of the
RDF Store (other than Smart-M3 will be used).
And finally: Easy UI for non programmers.
17. Future Work
• Ongoing PythonRules module: Further
development.
• SIB consistency related issues (and
efficient subscriptions implementation).
• Privacy Control.
• Integrationg with OWL-S services.
• Different Domain Applications:
• BioInformatics.
• Office Domain, Home Automation.
• Elderly Monitoring Systems, etc.
18. References
Smart-M3 approach and our Development Tools:
- Smart-M3 Software, Release 0.9.4 beta. Available:
http://sourceforge.net/projects/smart-m3/
- Smart-M3 Ontology Library Generator OWL->Python API:
http://sourceforge.net/projects/smart-m3/files/smart-m3-
ontology_to_Python-API_generator_v0.9.1beta.tar.gz/
- Framework for Smart Space Application Development. Kaustell, Andre and
Saleemi, M. Mohsin and Rosqvist, Thomas and Jokiniemi, Juuso and Lilius,
Johan and Porres, Ivan. In Proceedings of the International Workshop on
Semantic Interoperability, IWSI 2011
- End-User’s Service composition in Ubiquitous Computing using Smart
Space approach. Saleemi, M. Mohsin and Lilius, Johan. Sixth International
Conference on Internet and Web Applications and Services, IEEE, 2011.
- Ontology-Driven Smart Space Application Development. River Publishers
Book Chapter (in revision).
MORE INFORMATION: Natalia Díaz, ndiaz@abo.fi
Mohsin Saleemi, msaleemi@abo.fi