SlideShare a Scribd company logo
Politecnico di Milano
Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB)
M. Ferroni, A. Damiani, A. A. Nacci, D. Sciuto, M. D. Santambrogio
matteo.ferroni@polimi.it
1
cODA: An Open-Source Framework to Easily
Design Context-Aware Android Apps
Pervasive Technology
“The most profound technologies are those that disappear. They
weave themselves into the fabric of everyday life until they are
indistinguishable from it.”
2
Tale Weiser
Mobile Devices
• Nowadays, the most pervasive technology!
Widespread
– deeply interact with people and the environment
– more and more popular due to their low costs
– replacing standard PCs in common functionalities
Challeging
– internal and external conditions change rapidly
– users adapt to devices, not vice versa
3
Smartphone… Not that smart, are they?
Context Awareness
The Solution
Context-Aware Systems
5
… “collect any information that can be used to characterize the situation
of an entity.”
“An entity is a person, place, or object that is considered relevant to the
interaction between a user and an application, including the user and
applications themselves”
G. D. Abowd et al.
“Towards a better understanding of context and context- awareness.”
… “collect any information that can be used to characterize the situation
of an entity.”
“An entity is a person, place, or object that is considered relevant to the
interaction between a user and an application, including the user and
applications themselves”
G. D. Abowd et al.
“Towards a better understanding of context and context- awareness.”
Context-Aware Mobile Devices
6
The device itself The user The environment
Case studies
Jogging support
An auto-responder that avoids
the user’s from being disturbed
by incoming calls while jogging
Agenda support
A notification that alerts the
user he may be late to an
appointment when setting an
alarm-clock
7
Case studies
Jogging support
An auto-responder that avoids
the user’s from being disturbed
by incoming calls while jogging
• Collect data from sensors
Agenda support
A notification that alerts the
user he may be late to an
appointment when setting an
alarm-clock
• Collect user’s location and
agenda
8
Case studies
Jogging support
An auto-responder that avoids
the user’s from being disturbed
by incoming calls while jogging
• Collect data from sensors
• Filter, compare and
aggregate those data to
decide whether the user is
jogging or not
Agenda support
A notification that alerts the
user he may be late to an
appointment when setting an
alarm-clock
• Collect user’s location and
agenda
• Extract user’s habitual
movement patterns to
decide whether the user will
be on time considering
journey time
9
Case studies
Jogging support
An auto-responder that avoids
the user’s from being disturbed
by incoming calls while jogging
• Collect data from sensors
• Filter, compare and
aggregate those data to
decide whether the user is
jogging or not
• Activate the auto-responder
Agenda support
A notification that alerts the
user he may be late to an
appointment when setting an
alarm-clock
• Collect user’s location and
agenda
• Extract user’s habitual
movement patterns to
decide whether the user will
be on time considering
journey time
• Activate the notification
when the user may be late
10
ODA Loop
11
Observe
• The Environment
• The System
Decide
• What to do
Act
• Change behavior
• Adapt
Smartphones: a smart choice
• Well equipped with a great variety of sensors
• Constantly with or on the user
• Central hub for most of the user’s activities
12
An Open-Source Framework to Easily
Design Context-Aware Android Apps
cODA
Context Observe, Decide and Act (cODA)
cODA is…
• …for Android devices
– 81% of smartphones shipped in Q1 2014 (Canalys)
– Wide API exposed to all developers
• …in the Application layer
– No “rooting” or OS modification
– Works on every device
• …Open-Source Framework
– Extendible
– Tuneable
• …Context-Aware
– ODA Loop for sensing the environment
14
cODA General Architecture
15
cODA General Architecture
Observers
Broadcast
Receivers
Logging
Services
Log
Content
Provider
+
SQLite
database
Deciders
Services
(data
analysis)
+
Intents
Actuators
External
Apps
Broadcast
Receiver
16
Back to the case studies…
1. Jogging support
An auto-responder that avoids
the user’s from being disturbed
by incoming calls while jogging
2. Agenda support
A notification that alerts the
user he may be late to an
appointment when setting an
alarm-clock
17
Case 1 – Observers: Accelerometer and Gyroscope
Launcher
START or DIM
Intent
Broadcast
Receiver
Observer
Schedules
the sampling
periods
Service
Logger
Samples the
data from the
sensor
Content
Provider
Log
Records all
the data
persistently
18
Case 1 – Decider: is the user running?
Running Decider - Service
• Retrieves data from the Log
• Computes important features via PCA
• Classifies the features by a k-nearest-neighbours classifier
• Sends RUNNING Intent
19
-13
-11
-9
-7
-5
-3
-1
1
3
5
7
9
11
13
15
1
8
15
22
29
36
43
50
57
64
71
78
85
92
99
106
113
120
127
134
141
148
155
162
169
176
183
190
197
204
211
218
225
232
239
246
253
260
267
274
281
288
295
302
309
316
323
330
337
344
351
358
Acceleration(ms2)
Time (u = 0.5s)
Vertical Axis
Sationary Walking Running
20
Case 1 – Decider: is the user running?
0
2
4
6
8
10
12
14
16
18
20
22
1
7
13
19
25
31
37
43
49
55
61
67
73
79
85
91
97
103
109
115
121
127
133
139
145
151
157
163
169
175
181
187
193
199
205
211
217
223
229
235
241
247
253
259
265
271
277
283
289
295
301
307
313
319
325
331
337
343
349
355
361
AbsoluteDerivativeofAcceleration
Time (u = 0.5s)
Vertical Axis Absolute Derivative
Stationary Walking Running Linear (Stationary) Linear (Walking) Linear (Running)
21
Case 1 – Decider: is the user running?
Case 1 – Actuator: “I’m Running” App
• Starts on RUNNING Intent
• Totally silences the phone
• Auto answers to callers with text message
22
Case 2 – Observer: Location
Launcher
START or DIM
Intent
Broadcast
Receiver
Observer
Instructs the
system to send
periodical
location updates
Broadcast
Receiver
Logger
Parses the
Location Changed
Intent
Content
Provider
Log
Records all the
data persistently
23
Case 2 – Deciders: may the user be late?
Late Decider – Receiver
• Intercepts SET_ALARM Intent
• Computes the location of the user at alarm time
• Computes trip time to next event on calendar
• Sends LATE Intent
24
Case 2 – Actuator: notify the user
25
• The user sets an alarm clock
• Shows notification when LATE intent is
intercepted
• Opens on notification tap with correct
alarm already set
Conclusions
cODA
• implements the ODA methodology into Android
• enables the development of an ecosystems of context-aware
applications
• uses a blackboard approach to share information, thus enabling the
reuse of knowledge
Limitations
• The environment may be noisy
• Deciding what to do may be computational intensive
26
Future works
• Packet Manager and Marketplace
– Offer the user the possibility to choose what to install
– Manage dependencies among Observers, Deciders and Actuators
• Exploit Machine Learning techniques in Deciders
– To support better decision phase
– May offload the computation to Web services
• Setting Auto-Tuning
– A Decider-Actuator couple
– Modifies the settings of the framework
27
An Open-Source Framework to Easily
Design Context-Aware Android Apps
cODA
Thank you for your attention
Politecnico di Milano
Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB)
Ad

