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
– Google’s 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. Google’s 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
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.
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
is a post-desktop model of human-computer interaction in which information processing has been thoroughly integrated into everyday objects and activities.
Tabs: Inch‐scale devices (e.g. smart mobile phones), 2) Pads: foot‐scale devices (e.g. laptops), 3)
Boards: yard‐scale 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
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.
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
SAX vs DOM
RELAX-NG vs XSD
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.
Do not restrict the people with a specific interface and tell this the easiest
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.
RELAX-NG: more friendly and easy to use and can be converted to other types
Jarsigner.exe, keytool.exe