Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix: An Open Plug-and-Play Context
Framework for Android
Darren Carlson and Andreas Schrader
Ambient Computing Group / Institute of Telematics
University of Lübeck, Germany
www.ambient.uni-luebeck.de
This presentation includes graphics from the Crystal Project, which is released under the LGPL license.
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Motivation 1/2: The Explosive Rise of Mobile Computing
2
High Developer Incentives
Familiar Languages & Tools Mobile App Markets
Improved Device Capabilities
Powerful Hardware Inbuilt Comm/Sensors/Media
Basic Context Sensing
APIs for accessing Location, Orientation, Sensor & User data, etc.
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Motivation 2/2: Context-awareness Challenges Remain
3
Wide-area Context Infrastructure
• Instrumentation scalability
• Multiple administrative domains (physical and virtual)
• Context sources/actuators not known at design time
• Lack of adaptive context middleware for mobile scenarios
Social Proximity
and Networks
Advanced Context Sensing and Acting
User
Activity
Unproxied
Sensor Networks
Biotelemetry
Data
Indoor
Positioning
Others…
Ad-hoc
Interactions
External
Sensors
Sensor
Fusion
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Introducing Ambient Dynamix
4
Dynamix adapts the
user’s device to the
environment using
plug-ins
Dynamix provides
simple means for
apps to request
context support
Dynamix is a plug-and-play context framework that helps applications sense and adapt to
the user’s continuously evolving situation and requirements
Community-based approach with 3rd
party API support
Plug-ins are provisioned
to the device at runtime
(network or file system)
Includes a scalable
infrastructure for
sharing plug-ins
Domain experts
create context
plug-ins
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Overview of the Dynamix Framework
5
Context domain expertise is
packaged into sharable
plug-ins
Plug-ins are
dynamically
provisioned at
runtime
A Dynamix app
requests context
support
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix Framework Features
 Runs as a lightweight background service on a user’s
unmodified Android-based device.
 Apps use simple Facade and Event APIs to request
context support and receive context events.
 Performs context interactions using a tailored set of plug-
ins, which are dynamically provisioned to the device
during runtime(from the network or local file-system).
 Supports ad-hoc interactions with discovered resources.
 Sends context information to apps using plain old Java
objects (POJOs) or string-encoded formats.
 Supports parallel plug-in installations, automatic
updating, event caching, and power management.
 Utilizes an embedded OSGi Framework to manage
Dynamix plug-ins internally.
 Features a Plug-in Security Sandbox, which provides
