際際滷

際際滷Share a Scribd company logo
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
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
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>
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)
Googles 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 System
Response
Situation
Sensing
Response
Sensing
Environmen
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.
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
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)

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)
  • 7. Ubiquitous Computing the vision of mobile computing where technology will get involved in everything around us.
  • 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
  • 25. UCML Sample Modules <ucml> <sensor name="accelerometer"> <reading type="threshold" threshold="8"/> <response action="notify" msg="hi the Accelerometer threshold fired!!!"/> </sensor> </ucml>
  • 26. 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>
  • 27. 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>
  • 29. Applications monitoring, controlling, logging, gesture recognition, and interaction with devices.
  • 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.
  • 33. Qs
  • 34. 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
  • 35. Ubiquitous Computing Ubiquitous smart devices Tabs: Inch-scale devices (mobile phones) Pads: foot-scale devices (laptops) Boards: yard-scale interactive displays (surface computers)

Editor's Notes

  • #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
  • #19: SAX vs DOM RELAX-NG vs XSD
  • #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