This document outlines a proposed Ubiquitous Control Modeling Language (UCML) for developing applications on Android devices. UCML is an XML-based language that allows modules to be developed to acquire sensor data, apply conditions, and trigger responses. It aims to support on-device development, resource utilization, and making Android a Ubiquitous Computing platform. The document describes UCML's structure and elements, provides sample modules, and evaluates UCML as a prototype for controlling devices and interacting with the environment through sensors.
1 of 35
Download to read offline
More Related Content
UCML
1. Abdulrahman M.S. Salman
School of Computer Science
2009
Selim.2k@gmail.com
Ubiquitous Control Modeling Language for Android
An approach towards Android as a Ubiquitous Computing platform
2. Outlines
Objectives
Background
XML
Ubiquitous Computing
Googles Android
C3 & ODD approaches
What is UCML
UAT
UCML, the Application
UCML Structure
UCML, the Language
UCML Sample Modules
Limitations
Applications
Evaluation
Conclusion
3. Objectives
Propose the On-Device Development
concept
Provide a software prototype UCML initiative
to support the concept.
Simple and friendly application for mobile users.
Being a base for upgrading/extending to complex
applications.
Prove UCML within Android platform as a
UbiComp system
4. XML
Global standard
Defined elements
Special-purpose
Languages
WML, UIML, AIML
<xyz>
<x>hello</x>
<y foo=bar />
<z foo=bar>hello</z>
</xyz>
5. Googles Android
Free Open Source
Supported by OpenHandsetAlliance
and Google Community
Software stack for electronic devices
OS based on Linux 2.6
Middleware
Libraries (SQLite, OpenGL, WebKit)
DVM & Core Libraries
Application Framework
Applications (phone native & 3rd
party)
9. What is UCML
UCML is a prototype software for mobile devices
runs within Android platform aiming at utilizing
smart mobile devices resources.
Consists of modules developed by XML-based
language.
Depends on natural language understanding.
Revolves around
Acquire data from built-in sensors
Apply conditions on these data
Fire responses when these conditions are satisfied
10. What is UCML
UbiComp System
Response
Situation
Sensing
Response
Sensing
Environmen
t
11. C3 & ODD approaches
The On-Device Development approach so as to
develop, execute the software altogether from
within the device itself.
Smart, autonomous, resource-utilization
C3 is a paradigm used to describe entities revolve
around the power of Computer in processing, the
capability to Control surrounding environment,
and the facility of Communication between
devices in this environment.
C3-compliant
12. UAT
Why?
Promote criteria for assessing potential,
capability, and competency of devices
towards satisfying Ubiquitous Computing
conditions and requirement constraints which
subsequently facilitate establishing
categorization and specifications.
13. UAT
Synopses Platform: UCML within Android
Mobility (accompanied, wearable, embedded) Accompanied: hand-held
Category (Tab, Pad, Board) Tap
Context-aware (adaptive) depend on the application of a UCML module
Running all the time Yes
Being everywhere Yes
Networked Interconnectivity In-development (future work)
Input Sensor-oriented
Internet-enabled Yes
On-Device development/Configuration Yes
C3-Compliant Yes
19. UCML, the Language
<ucml>
<sensor name="[sensor_name]">
<reading type="[reading_type]" [other_attributes]= />
<response action="[response_action]" [other_attributes] = />
</sensor>
</ucml>
20. UCML, the Language
<sensor name="[sensor_name]">
sensor_name:
accelerometer
magneticfield
orientation
temperature.
21. UCML, the Language
<reading type="[reading_type]" [other_attributes]= />
reading_type:
threshold
Range
other_attributes
Threshold
All
x, y, z
xmin, ymin, zmin, xmax, ymax, zmax
22. UCML, the Language
<response action="[response_action]" [other_attributes] = />
response_action: other_attributes
enable feature
disable feature
notify msg
vibrate pattern, repeat
sendsms destination, sms
senddata destination, data, port
openweb web
dialnumber number
23. UCML, the Language
<ucml>
<sensor name="[sensor_name]">
<log filename="[file_name]" period=[time_in_secs]"/>
</sensor>
</ucml>
file saved on /data/data/[package]/files/
[file_name].xml
30. Limitations
Explicit Communication with remote sensors and
actuators.
Rich framework.
Auto-Complete feature.
Deployment as stand-alone application.
Running as a service.
Android platform is new in the market !!!
31. Evaluation
Target users: Digital Generation.
And others interested.
Age: 7 to 35
Informal Survey: 7 individuals 24-35 years old
Result:
Enjoyable
Extraordinary and Enjoyable
32. Conclusion
ODD, C3, and UAT have been defined.
UCML discovers a new interface for end-users which
will enrich the user experience in HCI.
The ODD approach is a new trend and would face
some reluctance.
Android is promising and is always being updated.
Android is excellent for Ubiquitous Computing
scenarios.
Current UCML version is an initiative prototype
software represents a basic building block for further
development and upgrades.
#6: Android is not for a special hw. It can be ported to any device that can load the linux kernel e.g. netbooks
A group of 47 technology and mobile companies aims at supporting mobile phone industry through open source projects particularly Android
Linux version 2.6
Services include hardware drivers; power, process and memory management; security and network.
OpenGL- The Industry Standard for High Performance Graphics
DVM makes developer are free from license issues coz it depends in apache harmony
Application Framework
Abstraction for hardware access; manages application resources and the UI; provides classes for developing applications for Android
#8: is a post-desktop model ofhuman-computer interactionin which information processing has been thoroughly integrated into everyday objects and activities.
Tabs: Inchscale devices (e.g. smart mobile phones), 2) Pads: footscale devices (e.g. laptops), 3)
Boards: yardscale interactive displays (surface computers)
This classification is not precise because ubicomp it is not about the device itself, it is about the application within the device
#10: an XML-based language aiming at utilizing the local resources of smart mobile devices and making mobile phone users aware and involved in contributing to technologies existed on their hands. UCML focuses on developing ubiquitous control applications within smart mobile devices by acquiring data from attached sensors, applying conditions on these data, and firing responses when these conditions are satisfied. It has been designed to be friendly and easy language that is suitable for all mobile users.
#12: Before we proceed
Besides the above mentioned UAT here are two terms should be identified
This supports bring devices to the forefront and also supports Ubicomp by avoiding use of Desktops
#31: Various UCML modules have been tested (see chapter 6 and appendix 1) to demonstrate the functionality and usability underneath mobile phone platforms. The testing results meet the requirements designated for UCML. However, Current version of UCML has encounters some limitations: 1) It cannot communicate with remote sensors and actuators explicitly (i.e. senddata, sendsms, and dialnumber can communicate with preconfigured remote devices implicitly). 2) The current number of responses and readings formats cannot represent such a rich framework for high usability. 3) The Auto-Complete feature has not developed yet. 4) UCML Module cannot run as a service in the background or deployed as a standalone application (i.e. it can only run within UCML application). 5) UCML is designed only for Android platform which is not widely used till the moment. Solutions for these limitations are all tasks for future work in UCML development.
#32: Do not restrict the people with a specific interface and tell this the easiest
#33: 2- I m both afraid and happy that a new sdk would be released while I m with u 2day
Happy coz of progress; afraid coz I ve 2 upgrade ucml 2
The ODD approach is a new trend and would face some reluctance because it is dissimilar to the currently existing approaches of usability in mobile devices.
#35: RELAX-NG: more friendly and easy to use and can be converted to other types
Jarsigner.exe, keytool.exe