ucml
TRANSCRIPT
Abdulrahman M.S. Salman
School of Computer Science2009
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)
Ubiquitous Computing
• the vision of mobile computing where technology will get involved in everything around us.
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
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 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 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>
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.
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