More Related Content

What's hot (20)

ICT applied to Neurodegenerative Diseases
ICT applied to Neurodegenerative DiseasesICT applied to Neurodegenerative Diseases
ICT applied to Neurodegenerative Diseases
greendisc
 
smart blind stick
smart blind sticksmart blind stick
smart blind stick
Shiv Kapil
 
Google Project Soli by Aashish Biradar
Google Project Soli by Aashish BiradarGoogle Project Soli by Aashish Biradar
Google Project Soli by Aashish Biradar
Aashish Biradar
 
Smart Sensors , Smart blind glasses , IDM9
Smart Sensors , Smart blind glasses , IDM9Smart Sensors , Smart blind glasses , IDM9
Smart Sensors , Smart blind glasses , IDM9
Qatar University- Young Scientists Center (Al-Bairaq)
 
Development of blind stick
Development of blind stickDevelopment of blind stick
Development of blind stick
AMAN VERMA
 
The-Digitalization-of-the-Walking-Stick-for-the-Blind
The-Digitalization-of-the-Walking-Stick-for-the-BlindThe-Digitalization-of-the-Walking-Stick-for-the-Blind
The-Digitalization-of-the-Walking-Stick-for-the-Blind
Vandan Patel
 
IRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET-Voice Assisted Blind Stick using Ultrasonic SensorIRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET Journal
 
