ucml

35
Abdulrahman M.S. Salman School of Computer Science 2009 [email protected] Ubiquitous Control Modeling Language for Android An approach towards Android as a Ubiquitous Computing platform

Upload: a-selim-salman

Post on 22-Jan-2018

231 views

Category:

Technology


0 download

TRANSCRIPT

Abdulrahman M.S. Salman

School of Computer Science2009

[email protected]

Ubiquitous Control Modeling Language for AndroidAn approach towards Android as a Ubiquitous Computing platform

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

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

XML

• Global standard • Defined elements• Special-purpose

Languages– WML, UIML, AIML…

<xyz>

<x>hello</x>

<y foo=“bar” />

<z foo=“bar”>hello</z>

</xyz>

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)

Google’s Android

Ubiquitous Computing

• the vision of mobile computing where technology will get involved in everything around us.

Ubiquitous Computing

UbiComp System

Response

Situation

Sensing

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

What is UCML

UbiComp SystemResponse

SituationSensing

Response

SensingEnvironmen

t

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

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.

UATSynopses 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

UCML, the Application

UCML, the Application

UCML, the Application

UCML, the Application

UCML structure

Module

UCML, the Language

<ucml>

<sensor name="[sensor_name]">

<reading type="[reading_type]" [other_attributes]=” ”/>

<response action="[response_action]" [other_attributes] =” ”/>

</sensor>

</ucml>

UCML, the Language

<sensor name="[sensor_name]">• sensor_name:

– accelerometer

– magneticfield

– orientation

– temperature.

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

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

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

UCML, the Language

.

.

.

Output of the LOG

tag

UCML Sample Modules

<ucml><sensor name="accelerometer"><reading type="threshold" threshold="8"/>

<response action="notify" msg="hi the Accelerometer threshold fired!!!"/>

</sensor></ucml>

UCML Sample Modules

<ucml><sensor name=“magneticfield"><reading type="threshold" all="yes" x="-2" y="5" z="-9"/>

<response action="vibrate" pattern=“300 500 700" repeat="no"/>

</sensor></ucml>

UCML Sample Modules

<ucml><sensor name="orientation"><reading type="range" all="no" xmin="10" ymin="8" zmin="-1" xmax="15" ymax="12" zmax="3"/>

<response action="sendsms" destination="07928610611" sms=“I ve moved the phone!!!"/>

</sensor></ucml>

UCML module live

Applications

• monitoring, • controlling, • logging, • gesture recognition, • and interaction with devices.

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 !!!

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

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.

Qs

Tools and Technologies

• Eclipse IDE, ADT plug-in• Android SDK 1.5, Android Emulator• XML• Java syntax, JDK tools• Adobe Illustrator, IconArchive.com• OpenIntents SensorSimulator

Ubiquitous Computing

• Ubiquitous smart devices– Tabs: Inch-scale devices (mobile phones)– Pads: foot-scale devices (laptops)– Boards: yard-scale interactive displays (surface

computers)