managed access to sensitive services and resources.
6
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Open Community Collaboration
7
Context-domain experts
use the Open Plug-in SDK to
create Dynamix plug-ins
Plug-ins can be published
using public or private
repositories
App developers
use the Open App SDK to
create Dynamix apps
Apps can be deployed from
any Android market or
elsewhere
The end-user
installs the Dynamix
Framework once
Users can then download
and run Dynamix apps
11 22 33
App
Open Plug-in
SDK
Open Plug-in
SDK
Open App
SDK
Open App
SDK
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Context Plug-in Development Overview
8
Open Plug-in SDKOpen Plug-in SDK
Context Sensing
or Acting
Context
Representation
(POJO or String)
Privacy Risk
Tagging
Context Event
Provisioning
(includes time-stamp
and validity duration
metadata)
Developers can release custom data-types as standard
JAR file, which are used by app developers.
Includes base classes for a variety of plug-in types
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix App Development Overview
9
Apps include a
single Dynamix JAR
on their build path
Open App SDKOpen App SDK
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Setting Up Context Support
10
Apps request context support using the
Dynamix Service’s Façade API.
33
If necessary, apps trigger context requests (scans or interactions)
Apps add context subscriptions for required context types
11
22
Dynamix downloads and installs associated plug-ins in the background
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Handling Context Events
Context events are sent to apps using the
Dynamix Service’s Event API.
11
Receiving Context Events In the App:
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Protecting User Privacy with the Context Firewall
12
ContextEvent with
embedded privacy
risk tags
Dynamix UI: Context Firewall Management
Tap an App to
Adjust its Context
Firewall Settings
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Apps Can Leverage a Broad Range of Dynamix Plug-ins
Context Plug-in
Power-aware Location, NFC, Beacon, Orientation, and Photodetector Plug-ins
ArtNet Plug-in (ad-hoc discovery/control of DMX automation equipment)
Acoustic Fingerprint Plug-in (Native Code Integration)
Speech Recognition Plug-in
Sound Pressure Level Plug-in (Ambient Sound Detector)
Sleep State Plug-in (Zeo Mobile)
Heart-rate Biotelemetry Plug-in (Zephyr Sensors)
OpenSocial Profile Data with Sensor-network Monitoring Plug-in (SmartAssist)
Barcode Scanner Plug-in (ZXing port)
Air Quality Monitor Plug-in (Ozone Levels and Pollen Count)
Weight and BMI Measurement Plug-in (Supports Withings Wireless Scales)
Pedometer with Step Force Plug-in 13
Many more plug-ins in development!Many more plug-ins in development!
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix Framework
• Comprehensive OSGI-based
Android prototype
• Plug-in and App SDKs
• Repository architecture
• Website and documentation
• Tested on many popular
Android device types
Plug-in Development
• 15 initial plug-ins (more soon)
• Range of context domains
and semantics (push vs. pull)
• Each verified as deployable
over-the-air at runtime
Implementation and Evaluation 1/2
14
App Development
• Six initial prototype apps
• Additional apps are being
developed
Dynamix Apps
Dynamix Logger
Medication reminder system
Product information and reviews
Bike Wars! Social exercise app
Heart rate visualization
(Processing graphics engine)
Ambient campus information
Sound of the City (in development)
More soon!
AmbientWeb Extension
• Exposes full Dynamix
functionality to browser-based
Web clients
• Drop-in JavaScript libraries
• Includes Wellness App demo,
created for the IoT 2012
Challenge
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Implementation and Evaluation 2/2
15
Total CPU% for Various Payloads
and Call Rates
Heap Size for Various Payload Sizes
and Call Rates
Dynamix exhibits linear performance characteristics (CPU and Heap) for
typical context scanning rates and event payload sizes
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Help Us Make Dynamix Even Better!
16
• Dynamix is free, open-source, and looking for contributors!
• Visit ambientdynamix.org for details and documentation.
• To access the developer kits, join the public beta!
Email: carlson@itm.uni-luebeck.de for access.
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
17
Thank You!
Q&A
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Sample Eclipse Project
Context Plug-in Packaging and Deployment
18
Data-type
JAR(s)
Plug-in OSGi
Bundle
Plug-in
Repository
Device File
System
Export
Deploy
Plug-in
Metadata
Supports public, private and file-
system-based repositories
(Including Maven repos)
Supports public, private and file-
system-based repositories
(Including Maven repos)
Open Repository ArchitectureOpen Repository Architecture
Plug-in
Code
Custom Data
Types
OSGi
Metadata
Create
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix from the End-user’s Perspective
19
The Home Tab Plug-in installationThe Context Firewall
Android Notifications
Most of the time, Dynamix is invisible to the end-userMost of the time, Dynamix is invisible to the end-user
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Context Domain Complexity Example (Biotelemetry)
20
Zephyr BioHarness™ Smart Fabric sensors
Service
discovery
Device control and
communication
Data pre-
processing,
feature
extraction,
quantization,
representation
Protocol handling,
synchronization,
error recovery
Context acquisition and modeling Business logic
Varying Sensor Hardware
• Heart rate
• Temperature
• Breathing rate
• Heart rate
• Temperature
• Breathing rate
Extracted
Context Data
Context Processing
End-user
Application
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Android Integration
• Dynamix operates as a service
within Android.
• Developers create Dynamix
apps using existing skills and
tooling.
21The Android platform stackExample app types
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Dynamix and OSGi
• Dynamix uses an embedded OSGi Framework as the foundation of its
plug-in architecture (Apache Felix).
• Context plug-ins are packaged and deployed as OSGi Bundles.
• The Dynamix OSGIManager supports multi-threaded Bundle installations
and updates; progress notifications; Bundle verification; runtime
integration; and plug-in lifecycle management.
22
The OSGi Framework
Architecture
Context
Plug-ins
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
• Some plug-ins may need to provide user interfaces for configuration or context
acquisition (e.g. entering data, pointing a camera, etc.)
• However, Android’s security model requires preregistration of Activities
• To overcome this problem, Dynamix provides “Host Activities” that can be
dynamically populated with a plug-in’s user interfaces.
How Context Plug-ins Interact with the User
23
Context
Plug-in
Configuration Host Activity
Context Acquisition Host Activity
Dynamix
Runtime UI
Injection
Institut für Beispielsysteme | Forschungsgruppe Systembeispiele
Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group
Introduction to Ambient Dynamix
Representing Context Information with IContextInfo
24
Example IContextInfo code snippet from
a heart-rate monitor plug-in
Developers release custom
data-types as a standard JAR
file, which are used by app
developers.