The DemaWare Service-Oriented AAL Platform for People with Dementia
The DemaWare Service-Oriented AAL Platform for People with DementiaThe DemaWare Service-Oriented AAL Platform for People with Dementia
The DemaWare Service-Oriented AAL Platform for People with Dementia
Yiannis Kompatsiaris
 
Google Project Soli
Google Project SoliGoogle Project Soli
Google Project Soli
Akshay Mohokar
 
Internet of Things for Underground Drainage and Manhole monitoring System for...
Internet of Things for Underground Drainage and Manhole monitoring System for...Internet of Things for Underground Drainage and Manhole monitoring System for...
Internet of Things for Underground Drainage and Manhole monitoring System for...
Muragesh Kabbinakantimath
 
Project soli
Project soliProject soli
Project soli
Bhavin Bhadran
 
Project Soli by Google ATAP
Project Soli by Google ATAPProject Soli by Google ATAP
Project Soli by Google ATAP
rguptarrr
 
assisting device for visually impaired person
assisting device for visually impaired personassisting device for visually impaired person
assisting device for visually impaired person
Pushpa Gothwal
 
IRJET- Smart Real Time Manhole Monitoring System
IRJET- Smart Real Time Manhole Monitoring SystemIRJET- Smart Real Time Manhole Monitoring System
IRJET- Smart Real Time Manhole Monitoring System
IRJET Journal
 
Google project soli
Google project soliGoogle project soli
Google project soli
Anudeep Sharma Ramadugu
 
IoT Based Water Management and Supervision System
IoT Based Water Management and Supervision SystemIoT Based Water Management and Supervision System
IoT Based Water Management and Supervision System
Kaushik Gupta
 
Internet of Things for Underground Drainage and manhole Monitoring System for...
Internet of Things for Underground Drainage and manhole Monitoring System for...Internet of Things for Underground Drainage and manhole Monitoring System for...
Internet of Things for Underground Drainage and manhole Monitoring System for...
Muragesh Kabbinakantimath
 
SMART DRAINAGE SYSTEM USING IOT
SMART  DRAINAGE  SYSTEM USING IOTSMART  DRAINAGE  SYSTEM USING IOT
SMART DRAINAGE SYSTEM USING IOT
GlobalSuperElite GlobalSuperElite
 
Google Project Soli PPT
Google Project Soli PPTGoogle Project Soli PPT
Google Project Soli PPT
Raman Temre
 
Google project soli report
Google project soli reportGoogle project soli report
Google project soli report
Sunil Havani
 
ICT applied to Neurodegenerative Diseases
ICT applied to Neurodegenerative DiseasesICT applied to Neurodegenerative Diseases
ICT applied to Neurodegenerative Diseases
greendisc
 
smart blind stick
smart blind sticksmart blind stick
smart blind stick
Shiv Kapil
 
Google Project Soli by Aashish Biradar
Google Project Soli by Aashish BiradarGoogle Project Soli by Aashish Biradar
Google Project Soli by Aashish Biradar
Aashish Biradar
 
Development of blind stick
Development of blind stickDevelopment of blind stick
Development of blind stick
AMAN VERMA
 
The-Digitalization-of-the-Walking-Stick-for-the-Blind
The-Digitalization-of-the-Walking-Stick-for-the-BlindThe-Digitalization-of-the-Walking-Stick-for-the-Blind
The-Digitalization-of-the-Walking-Stick-for-the-Blind
Vandan Patel
 
IRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET-Voice Assisted Blind Stick using Ultrasonic SensorIRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET-Voice Assisted Blind Stick using Ultrasonic Sensor
IRJET Journal
 
The DemaWare Service-Oriented AAL Platform for People with Dementia
The DemaWare Service-Oriented AAL Platform for People with DementiaThe DemaWare Service-Oriented AAL Platform for People with Dementia
The DemaWare Service-Oriented AAL Platform for People with Dementia
Yiannis Kompatsiaris
 
Internet of Things for Underground Drainage and Manhole monitoring System for...
Internet of Things for Underground Drainage and Manhole monitoring System for...Internet of Things for Underground Drainage and Manhole monitoring System for...
Internet of Things for Underground Drainage and Manhole monitoring System for...
Muragesh Kabbinakantimath
 
Project Soli by Google ATAP
Project Soli by Google ATAPProject Soli by Google ATAP
Project Soli by Google ATAP
rguptarrr
 
assisting device for visually impaired person
assisting device for visually impaired personassisting device for visually impaired person
assisting device for visually impaired person
Pushpa Gothwal
 
