Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
[HAIS'10] An embeddable fusion framework to manage context information in mobile devices
1. Grupo de Procesado de Datos y Simulación
ETSI de Telecomunicación
Universidad Politécnica de Madrid
CASanDRA mobile:
An embeddable fusion framework to manage
context information in mobile devices
HAIS 2010
Ana M. Bernardos, Eva Madrazo, José R. Casar, Josué Iglesias
{abernardos, jramon, josue}@grpss.ssr.upm.es
2. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 2 / 20
3. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 3 / 20
4. mobile middleware
mobile middleware:
Applications
ContextFusion Subscription Network
tools to simplify
History Registry Discovery
application development
CASanDRA Core
+
process sensor data
mobile middleware
ENABLER ENABLER ENABLER ENABLER
intelligently
CASanDRA Context inference
+
SENSOR SENSOR SENSOR SENSOR hide specific sensor
CASanDRA Acquisition characteristics
Environment
= CASanDRA mobile
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 4 / 20
5. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 5 / 20
6. mobile OSGi
[SOA mobile OSGi:
] dynamic component
framework for Java
Applications
bundle: reusable software unit
ContextFusion Subscription Network reusability of components
History Registry Discovery (bundles/services)
aggregation of (context) data
CASanDRA Core
HW platform independence
(Java-based)
mobile middleware
ENABLER ENABLER ENABLER ENABLER
services in framework
CASanDRA Context inference • resource discovery
• event management
SENSOR SENSOR SENSOR SENSOR • log
• [...]
CASanDRA Acquisition
Environment
= CASanDRA mobile
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 6 / 20
7. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 7 / 20
8. components and events
components
• SENSORS
• encapsulate specific sensor
characteristics
• e.g.: GPS, temperature, etc.
Applications
Context API
events
• ENABLERS
• process context information from:
• SENSOR component
ContextFusion Subscription Network • other ENABLER component
• e.g.: activity recognition, location
History Registry Discovery
fusion, etc.
CASanDRA Core • APPLICATIONS
API Context Context API • adapt service to the user context
events events
context events
SENSOR
SENSOR … ENABLER
ENABLER … •generation:
• sensors, enablers
CASanDRA Acquisition CASanDRA Context inference •consumers:
• enablers and application
CASanDRA mobile core system []
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 8 / 20
9. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 9 / 20
10. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
SENSOR
SENSOR … ENABLER
ENABLER …
CASanDRA Acquisition CASanDRA Context Inference
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 10 / 20
11. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
Registry
SENSOR
SENSOR … ENABLER
ENABLER …
match between:
CASanDRA Acquisition CASanDRA Context Inference •type of measure/context parameter
•publisher component
list of available context parameters
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 11 / 20
12. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
SENSOR
SENSOR ENABLER
ENABLER
Discovery
… …
listening to new component
CASanDRA Acquisition CASanDRA Context Inference
registrations
adding measure + component to the
Registry
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 12 / 20
13. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
SubscriptionManager
events events
SENSOR
SENSOR ENABLER
ENABLER
match between:
… …
•type of measure/context parameter
CASanDRA Acquisition CASanDRA Context Inference
•subscribed component
+ Registry
list of required components to get
measure/context parameter
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 13 / 20
14. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
SENSOR
SENSOR … ENABLER
ENABLER …
ComponentManager
CASanDRA Acquisition CASanDRA Context Inference manages component life cycle:
• SubscriptionManager + Registry
START/STOP components
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 14 / 20
15. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
SENSOR
SENSOR … ENABLER
ENABLER … ContextFusionManager
•manages new subscriptions
CASanDRA Acquisition CASanDRA Context Inference
•store measures/context parameters
•menages events from/to components
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 15 / 20
16. core system
SubscriptionManager Communications
ContextFusion Manager
MEASURE NAME SUBSCRIPTOR
Manager
Registry BT COM HTTP …
BBDD /
History MEASURE NAME COMPONENT
Privacy
Logging
Manager
Component Manager Discovery
CASANDRA Core
Context Context
events events
CommunicationsManager
SENSOR
SENSOR … ENABLER
ENABLER … centralizes access to available
communication interfaces
CASanDRA Acquisition CASanDRA Context Inference
PrivacyManager
Loggin
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 16 / 20
17. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 17 / 20
18. application example
Application Application Application
UI
Subscriptor Logic
User
events management
Activity CASanDRA Core
SubscriptionManager component
activity InferenceEng.
ContextFusion location/gps InferenceEng. subscription
Manager accelerometer ActivityEnabler •enablers
User activity Application •applications
BBDD /
History Registry
location/gps GPSSensor register components
Component accelerometer AccSensor •sensors
Manager activity ActivityEnabler •enablers
User activity InferenceEng.
Accel Activity Activity & User
start components
Accel location
data data location Activity
Activity Inference
SENSOR SENSOR Enabler Engine
dynamic rules
API
Accel. GPS
Rules
configuration
CASanDRA CASanDRA configuration
Acquisition Context inference
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 18 / 20
19. contents
mobile middleware
SOA and mobile OSGi
CASanDRA: components and events
CASanDRA: core system
application example
conclusions and future work
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 19 / 20
20. conclusions and future work
• this first version of CASanDRA demostrates the feasibility and
convenience of building the framework on the service
oriented architecture implemented through mOSGi
future work we are already working on:
a light strategy for ‘quality of context’ control during all
the fusion process
a fusion module to manage position estimation in a
seamless manner
an stable activity inference system which uses Bayesian performance
logic tests
a model for context sharing among different devices with
the objective of improving context estimation and
a reasoning service including ontology processing
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 20 / 20
23. mobile OSGi
OSGi Framework
Service
registry
Bundle Bundle
packages
packages
JAVA
Operating System
Hardware
CASanDRA mobile context fusion framework – HAIS 2010 abernardos@grpss.ssr.upm.es 23 / 20
Editor's Notes
Hello, welcome everybody. My name’s Josué, I work for the GPDS group in UPM, there in Madrid and I’m going to talk about CASanDRA mobile, that is: “an embeddable fusion framework to manage context information in mobile devices”.
My speech is mainly divided in 3 big sections: first, I will introduce the mobile middleware and SOA concepts,arguing why we chose mobile OSGi as service platform later, next section will cover all the differents functional blocks of CASanDRA, our particular solution and finally, I will show you and application example using CASanDRA and wil talk about conclusions and future works
Well, nowadays mobile devices can be used to get a dynamic view of the user situation, in part thanks to new communication and embedded sensor technologies. In this scenario mobile middleware appears so final applications can abstract their implementation from the particularities of the environment, that is, to: hide the specific sensor characteristics process in an intelligent way the data acquired from sensors and offer a set of software tools in order to manage all this information, that is, simplifying application development. Well, in this sense, CASanDRA mobile can be considered a mobile middleware.
Well, when implementing this mobile middleware we have choose a Service Oriented approach, in particular mobileOSGi, as the base architecture of our middleware mobileOSGi is a dynamic component framework for Java that wraps its software inside a reusable unit called bundle We are going to use this bundles as reusable services in a flexible way being able to aggregate context data from different services We have also used mobileOSGI as it is HW platform independent and it offers a set of already developed services that we are used in order to build CASanDRA mobile (resource discovery, event or log management, etc.)
Now talking about CASanDRA mobile, our particular approach,I’m going to start talking about what we have called “components”, that is: the entities that generate or consume contextual information.
There are 3 kind of components: SENSORS: that encapsulates specific sensor characteristics GPS, temperature or other kind of sensor ENABLERS: that are able of processing information coming from sensors (or from other enablers) we can think in a “activity recognition enabler” or another kind of data fusion or processing APPLICATIONS: just adapt their offered functionality based of the user context These components uses the core system to communicate among them by means of context events: sensors just are able to generate context events enablers can both: generate and receive context events and finally applications can only receive context events
The CASanDRA mobile core is formed by several funtional blocks
The REGISTRY establish a match between a component and the measure (or context parameter) it offers (we talk about “measures” when dealing with sensors and “context parameters” when dealing with “enablers”; there’s no room here for applications as they cannot generate measures; from now own I will be always talking about “measures” when referring to both, measured and context parameters) This functional block is used by CASanDRA in other to know at each time what measures/context parameters are available
The DISCOVERY functional block is in charge of listening to new components. When a new component is discovered it is added to the registry list we have just talk about.
In order to support aggregation of context data from several sources, The SUBSCRIPTION MANAGER associates a component with the measures it is subscribed to In this case, the present components in this subscription manager can only be ENABLERS or APPLICATIONS, not SENSORS as sensors cannot receive (cannot be subscribed to) any measure.
Once a component is subscribed to a measure, this Component Manager is in charge of starting any other necessary component to get that measure. To do so, the Registry would have to be consulted in order to know what component offers what measure. So finally, in a kind of chained process, Component Manager will get to have every necessary component working.
Apart from managing new subscriptions and storing the generated measures, the main aim of the ContextFusionManager is to manage the events from/to components, mainly accesing the data stored in the Subscription Manager.
Apart from those specific functional blocks, CASanDRA mobile core system also offers some general services as: A CommunicationManager to access the data obtained by the different communication technologies present in the mobile device A PrivacyManager to ensure privacy and security issues. Or a loggin service.
Well, that’s all about CASanDRA. Now I will show you an simple example in order to settle these concepts I have just mentioned.
This is a quite simple example of how to build an user activity recognition system using CASanDRA. As I said, CASanDRA is a component-based middleware so first thing we have to do is register new components we can do so adding new entries to the Registry stating what measure is offered by what component (so we just need to register SENSORs or ENABLERs) in this example … next, some components may need extra information, so we may need to subscribe them to some of the measures offered by other components this is state in the SubscriptionManager (in this case, this apply just to application or enabler components, not sensor) in this example … just after there exist any subscription, ComponentManager will start every required component now that every component is activated, the ContextFusionManager can start managing the events it received, delivering these events according the SubscriptionManager list. so, in this example … finally, during CASanDRA operation, any component can be configured online in this example, an application may need to change the rules executed by the inference engine
... just because most of the mobileOSGi advantages fits perfectly in the needs that mobile middlewares have And as future work in order to improve this first version of mobile CASanDRA, we are working on: extending the core system with a ... QoC context sharing developing new components like a fusion component to an stable activity inference ontology-based reasoning service