More Related Content

PDF
Reinventing the Share Button for Physical Spaces
PPT
Ambient Web IoT 2012
PPT
Towards a World of Ubiquitous Sensors and Actuators
PDF
SERENE 2014 School: Measurement-Driven Resilience Design of Cloud-Based Cyber...
PDF
“Streamlining Development of Edge AI Applications,” a Presentation from NVIDIA
PDF
Mastering AIOps with Deep Learning
PPT
A Mobile Internet Powered by a Planetary Computer
PDF
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...
Reinventing the Share Button for Physical Spaces
Ambient Web IoT 2012
Towards a World of Ubiquitous Sensors and Actuators
SERENE 2014 School: Measurement-Driven Resilience Design of Cloud-Based Cyber...
“Streamlining Development of Edge AI Applications,” a Presentation from NVIDIA
Mastering AIOps with Deep Learning
A Mobile Internet Powered by a Planetary Computer
Adapting to a Cambrian AI/SW/HW explosion with open co-design competitions an...

What's hot (16)

PDF
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
PDF
Holmstedt CV-2015
PDF
Accelerating open science and AI with automated, portable, customizable and r...
PDF
Duc le CV
PPTX
Enhancing Failure Propagation Analysis in Cloud Computing Systems - ISSRE 201...
PPT
High Performance Collaboration – The Jump to Light Speed
DOCX
RaymondResume2015v5
PDF
fog05: The Fog Computing Infrastructure
PPT
The OptIPuter and Its Applications
PPTX
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
PDF
Bridging the Pervasive Computing Gap: An Aggregate Perspective
PDF
Vortex 2.0 -- The Industrial Internet of Things Platform
PPTX
Software architecture introduction to the abstraction gssi_nov2013
PPTX
Opticks Demo for Ohio View
PDF
"Using Deep Learning for Video Event Detection on a Compute Budget," a Presen...
PDF
A Survey on Various Techniques used to Add Watermark to Multimedia Data for D...
Cloud Operations and Analytics: Improving Distributed Systems Reliability usi...
Holmstedt CV-2015
Accelerating open science and AI with automated, portable, customizable and r...
Duc le CV
Enhancing Failure Propagation Analysis in Cloud Computing Systems - ISSRE 201...
High Performance Collaboration – The Jump to Light Speed
RaymondResume2015v5
fog05: The Fog Computing Infrastructure
The OptIPuter and Its Applications
User-Perceived Source Code Quality Estimation based on Static Analysis Metrics
Bridging the Pervasive Computing Gap: An Aggregate Perspective
Vortex 2.0 -- The Industrial Internet of Things Platform
Software architecture introduction to the abstraction gssi_nov2013
Opticks Demo for Ohio View
"Using Deep Learning for Video Event Detection on a Compute Budget," a Presen...
A Survey on Various Techniques used to Add Watermark to Multimedia Data for D...
Ad

Similar to Dynamix IoT 2012 (20)