IRJET- Smart Real Time Manhole Monitoring System
IRJET- Smart Real Time Manhole Monitoring SystemIRJET- Smart Real Time Manhole Monitoring System
IRJET- Smart Real Time Manhole Monitoring System
IRJET Journal
 
IoT Based Water Management and Supervision System
IoT Based Water Management and Supervision SystemIoT Based Water Management and Supervision System
IoT Based Water Management and Supervision System
Kaushik Gupta
 
Internet of Things for Underground Drainage and manhole Monitoring System for...
Internet of Things for Underground Drainage and manhole Monitoring System for...Internet of Things for Underground Drainage and manhole Monitoring System for...
Internet of Things for Underground Drainage and manhole Monitoring System for...
Muragesh Kabbinakantimath
 
Google Project Soli PPT
Google Project Soli PPTGoogle Project Soli PPT
Google Project Soli PPT
Raman Temre
 
Google project soli report
Google project soli reportGoogle project soli report
Google project soli report
Sunil Havani
 

Similar to [EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Android Apps (20)

SenseDroid
SenseDroidSenseDroid
SenseDroid
Santanu Sarma
 
IRJET- Smart Dustbin using GPS Tracking
IRJET- Smart Dustbin using GPS TrackingIRJET- Smart Dustbin using GPS Tracking
IRJET- Smart Dustbin using GPS Tracking
IRJET Journal
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
Surbhi Jain
 
Making sense
Making senseMaking sense
Making sense
Jared Sheehan
 
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptxTracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Md.Jamilur Rahman
 
Complex Event Processing Using IOT Devices Based on Arduino
Complex Event Processing Using IOT Devices Based on ArduinoComplex Event Processing Using IOT Devices Based on Arduino
Complex Event Processing Using IOT Devices Based on Arduino
neirew J
 
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINOCOMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
ijccsa
 
Bringing together smart things and people to realize smarter environments sho...
Bringing together smart things and people to realize smarter environments sho...Bringing together smart things and people to realize smarter environments sho...
Bringing together smart things and people to realize smarter environments sho...
Diego López-de-Ipiña González-de-Artaza
 
IRJET- Emergency Navigation System using Mobile Computing
IRJET-  	  Emergency Navigation System using Mobile ComputingIRJET-  	  Emergency Navigation System using Mobile Computing
IRJET- Emergency Navigation System using Mobile Computing
IRJET Journal
 
From context aware to socially awareness computing - IEEE Pervasive Computing...
From context aware to socially awareness computing - IEEE Pervasive Computing...From context aware to socially awareness computing - IEEE Pervasive Computing...
From context aware to socially awareness computing - IEEE Pervasive Computing...
Fread Mzee
 
FLOOD PPT 1.pptx
FLOOD PPT 1.pptxFLOOD PPT 1.pptx
FLOOD PPT 1.pptx
RahulNikam68
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containers
benaam
 
Abnormality in Elderly Fall using Android Smartphone
Abnormality in Elderly Fall using Android SmartphoneAbnormality in Elderly Fall using Android Smartphone
Abnormality in Elderly Fall using Android Smartphone
Shivi Tandon
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptx
nassmah
 
Wearable Computing - Part I: What is Wearable Computing?
Wearable Computing - Part I: What is Wearable Computing?Wearable Computing - Part I: What is Wearable Computing?
Wearable Computing - Part I: What is Wearable Computing?
Daniel Roggen
 
Data, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected DevicesData, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected Devices
Srinath Perera
 
Smart Parking Using IoT An Application of Sensor Network
Smart Parking Using IoT An Application of Sensor NetworkSmart Parking Using IoT An Application of Sensor Network
Smart Parking Using IoT An Application of Sensor Network
Hitesh Mohapatra
 
DasGreenPerezMurphy_Paper
DasGreenPerezMurphy_PaperDasGreenPerezMurphy_Paper
DasGreenPerezMurphy_Paper
Michael Murphy
 
From Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior PatternsFrom Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior Patterns
Ville Antila
 
Vision for the blind
Vision for the blindVision for the blind
Vision for the blind
Haseeb Ehsan
 
IRJET- Smart Dustbin using GPS Tracking
IRJET- Smart Dustbin using GPS TrackingIRJET- Smart Dustbin using GPS Tracking
IRJET- Smart Dustbin using GPS Tracking
IRJET Journal
 
Human Activity Recognition in Android
Human Activity Recognition in AndroidHuman Activity Recognition in Android
Human Activity Recognition in Android
Surbhi Jain
 
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptxTracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Tracking-Application-for-Smart-Homes-using-Android-Smartphone.pptx
Md.Jamilur Rahman
 
Complex Event Processing Using IOT Devices Based on Arduino
Complex Event Processing Using IOT Devices Based on ArduinoComplex Event Processing Using IOT Devices Based on Arduino
Complex Event Processing Using IOT Devices Based on Arduino
neirew J
 
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINOCOMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
COMPLEX EVENT PROCESSING USING IOT DEVICES BASED ON ARDUINO
ijccsa
 
Bringing together smart things and people to realize smarter environments sho...
Bringing together smart things and people to realize smarter environments sho...Bringing together smart things and people to realize smarter environments sho...
Bringing together smart things and people to realize smarter environments sho...
Diego López-de-Ipiña González-de-Artaza
 
IRJET- Emergency Navigation System using Mobile Computing
IRJET-  	  Emergency Navigation System using Mobile ComputingIRJET-  	  Emergency Navigation System using Mobile Computing
IRJET- Emergency Navigation System using Mobile Computing
IRJET Journal
 
From context aware to socially awareness computing - IEEE Pervasive Computing...
From context aware to socially awareness computing - IEEE Pervasive Computing...From context aware to socially awareness computing - IEEE Pervasive Computing...
From context aware to socially awareness computing - IEEE Pervasive Computing...
Fread Mzee
 
Real-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping ContainersReal-time, Sensor-based Monitoring of Shipping Containers
Real-time, Sensor-based Monitoring of Shipping Containers
benaam
 
Abnormality in Elderly Fall using Android Smartphone
Abnormality in Elderly Fall using Android SmartphoneAbnormality in Elderly Fall using Android Smartphone
Abnormality in Elderly Fall using Android Smartphone
Shivi Tandon
 
context aware.pptx
context aware.pptxcontext aware.pptx
context aware.pptx
nassmah
 
Wearable Computing - Part I: What is Wearable Computing?
Wearable Computing - Part I: What is Wearable Computing?Wearable Computing - Part I: What is Wearable Computing?
Wearable Computing - Part I: What is Wearable Computing?
Daniel Roggen
 
Data, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected DevicesData, Big Data and real time analytics for Connected Devices
Data, Big Data and real time analytics for Connected Devices
Srinath Perera
 
Smart Parking Using IoT An Application of Sensor Network
Smart Parking Using IoT An Application of Sensor NetworkSmart Parking Using IoT An Application of Sensor Network
Smart Parking Using IoT An Application of Sensor Network
Hitesh Mohapatra
 
DasGreenPerezMurphy_Paper
DasGreenPerezMurphy_PaperDasGreenPerezMurphy_Paper
DasGreenPerezMurphy_Paper
Michael Murphy
 
From Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior PatternsFrom Context-awareness to Human Behavior Patterns
From Context-awareness to Human Behavior Patterns
Ville Antila
 
Vision for the blind
Vision for the blindVision for the blind
Vision for the blind
Haseeb Ehsan
 
Ad

More from Matteo Ferroni (7)

Fight data gravity with event-driven architectures
Fight data gravity with event-driven architecturesFight data gravity with event-driven architectures
Fight data gravity with event-driven architectures
Matteo Ferroni
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
Matteo Ferroni
 
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
Matteo Ferroni
 
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
Matteo Ferroni
 
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
Matteo Ferroni
 
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
Matteo Ferroni
 
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
Matteo Ferroni
 
Fight data gravity with event-driven architectures
Fight data gravity with event-driven architecturesFight data gravity with event-driven architectures
Fight data gravity with event-driven architectures
Matteo Ferroni
 
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud[Droidcon Italy 2017] Client and server, 3 meters above the cloud
[Droidcon Italy 2017] Client and server, 3 meters above the cloud
Matteo Ferroni
 
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
[EWiLi2016] Towards a performance-aware power capping orchestrator for the Xe...
Matteo Ferroni
 
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
[EUC2016] DockerCap: a software-level power capping orchestrator for Docker c...
Matteo Ferroni
 
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
[EUC2016] FFWD: latency-aware event stream processing via domain-specific loa...
Matteo Ferroni
 
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
[February 2017 - Ph.D. Final Dissertation] Enabling Power-awareness For Multi...
Matteo Ferroni
 
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
[EWiLi2016] Enabling power-awareness for the Xen Hypervisor
Matteo Ferroni
 
Ad

Recently uploaded (20)

Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025
fs4635986
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 
Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025Avast Premium Security Crack FREE Latest Version 2025
Avast Premium Security Crack FREE Latest Version 2025
mu394968
 
Tools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google CertificateTools of the Trade: Linux and SQL - Google Certificate
Tools of the Trade: Linux and SQL - Google Certificate
VICTOR MAESTRE RAMIREZ
 
How to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud PerformanceHow to Optimize Your AWS Environment for Improved Cloud Performance
How to Optimize Your AWS Environment for Improved Cloud Performance
ThousandEyes
 
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Mastering Fluent Bit: Ultimate Guide to Integrating Telemetry Pipelines with ...
Eric D. Schabell
 
Top 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdfTop 10 Data Cleansing Tools for 2025.pdf
Top 10 Data Cleansing Tools for 2025.pdf
AffinityCore
 
Expand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchangeExpand your AI adoption with AgentExchange
Expand your AI adoption with AgentExchange
Fexle Services Pvt. Ltd.
 
Exploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the FutureExploring Wayland: A Modern Display Server for the Future
Exploring Wayland: A Modern Display Server for the Future
ICS
 
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AIScaling GraphRAG:  Efficient Knowledge Retrieval for Enterprise AI
Scaling GraphRAG: Efficient Knowledge Retrieval for Enterprise AI
danshalev
 
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRYLEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
LEARN SEO AND INCREASE YOUR KNOWLDGE IN SOFTWARE INDUSTRY
NidaFarooq10
 
Automation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath CertificateAutomation Techniques in RPA - UiPath Certificate
Automation Techniques in RPA - UiPath Certificate
VICTOR MAESTRE RAMIREZ
 
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
TestMigrationsInPy: A Dataset of Test Migrations from Unittest to Pytest (MSR...
Andre Hora
 
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Requirements in Engineering AI- Enabled Systems: Open Problems and Safe AI Sy...
Lionel Briand
 
Cryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptxCryptocurrency Exchange Script like Binance.pptx
Cryptocurrency Exchange Script like Binance.pptx
riyageorge2024
 
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdfMicrosoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
Microsoft AI Nonprofit Use Cases and Live Demo_2025.04.30.pdf
TechSoup
 
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
What Do Contribution Guidelines Say About Software Testing? (MSR 2025)
Andre Hora
 
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
🌱 Green Grafana 🌱 Essentials_ Data, Visualizations and Plugins.pdf
Imma Valls Bernaus
 
Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025Apple Logic Pro X Crack FRESH Version 2025
Apple Logic Pro X Crack FRESH Version 2025
fs4635986
 
Implementing promises with typescripts, step by step
Implementing promises with typescripts, step by stepImplementing promises with typescripts, step by step
Implementing promises with typescripts, step by step
Ran Wahle
 
The Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdfThe Significance of Hardware in Information Systems.pdf
The Significance of Hardware in Information Systems.pdf
drewplanas10
 
DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025DVDFab Crack FREE Download Latest Version 2025
DVDFab Crack FREE Download Latest Version 2025
younisnoman75
 

[EUC2014] cODA: An Open-Source Framework to Easily Design Context-Aware Android Apps

  • 1. Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB) M. Ferroni, A. Damiani, A. A. Nacci, D. Sciuto, M. D. Santambrogio [email protected] 1 cODA: An Open-Source Framework to Easily Design Context-Aware Android Apps
  • 2. Pervasive Technology “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.” 2 Tale Weiser
  • 3. Mobile Devices • Nowadays, the most pervasive technology! Widespread – deeply interact with people and the environment – more and more popular due to their low costs – replacing standard PCs in common functionalities Challeging – internal and external conditions change rapidly – users adapt to devices, not vice versa 3 Smartphone… Not that smart, are they?
  • 5. Context-Aware Systems 5 … “collect any information that can be used to characterize the situation of an entity.” “An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves” G. D. Abowd et al. “Towards a better understanding of context and context- awareness.”
  • 6. … “collect any information that can be used to characterize the situation of an entity.” “An entity is a person, place, or object that is considered relevant to the interaction between a user and an application, including the user and applications themselves” G. D. Abowd et al. “Towards a better understanding of context and context- awareness.” Context-Aware Mobile Devices 6 The device itself The user The environment
  • 7. Case studies Jogging support An auto-responder that avoids the user’s from being disturbed by incoming calls while jogging Agenda support A notification that alerts the user he may be late to an appointment when setting an alarm-clock 7
  • 8. Case studies Jogging support An auto-responder that avoids the user’s from being disturbed by incoming calls while jogging • Collect data from sensors Agenda support A notification that alerts the user he may be late to an appointment when setting an alarm-clock • Collect user’s location and agenda 8
  • 9. Case studies Jogging support An auto-responder that avoids the user’s from being disturbed by incoming calls while jogging • Collect data from sensors • Filter, compare and aggregate those data to decide whether the user is jogging or not Agenda support A notification that alerts the user he may be late to an appointment when setting an alarm-clock • Collect user’s location and agenda • Extract user’s habitual movement patterns to decide whether the user will be on time considering journey time 9
  • 10. Case studies Jogging support An auto-responder that avoids the user’s from being disturbed by incoming calls while jogging • Collect data from sensors • Filter, compare and aggregate those data to decide whether the user is jogging or not • Activate the auto-responder Agenda support A notification that alerts the user he may be late to an appointment when setting an alarm-clock • Collect user’s location and agenda • Extract user’s habitual movement patterns to decide whether the user will be on time considering journey time • Activate the notification when the user may be late 10
  • 11. ODA Loop 11 Observe • The Environment • The System Decide • What to do Act • Change behavior • Adapt
  • 12. Smartphones: a smart choice • Well equipped with a great variety of sensors • Constantly with or on the user • Central hub for most of the user’s activities 12
  • 13. An Open-Source Framework to Easily Design Context-Aware Android Apps cODA Context Observe, Decide and Act (cODA)
  • 14. cODA is… • …for Android devices – 81% of smartphones shipped in Q1 2014 (Canalys) – Wide API exposed to all developers • …in the Application layer – No “rooting” or OS modification – Works on every device • …Open-Source Framework – Extendible – Tuneable • …Context-Aware – ODA Loop for sensing the environment 14
  • 17. Back to the case studies… 1. Jogging support An auto-responder that avoids the user’s from being disturbed by incoming calls while jogging 2. Agenda support A notification that alerts the user he may be late to an appointment when setting an alarm-clock 17
  • 18. Case 1 – Observers: Accelerometer and Gyroscope Launcher START or DIM Intent Broadcast Receiver Observer Schedules the sampling periods Service Logger Samples the data from the sensor Content Provider Log Records all the data persistently 18
  • 19. Case 1 – Decider: is the user running? Running Decider - Service • Retrieves data from the Log • Computes important features via PCA • Classifies the features by a k-nearest-neighbours classifier • Sends RUNNING Intent 19
  • 22. Case 1 – Actuator: “I’m Running” App • Starts on RUNNING Intent • Totally silences the phone • Auto answers to callers with text message 22
  • 23. Case 2 – Observer: Location Launcher START or DIM Intent Broadcast Receiver Observer Instructs the system to send periodical location updates Broadcast Receiver Logger Parses the Location Changed Intent Content Provider Log Records all the data persistently 23
  • 24. Case 2 – Deciders: may the user be late? Late Decider – Receiver • Intercepts SET_ALARM Intent • Computes the location of the user at alarm time • Computes trip time to next event on calendar • Sends LATE Intent 24
  • 25. Case 2 – Actuator: notify the user 25 • The user sets an alarm clock • Shows notification when LATE intent is intercepted • Opens on notification tap with correct alarm already set
  • 26. Conclusions cODA • implements the ODA methodology into Android • enables the development of an ecosystems of context-aware applications • uses a blackboard approach to share information, thus enabling the reuse of knowledge Limitations • The environment may be noisy • Deciding what to do may be computational intensive 26
  • 27. Future works • Packet Manager and Marketplace – Offer the user the possibility to choose what to install – Manage dependencies among Observers, Deciders and Actuators • Exploit Machine Learning techniques in Deciders – To support better decision phase – May offload the computation to Web services • Setting Auto-Tuning – A Decider-Actuator couple – Modifies the settings of the framework 27
  • 28. An Open-Source Framework to Easily Design Context-Aware Android Apps cODA Thank you for your attention Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria (DEIB)