PPT
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
PPTX
Grid computing
PPT
grid mining
PPTX
Advanced malware analysis training session8 introduction to android
DOC
Resume_Appaji
PDF
MobiDE’2012, Phoenix, AZ, United States, 20 May, 2012
PDF
Genomics Applications in the Cloud with the DNAnexus Platform
PPTX
Advanced Malware Analysis Training Session 8 - Introduction to Android
PPTX
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
PPTX
Netflix Cloud Architecture and Open Source
PDF
Getting Started with Splunk Enterprise
PPTX
ASIP (Application-specific instruction-set processor)
PDF
Are you ready to be edgy? Bringing applications to the edge of the network
PPTX
Cloud Computing and PSo
PPT
Next Century Project Overview
PDF
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
PDF
Neomades crosscompilation
PDF
RT Lab Android Application
PDF
Towards application development for the internet of things
An Ad-hoc Smart Gateway Platform for the Web of Things (IEEE iThings 2013 Bes...
Grid computing
grid mining
Advanced malware analysis training session8 introduction to android
Resume_Appaji
MobiDE’2012, Phoenix, AZ, United States, 20 May, 2012
Genomics Applications in the Cloud with the DNAnexus Platform
Advanced Malware Analysis Training Session 8 - Introduction to Android
DDS Advanced Tutorial - OMG June 2013 Berlin Meeting
Netflix Cloud Architecture and Open Source
Getting Started with Splunk Enterprise
ASIP (Application-specific instruction-set processor)
Are you ready to be edgy? Bringing applications to the edge of the network
Cloud Computing and PSo
Next Century Project Overview
Emergent Middleware to Support Interoperability in Mobile Collaborative Appli...
Neomades crosscompilation
RT Lab Android Application
Towards application development for the internet of things
Ad

Dynamix IoT 2012

  • 1. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix: An Open Plug-and-Play Context Framework for Android Darren Carlson and Andreas Schrader Ambient Computing Group / Institute of Telematics University of Lübeck, Germany www.ambient.uni-luebeck.de This presentation includes graphics from the Crystal Project, which is released under the LGPL license.
  • 2. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Motivation 1/2: The Explosive Rise of Mobile Computing 2 High Developer Incentives Familiar Languages & Tools Mobile App Markets Improved Device Capabilities Powerful Hardware Inbuilt Comm/Sensors/Media Basic Context Sensing APIs for accessing Location, Orientation, Sensor & User data, etc.
  • 3. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Motivation 2/2: Context-awareness Challenges Remain 3 Wide-area Context Infrastructure • Instrumentation scalability • Multiple administrative domains (physical and virtual) • Context sources/actuators not known at design time • Lack of adaptive context middleware for mobile scenarios Social Proximity and Networks Advanced Context Sensing and Acting User Activity Unproxied Sensor Networks Biotelemetry Data Indoor Positioning Others… Ad-hoc Interactions External Sensors Sensor Fusion
  • 4. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Introducing Ambient Dynamix 4 Dynamix adapts the user’s device to the environment using plug-ins Dynamix provides simple means for apps to request context support Dynamix is a plug-and-play context framework that helps applications sense and adapt to the user’s continuously evolving situation and requirements Community-based approach with 3rd party API support Plug-ins are provisioned to the device at runtime (network or file system) Includes a scalable infrastructure for sharing plug-ins Domain experts create context plug-ins
  • 5. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Overview of the Dynamix Framework 5 Context domain expertise is packaged into sharable plug-ins Plug-ins are dynamically provisioned at runtime A Dynamix app requests context support
  • 6. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix Framework Features  Runs as a lightweight background service on a user’s unmodified Android-based device.  Apps use simple Facade and Event APIs to request context support and receive context events.  Performs context interactions using a tailored set of plug- ins, which are dynamically provisioned to the device during runtime(from the network or local file-system).  Supports ad-hoc interactions with discovered resources.  Sends context information to apps using plain old Java objects (POJOs) or string-encoded formats.  Supports parallel plug-in installations, automatic updating, event caching, and power management.  Utilizes an embedded OSGi Framework to manage Dynamix plug-ins internally.  Features a Plug-in Security Sandbox, which provides managed access to sensitive services and resources. 6
  • 7. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Open Community Collaboration 7 Context-domain experts use the Open Plug-in SDK to create Dynamix plug-ins Plug-ins can be published using public or private repositories App developers use the Open App SDK to create Dynamix apps Apps can be deployed from any Android market or elsewhere The end-user installs the Dynamix Framework once Users can then download and run Dynamix apps 11 22 33 App Open Plug-in SDK Open Plug-in SDK Open App SDK Open App SDK
  • 8. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Context Plug-in Development Overview 8 Open Plug-in SDKOpen Plug-in SDK Context Sensing or Acting Context Representation (POJO or String) Privacy Risk Tagging Context Event Provisioning (includes time-stamp and validity duration metadata) Developers can release custom data-types as standard JAR file, which are used by app developers. Includes base classes for a variety of plug-in types
  • 9. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix App Development Overview 9 Apps include a single Dynamix JAR on their build path Open App SDKOpen App SDK
  • 10. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Setting Up Context Support 10 Apps request context support using the Dynamix Service’s Façade API. 33 If necessary, apps trigger context requests (scans or interactions) Apps add context subscriptions for required context types 11 22 Dynamix downloads and installs associated plug-ins in the background
  • 11. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Handling Context Events Context events are sent to apps using the Dynamix Service’s Event API. 11 Receiving Context Events In the App:
  • 12. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Protecting User Privacy with the Context Firewall 12 ContextEvent with embedded privacy risk tags Dynamix UI: Context Firewall Management Tap an App to Adjust its Context Firewall Settings
  • 13. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Apps Can Leverage a Broad Range of Dynamix Plug-ins Context Plug-in Power-aware Location, NFC, Beacon, Orientation, and Photodetector Plug-ins ArtNet Plug-in (ad-hoc discovery/control of DMX automation equipment) Acoustic Fingerprint Plug-in (Native Code Integration) Speech Recognition Plug-in Sound Pressure Level Plug-in (Ambient Sound Detector) Sleep State Plug-in (Zeo Mobile) Heart-rate Biotelemetry Plug-in (Zephyr Sensors) OpenSocial Profile Data with Sensor-network Monitoring Plug-in (SmartAssist) Barcode Scanner Plug-in (ZXing port) Air Quality Monitor Plug-in (Ozone Levels and Pollen Count) Weight and BMI Measurement Plug-in (Supports Withings Wireless Scales) Pedometer with Step Force Plug-in 13 Many more plug-ins in development!Many more plug-ins in development!
  • 14. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix Framework • Comprehensive OSGI-based Android prototype • Plug-in and App SDKs • Repository architecture • Website and documentation • Tested on many popular Android device types Plug-in Development • 15 initial plug-ins (more soon) • Range of context domains and semantics (push vs. pull) • Each verified as deployable over-the-air at runtime Implementation and Evaluation 1/2 14 App Development • Six initial prototype apps • Additional apps are being developed Dynamix Apps Dynamix Logger Medication reminder system Product information and reviews Bike Wars! Social exercise app Heart rate visualization (Processing graphics engine) Ambient campus information Sound of the City (in development) More soon! AmbientWeb Extension • Exposes full Dynamix functionality to browser-based Web clients • Drop-in JavaScript libraries • Includes Wellness App demo, created for the IoT 2012 Challenge
  • 15. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Implementation and Evaluation 2/2 15 Total CPU% for Various Payloads and Call Rates Heap Size for Various Payload Sizes and Call Rates Dynamix exhibits linear performance characteristics (CPU and Heap) for typical context scanning rates and event payload sizes
  • 16. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Help Us Make Dynamix Even Better! 16 • Dynamix is free, open-source, and looking for contributors! • Visit ambientdynamix.org for details and documentation. • To access the developer kits, join the public beta! Email: carlson@itm.uni-luebeck.de for access.
  • 17. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix 17 Thank You! Q&A
  • 18. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Sample Eclipse Project Context Plug-in Packaging and Deployment 18 Data-type JAR(s) Plug-in OSGi Bundle Plug-in Repository Device File System Export Deploy Plug-in Metadata Supports public, private and file- system-based repositories (Including Maven repos) Supports public, private and file- system-based repositories (Including Maven repos) Open Repository ArchitectureOpen Repository Architecture Plug-in Code Custom Data Types OSGi Metadata Create
  • 19. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix from the End-user’s Perspective 19 The Home Tab Plug-in installationThe Context Firewall Android Notifications Most of the time, Dynamix is invisible to the end-userMost of the time, Dynamix is invisible to the end-user
  • 20. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Context Domain Complexity Example (Biotelemetry) 20 Zephyr BioHarness™ Smart Fabric sensors Service discovery Device control and communication Data pre- processing, feature extraction, quantization, representation Protocol handling, synchronization, error recovery Context acquisition and modeling Business logic Varying Sensor Hardware • Heart rate • Temperature • Breathing rate • Heart rate • Temperature • Breathing rate Extracted Context Data Context Processing End-user Application
  • 21. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Android Integration • Dynamix operates as a service within Android. • Developers create Dynamix apps using existing skills and tooling. 21The Android platform stackExample app types
  • 22. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Dynamix and OSGi • Dynamix uses an embedded OSGi Framework as the foundation of its plug-in architecture (Apache Felix). • Context plug-ins are packaged and deployed as OSGi Bundles. • The Dynamix OSGIManager supports multi-threaded Bundle installations and updates; progress notifications; Bundle verification; runtime integration; and plug-in lifecycle management. 22 The OSGi Framework Architecture Context Plug-ins
  • 23. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix • Some plug-ins may need to provide user interfaces for configuration or context acquisition (e.g. entering data, pointing a camera, etc.) • However, Android’s security model requires preregistration of Activities • To overcome this problem, Dynamix provides “Host Activities” that can be dynamically populated with a plug-in’s user interfaces. How Context Plug-ins Interact with the User 23 Context Plug-in Configuration Host Activity Context Acquisition Host Activity Dynamix Runtime UI Injection
  • 24. Institut für Beispielsysteme | Forschungsgruppe Systembeispiele Dr.-Ing. Darren Carlson | Institute of Telematics | Ambient Computing Group Introduction to Ambient Dynamix Representing Context Information with IContextInfo 24 Example IContextInfo code snippet from a heart-rate monitor plug-in Developers release custom data-types as a standard JAR file, which are used by app developers.