Sei sulla pagina 1di 271

End-Semester

Summariza0on Sessions-I-III
Lecture-16-18, First Semester: 2011-2012 October 1, 11, 13, 2011

Pervasive Compu.ng

Smart Cards, RFIDs and Ambient Intelligence

Rahul Banerjee, PhD (CSE)


Professor, Department of Computer Science

Birla Ins=tute of Technology & Science


Pilani 333 031, INDIA
Home Page: hJp://discovery.bits-pilani.ac.in/~rahul/ Email: rahul@bits-pilani.ac.in / Rahul.Banerjee.CSE@Gmail.com
Tuesday 11 October 11 (c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

Smart Card Summary

Tuesday 11 October 11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

Some of the Current Applica0ons

E-Government

Banking

Mass Transit

Public Telephony

Mobile Telecommunications

W-LAN

Retail

Access control

Digital Rights Smart card research: beyond OS and security Management !

Enterprise Security

What s in a Contact-based Smart Card?

RFU GN D RFU I/O

CL K

RS T

Vcc

Vpp

Microprocessor Cards Combi / Hybrid Cards Hybrid Card

Has two chips: contact and contactless interface. The two chips are not connected.

Combi Card
Has a single chip with a contact and contactless interface. Can access the same chip via a contact or contactless interface, with a very high level of security.

Microprocessor Cards Combi / Hybrid Cards

Some advanced technologies


On plastic display. On plastic switch, random number generator. Biometric sensor on plastic.

OS Based Classica.on
Smart cards are also classied on the basis of their Opera0ng System. There are many Smart Card Opera0ng Systems available in the market, the main ones being: 1. MultOS 2. JavaCard 3. Cyberex 4. StarCOS 5. MFC Smart Card Opera0ng Systems or SCOS as they are commonly called, are placed on the ROM and usually occupy lesser than 16 KB. SCOS handle: File Handling and Manipula0on. Memory Management Data Transmission Protocols.

Biometric techniques
Finger print/hand geometry iden0ca0on.
Features of nger prints can be kept on the card (even veried on the card)

Photograph/IRIS paaern etc.


Such informa0on is to be veried by a person. The informa0on can be stored in the card securely.

Data storage
Data is stored in smart cards in E2PROM
Card OS provides a le structure mechanism
MF DF DF EF EF DF EF EF EF File types Binary file (unstructured) Fixed size record file Variable size record file

File Naming and Selec0on


Each les has a 2 byte le ID and an op0onal 5-bit SFID (both unique within a DF). DFs may op0onally have (globally unique) 16 byte name. OS keeps tack of a current DF and a current EF. Current DF or EF can be changed using SELECT FILE command. Target le specied as either:
DF name File ID SFID Rela0ve or absolute path (sequence of File IDs). Parent DF

An Applica0on Scenario
Terminal with two card readers
Banker s card 1. Authenticate user to banker s card: 1a. Get challenge from banker s card. 1b. Obtain response for the challenge from user card User s card (IAUTH). 1c. Validate response with officer card (EAUTH) 2. Authenticate officer card to user card in a similar manner. 3. Transfer money to the user s card.

Application software runs here

Usually the money scenario is much more complex. EMV (electronic Master and Visa) card standard is used, which is much more complex.

The terminal itself does not store any keys, it s the two cards that really authenticate each other. The terminal just facilitates the process.

RF based Smart Cards


Some0mes also known as RFID
The RFID term is usually referred to RF interface for communica0on in Memory cards only.

Processor based RF cards are coming in. Card also have enhanced security (VISA card for example)

Such as RSA Key generated Random number which is displayed on a small display on the card. Finger print sense and match on the card itself

Smartcard Framework
Shared Service

Application services Services operated by the platform Framework Platform

Appli. Fw

Appli. Fw.

Appli. Fw.

Platform Framework

Platform manager

OS
Hardware platform Communication means
Smart card research: beyond OS and security

14

Jean-Jacques Vandewalles view on sards is between mart cards The posi0on of future open smart c
High-end electronic consumer products embedding
An opera0ng system kernel (Symbian, Embedded Linux, .Net kernel, etc.)
Generally proprietary and some0mes real-0me

A well-dened and run0me edi0on (J2ME CLDC/CDC, .Net compact) on top of an underlying opera0ng system
Generally over-sized and dicult to op0mize With network connec0vity capabili0es

Some dedicated proles (APIs and applica0on models)


Targe0ng dedicated markets (mobile phone, terminals, etc.)

Low-end embedded consumer products with


No general-purpose opera0ng system Closed framework and poor (no) connec0vity Ad hoc hand-wriaen func0onality
15 Smart card research: beyond OS and security

Ambient Compu0ng & Smart Cards


Ambient compu0ng relies on a connected network of small compu0ng devices providing services that are federated to work together for a given purpose Smart cards can be an interes0ng research test bed to work on some of the required technologies for ambiant compu0ng
Personal computing

network

Secure powerful open plahorm, generated applica0on-specic plahorms systems Framework for operated devices Integra0on architecture in services infrastructures
16 Smart card research: beyond OS and security

Embedded

M2M H2M interfaces

RFID Summary

Tuesday 11 October 11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

17

What is RFID?
RFID is a technology that uses radio-frequency waves to transfer data between a reader and a movable item to iden0fy, categorize, track etc. RFID is fast, reliable, and does not require physical sight or contact between reader/ scanner and the tagged item

What Cons0tutes an RFID System?


One or more RF tags Two or more antennas One or more interrogators One or more host computers / processor-based host devices Appropriate soiware

APPLICATION

INTERROGATOR
Decoder

RF TAG
Tag Physical Memory

AIR INTERFACE
Tag Driver and Mapping Rules COMMANDS

Encoder DEVICE COMMANDS APPLICATION COMMANDS APPLICATION RESPONSES DEVICE RESPONSES Logical Memory Command / Response Unit

Logical Memory Map

Application Program Interface

RESPONSES

DATA PROTOCOL PROCESSOR

PHYSICAL INTERROGATOR

Note: The Logical Memory Map in the Tag Physical Memory is given by the Tag architecture and the mapping rules in the Tag Driver. All the information in the Logical Memory is represented in the Logical Memory Map

ISO/IEC 15961

ISO/IEC 15962

ISO/IEC 15962 Annexes

ISO/IEC 18000

RFID Opera.on
Sequence of Communication
Host Manages Reader(s) and Issues Commands Reader and tag communicate via RF signal Carrier signal generated by the reader (upon request from the host application) Carrier signal sent out through the antennas Carrier signal hits tag(s) Tag receives and modifies carrier signal
sends back modulated signal (Passive Backscatter - FCC and ITU refer to as field disturbance device )

Antennas receive the modulated signal and send them to the Reader Reader decodes the data
Results returned to the host application

What is RFID? -- The Tags


Tags can be read-only or read-write Tag memory can be factory or eld programmed, par00onable, and op0onally permanently locked Bytes lei unlocked can be rewriaen over more than 100,000 0mes

RFID System Basics


Tag ID Only Programmable Database Pointer Mission Cri.cal Informa.on Portable Database Read Only (Factory Programmed) WORM - Write Once, Read Many .mes Reprogrammable (Field Programmable) Read/Write (In-Use Programmable)

What is RFID? -- The Tags


Tags can be aaached to almost anything:
pallets or cases of product vehicles company assets or personnel items such as apparel, luggage, laundry people, livestock, or pets high value electronics such as computers, TVs, camcorders

Are All Tags The Same?


Basic Types: Ac.ve Tag transmits radio signal Baaery powered memory, radio & circuitry High Read Range (300 feet) Passive Tag reects radio signal from reader Reader powered Shorter Read Range (4 inches - 15 feet)

Are All Tags The Same?


Varia0ons:

Memory Size (16 bits - 512 kBytes +) Read-Only, Read/Write or WORM Type: EEProm, An0fuse, FeRam Arbitra0on (An0-collision) Ability to read/write one or many tags at a 0me Frequency 125KHz - 5.8 GHz Physical Dimensions Thumbnail to Brick sizes Price ($0.50 to $250)

RFID System Basics


How far? How fast? How many? How much? AOached to and surround by what?

What is RFID? -- The Readers


Readers (interrogators) can be at a xed point such as
Entrance/exit Point of sale Warehouse

Readers can also be mobile -- tethered, hand-held, or wireless

<150 kHz (125 kHz & 134 kHz )


Advantages Uses normal CMOS processing basic and ubiquitous Rela0ve freedom from regulatory limita0ons Well suited for applica0ons requiring reading small amounts of data at slow speeds and minimal distances Penetrates materials well (water, 0ssue, wood, aluminum)

<150 kHz (125 kHz & 134 kHz )


Disadvantages: Disadvantages: Does not penetrate or Tag construc0on: transmit around metals is thicker (than 13.56 (iron, steel) MHz) Handles only small is more expensive (than amounts of data 13.56 MHz) Slow read speeds more complex Large Antennas -- (requires more turns of compared to higher the induc0on coil) frequencies Minimal Range

13.56 MHz
Advantages Uses normal CMOS processing--basic and ubiquitous Well suited for applica0ons requiring reading small amounts of data and minimal distances Penetrates water/0ssue well Simpler antenna design (fewer turns of the coil); lower costs to build Higher data rate (than 125 kHz--but slower than higher MHz systems) Thinner tag construc0on (than 125 kHz) Popular Smart Card frequency

13.56 MHz
Disadvantages Government regulated frequency (U.S. and Europe recently harmonized) Does not penetrate or transmit around metals Large Antennas (compared to higher frequencies) Larger tag size than higher frequencies Tag construc0on: requires more than one surface to complete a circuit Reading Range of 0.7 m

RFID PrimerFrequencies
Toll Roads

RFID:

Data Terminal

Electromagne.c Field Coupling: Lower Range UHF Cell Phone >300 MHz <3 (<1) GHz
(862-928 MHz ANSI MH10.8.4, ISO 18185, B-11 & GTAG) (433.92 MHz ISO 18185)

1000 MHz

>300 MHz <1GHz


Advantages Eec0ve around metals Best available frequency for distances of >1m Tag size smaller than 13.56 MHz Smaller antennas Range: licensed to 20-40' with reasonable sized tag (stamp to eraser size). Unlicensed 3-5 m. Good non-line-of-sight communica0on (except for conduc0ve, "lossy" materials) High data rate; Large amounts of data Controlled read zone (through antenna direc0onality)

>300 MHz <1GHz


Disadvantages Does not penetrate water/0ssue Regulatory issues (dierences in frequency, channels, power, and duty cycle) Regulatory issues in Europe (similar band 869 MHz requires frequency agile chip) 950 - 956 MHz under study in Japan

RFID PrimerFrequencies
RFID: Item Management EAS

Electromagne.c Field Coupling: 2.45 GHz

2.45 GHz

2.45 GHz
Advantages
Tag size smaller than induc0ve or lower range UHF (1"x 1/4") Range: greater range than induc0ve w/o baaery More bandwidth than lower range UHF (more frequencies to hop) Smaller antennas than lower range UHF or induc0ve High data rate

2.45 GHz
Advantages Good non-line-of-sight communica0on (except for conduc0ve, "lossy" materials) Can transmit large amounts of data more quickly than lower frequencies Controlled read zone (through antenna direc0onality) Eec0ve around metals with tuning/design adapta0ons

2.45 GHz
Disadvantages More suscep0ble to electronic noise than lower UHF bands, e.g. 433 MHz, 860-930 MHz Shared spectrum with other technologies-- microwave ovens, RLANS, TV devices, etc. Requires non-interfering, "good neighbor" tac0cs like FHSS Compe00ve requirement: single chip--highly technical; limited number of vendors Regulatory approvals s0ll "in process"

RFID PrimerFrequency
RFID: European Tolls

>5.8 GHz (European Road Telema.cs Frequency)


Advantages: Less congested band/less interference Disadvantages: Not available in U.S. or many other countries (5.9 now in FCC review) Must orient antennas carefully Range limited (due to scaling issues/ wavelengths) Chip dicult to build Expensive

300 GHz

Spectrum Regula.on
The radio frequency (RF) spectrum is a scarce and shared resource, used na0onally and interna0onally, and subject to a wide range of regulatory oversight. In the U.S., the Federal Communica0ons Commission is a key regulatory body that allocates spectrum use and resolves spectrum conicts. The Interna0onal Telecommunica0on Union (ITU) is a specialized agency of the United Na0ons which plays the same role interna0onally.

Regula.ons - ITU

How far, how fast, how much, how many, aOached to what?

Frequency 125-150 kHz 13.56 MHz 433 MHz

Regulation Basically unregulated ISM band, differing power levels and duty cycle Non-specific Short Range Devices (SRD), Location Systems ISM band (Region 2); increasing use in other regions, differing power levels and duty cycle ISM band, differing power levels and duty cycle

Range 10 cm < 1m 1 100 m

Data Speed Low Low to moderate Moderate

Comments Animal identification and factory data collection systems Popular frequency for I.C. Cards (Smart Cards) Asset tracking for U.S. DoD (Pallets) EAN.UCC GTAG, MH10.8.4 (RTI), AIAG B-11 (Tires) IEEE 802.11b, Bluetooth, CT, AIAG B-11

860-930 MHz

25m

Moderate to high

2450 MHz

12m

High

Radio Frequency Iden.ca.on (RFID)


Applica.ons

Portal Applica.ons

Bill of Lading Material Tracking

Portal Applica.ons

Limited number items at forklift speeds 8 X 10 doorways Electronic receipt & dispatch Wrong destination alert Electronic marking Pallet/container item tracking

Conveyor / Assembly Line

Read / Write Operations Higher Accuracy than Bar Code

Conveyor / Assembly Line

Up to 450 fpm 60+ items per container Inexpensive tunnels Longer tunnel more items Electronic receipt Sorting Electronic marking

Hand Held Applica.on Categories

Batch

Wireless

Fixed Station

Shipping Valida.on

Tote/Box/Unit Level Inventory

HazMat Smart Label

SHIP TO:

SHIP FROM:

COMMANDING OFFICER DDSP SUSQUEHANNA, PA 15230


TCN:

CHEMICAL SUPPLIER CHEMICAL COMPANY INSTITUTE, WV 23456

AWHGEAA$0F00090XX 5310011987585
GTIN:

NSN:

CAGE:

AWHGE
MSDS #: HCC:

00098756100013

ABCDE
AHRIST DATA:

A1

CHEM WT:

10000

Low power > long range 1024 bit memory Read/write/lock on 8 bits Advanced protocol Efficient multi-id 12 ms/8 byte read Group select 40 tags/second

Lock data permanently 25ms/byte write Broadcast write Anti-collision

Radio Frequency Iden.ca.on (RFID)


Standards

The Layers of Logis.c Units (Op.cally Readable Media)


Layer 5

ISO TC 204 (None) AIAG B-15

Movement Vehicle! (truck, airplane, ship, train)!


!
Container! (e.g., 40 foot Sea Container)!

Layer 4

ISO TC 104 (None)

Layer 3

ISO TC 122/WG 4 (15394) ANSI MH10.8.1 AIAG B-10/14 EIA 556-B UCC 6

Unit Load! Pallet !

Unit Load! Pallet !

Layer 2

ISO TC 122/WG 4 (15394) ANSI MH10.8.1 AIAG B-10/14 EIA 556-B UCC 6/EAN Genl Spec!

Transport! Unit!

Transport! Unit!

Transport! Unit!

Transport! Unit!

Layer 1

ISO TC 122/WG 7 (22742) ANSI MH10.8.6 AIAG B-4 (TBD) EIA 621/624 & IEC TC 91 UCC 1 /EAN Genl Spec!

Pkg!

Pkg!

Pkg!

Pkg!

Pkg!

Pkg!

Pkg!

Pkg!

Layer 0

ISO TC 122 (TBD) ANSI MH10.8.7 AIAG B-4 EIA SP-3497 UCC 1 /EAN Genl Spec!

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

The Layers of Logis.c Units (Radio Frequency Iden.ca.on - RFID)


Layer 5

ISO TC 104 ISO TC 204 (ISO 14816) IATA ISO TC 8 AAR !

Movement Vehicle! (truck, airplane, ship, train)!


Container! (e.g., 40 foot Sea Container)!

Layer 4 (433 MHz, 860-930 MHz)


ISO 122/104 JWG (ISO 10374) ISO TC 104 (ISO 18185) ISO TC 104 (Beyond 18185) ISO 17363 (122/104 JWG) !

Layer 3 (433 MHz, 860-930 MHz)


ISO 17364 (122/104 JWG) ANSI MH10.8.4 AIAG (TBD) EIA (TBD) EAN.UCC GTAG!

Unit Load! Pallet !

Unit Load! Pallet !

Layer 2 (860-930 MHz)


ISO 17365 (122/104 JWG) ANSI MH10.8.8 AIAG (TBD) TCIF (TBD) !

Transport! Unit!

Transport! Unit!

Transport! Unit!

Transport! Unit!

Layer 1 (860-930 MHz)


ISO 17366 (122/104 JWG) ! Pkg! Pkg! Pkg! Pkg! Pkg! Pkg! Pkg! Pkg!

Layer 0 (860-930 MHz)

ISO 17367 (122/104 JWG) AIAG B-11!


Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Item

Applica.on Requirements

Wal-Mart Suppliers mark inbound cases and pallets with RFID - 1 January 2005 - May, 2003 specication calls for 256 bit read/write tag! U.S. Department of Defense - requires suppliers to put passive RFID tags on selected case/pallet packaging by January of 2005. Draft policy calls for passive tags (est. 256 byte) and active tags

Genera0on 2 RFID Readers


RFID technology depends on tags being read automa0cally by receptors known as readers, which are typically sold separately from the antennas they need in order to func0on.
AWIDs MPR-3014 reader (produc0on units) cost about $1,000 each, and including four circular polarized antennas at no extra cost. MPR-3014 reader development kits go for $1,600; and the MPR-1510 reader module produc0on units sell for under $400 each, with development kits at $700.
(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

Tuesday 11 October 11

56

Genera0on 2 RFID Readers


The MPR-3014 reader is versa0le enough for use in numerous applica0ons, including conveyor belt or portal arrangements. It comes standard with four op0cally isolated general- purpose I/O ports and power over Ethernet. The unit is available with four or eight antenna ports. All models may be used in retail, oce, or industrial loca0ons. An op0onal Extreme Durability chassis ensures uninterrupted opera0on in even the harshest environments. (c) Dr. Rahul Banerjee, BITS-Pilani, Tuesday 11 October 11 57
INDIA

Genera0on 2 RFID Readers


MPR-1510 reader module is designed for integra0on into other RFID enabled devices, such as printer/ encoders, label applicators, hand-held and vehicle mount readers. The MPR-1510 reader module is in all models of Printronix printer/encoders and Psion Teklogix UHF hand-held readers. Both MPR-3014 and MPR-1510 support mul0ple protocols including: EPCglobal Class 0, Class 0+, Class 1, Class 1 Genera0on 2, ISO-18000-6A/B, and EM Micro are network upgradeable to ensure support for future (c) Dr. Rahul Banerjee, BITS-Pilani, Tuesday 11 October 11tandards and enhancements. 58 protocol s INDIA

Reference Pages
hap://sec.isi.salford.ac.uk/download/smart.pdf hap://www.smart.gov hap://www.gemplus.com hap://www.smartcardalliance.org/ industry_info/smart_cards_primer.cfm hap://www.axalto.com/Company/Governance/ pdf/Annual%20Report%202004.pdf hap://www.smartcard.co.uk/tutorials/sct- itsc.pdf

Autonomous Systems & Artificial Life

L-21: Slides Extracted from the Ubiquitous Computing support page by Dr. Stephen Poslad and duly edited for instructional use. Meant for classroom use only. Not to be redistributed.

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

60

Autonomous Systems & Artificial Life

L-21: Slides Extracted from the Ubiquitous Computing support page by Dr. Stephen Poslad and duly edited for instructional use. Meant for classroom use only. Not to be redistributed.

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

61

Introduction

Ubiquitous computing: smart devices, environments and interaction

62

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ ubicom

Part A Outline
Basics Types of Autonomous System Autonomous Intelligent Systems Limitation of Autonomous Systems Self-* Properties of Intra-Action

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

64

Introduction
Term autonomous originates from the Greek terms autos meaning self and nomos meaning rule or law. Autonomy is considered to be a core property of UbiCom systems
enabling systems to operate independently without external intervention.

Autonomous systems operate at the opposite end of the spectrum to completely manual, interactive, HCI systems.
Ubiquitous computing: smart devices, environments and interaction

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

65

Automatic System
An automatic system is specific type of autonomous system designed to Act without human intervention Execute specific preset processes Work in deterministic & dynamic environments Incorporate simple models of environment behaviour Incorporate algorithms to control the environmenthttp://www.eecs.qmul.ac.uk/people/stefan/ Stefan Poslad, (closed-loop control systems).
Ubiquitous computing: smart devices, environments and interaction 66

Autonomous Systems
More general types of systems than automatic systems are needed. Why?

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

67

Autonomous Systems: Design


Major designs for general autonomous systems: Dynamically reusable and extensible components EDA and context-aware system Hybrid goal-based and environment model based IS systems Autonomic Systems
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 68

Autonomous Systems Design: Component-based


Autonomous systems can be designed to consist of dynamically reusable and extensible components
There are different types of component autonomy / cohesion Design autonomy Interface Autonomy Components use of SOA Component functions could be reprogrammable e.g., using mobile code

These types of systems tend to have a strong notion of ICT environment autonomy

69 but not of their physical environments and interaction & human environment autonomy. Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices,

Autonomous Systems Design: EDA, Context-Aware


These systems tend to focus on:
Physical world awareness and user awareness How the system decides how to adapt to such context changes & how they affect current, active, user goals

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

70

Autonomous Systems Design: IS


Autonomous systems can be designed to be hybrid goal-based and environment model based IS systems

Generally, focus of such systems is on supporting a notion of social autonomy or self-interested behaviour rather than on supporting ICT environment autonomy or physical environment autonomy.
Ubiquitous computing: smart devices, environments and interaction

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

71

Autonomous Intelligent Systems


Autonomy is a key property of an IS

An IS may have a physical embodiment or software embodiment which may be free to be executed in any part of a internetworked virtual computer.

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

72

Autonomous Types: Self Governance


There are two main kinds of autonomy:
self-governance independence.

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

73

Social / Organisational Autonomy


Often an IS will delegate actions to another one, making it dependent on actions of another IS But risk of failure for the delegated actions because of misunderstandings, disagreements and conflicts, error, unknown private utilities and self-interests may operate.
Ubiquitous computing: smart devices, environments and interaction 74

Autonomous versus Automatic


Automatic refers to a system being selfsteering

To be self-steering requires a system to sense its environment & act upon it based upon what it has sensed Autonomous are generally first automatic systems but which are extended so that they
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 75

Limitation of Autonomous Systems


Systems designed to be autonomous over parts of its life-cycle

Challenges in supporting full autonomy?

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

76

Self-* Properties of Intra-Action


Application processes are not influenced by external behaviour or control but are dependent on, or driven by, their internal behaviour Attempts to externally pertubate the system will be resisted and moderated in autonomous systems. Some system behaviour is decentralised and local, However, other system behaviour is
Ubiquitous computing: smart devices, environments and interaction

77

Self-Star Properties
Need to model complex systems whose components have some autonomy and propensity to maintain and improve their own operation in the face of external environment perturbations, e.g., Autonomic computing Organic Computing IS
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 78

Self-Star Properties
Self-star model focuses on doing things selfcontained or doing things internally

List of types of self-star system could be expanded


to incorporate self-referencing, self-interaction (intranets) etc.
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 79

Self-star Properties: Examples


Self-Configuring Self-Regulating Self-Optimising, Self-Tuning Self-Learning Self-Healing, Self-Recovery Self-Protecting Self-Aware Self-Inspection Self-Decision Self-Interested Self-Organising Self-Creating, SelfAssembly, Self-Replicating Self-Evolution, Emergence Self-Managing or selfgoverning Self-Describing SelfExplaining Self-representing
80

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

Context-Awareness versus SelfAwareness


Context-awareness is complementary to self-awareness. Context-awareness focuses on an awareness of a systems external environment (user, ICT, Physical ) context, periodically sensing this, automatically detecting significant change, and using this to adapt the internal systems behaviour to external environment behaviour. An associated design issue is what degree if
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 81

Self-Awareness
Basic design is that an ICT system does not process itself or is not aware of its own actions. Why not?

Is basic designs for Intelligent Systems inherently self-aware?

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

82

Self-Awareness: Applications
Optimising internal resource use

Robots, e.g., robot arms

Self-explaining systems
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 83

External Descriptions & Explanations


Common reasons why systems are less usable?
Intelligibility to user etc

Disadvantages to using an external operators manual?

How to support self-descriptions?


smart devices, 84 Using internal Ubiquitous computing: interaction resources (to the device) environments and Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Self-Describing & Self-Explaining Systems


A self-describing system is able to describe itself from the perspective of what A self-explaining system describes itself from the perspective of how and why. Self-descriptions & self-explanations can be supported at multi-levels
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Systems can also provide mechanisms and Ubiquitous their external for other metasmart devices, interfaces to outputcomputing: interaction 85 environments and

Self-Description: Limitations & Design Issues


Limitations?

Design issues?
How rich are descriptions? How structured are they? How full versus short? Internal versus external and on-line versus offline, Ubiquitous external not smart devices, Co-located versus computing: interaction co-located 86 environments and

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Reflection
Reflection is the process by which a system can observe its own structure and behaviour, reason about these and possibly modify these

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

87

Reflective System Architecture

To support reflection, reflective computation is done by a system at a meta-level about its own operation at the application or base level of the system Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Reflection
There are three elements to the reflection process: Instrumentation introspection adaptation

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

89

Reflection Design
Combined system reflection & operation representation

Separate system reflection & operation representation

Design issues?
Ubiquitous computing: smart devices, 90 HowPoslad, http://www.eecs.qmul.ac.uk/people/stefan/ to support environments and interaction meta-level & enable this Stefan

Reflection Design
Reflection as an extension to middleware model?

Reflective model is often applied as a design for context-aware systems. How?

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

91

Autonomic Computing
Motivation for autonomic systems was to deal with the obstacle of IT system complexity:
The growing complexity of the IT infrastructure threatens to undermine the very benefits information technology aims to provide (Horn, 2001).

Autonomic computing is one of the most well-known types of self-* system


Autonomic computing is also referred to as selfmanaging systems or self-governing systems.
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ Autonomic computing was inspired through
92 Ubiquitous computing: smart devices, environments and interaction

Types of Self-* Control Compared


Policies Local Global Local Global Policies Control Loop Local Local Local Local Policies Local Policies Local Policies Local

Local

Local

Policies Local

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Different definitions of key properties Keplar:


self-configuration self-optimisation self-healing self-protection.

Key Autonomic Computing Properties

Ganek
self-awareness context-aware adaptation planning to control computing: smart devices, constrained by behaviours Ubiquitous 94 environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ system policies.

Taxonomy for Basic Self-star Properties


General Classification for basic self-star properties of systems can be based upon?

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

95

Taxonomy for Basic Self-star Properties


Hence, agent designs oriented to these environments can form the basis of designs of autonomic systems Specific properties relate to the type of organisation:
Spatially dependent, Role-based, Group-based, Resource access control Self protecting. Ubiquitous computing: smart devices,

environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

96

Taxonomy for Basic Self-star Properties


Methods for coordination of autonomous systems are dependent on the type of organisation

Tuning servers individually (also called locally or on a microscopic scale) may be beneficial
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 97

Autonomic Computing Design

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Autonomic Computing: Architectural Models


Basic components:

a user interface (task manager) an autonomic manager with an autonomic control loop a knowledge base about the managed resources including management policies a standardised interface to access managed resources (TouchPoint) service-based communications network, the ESB Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ Stefan
Ubiquitous computing: smart devices, environments and interaction 99

Designs to Support Self-* System Components


SNMP and the MIB can be used to implement TouchPoint & part of knowledgebase Semantic and Syntactical metadata wrappers can be used to describe the structures of resources in richer ways. Sensors can poll resources or receive notifications about events in resources Designs for autonomic control loop can be Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 100

Designs for Self-* System

Different Levels of Support for Self-* Properties


Self-star systems can be designed to support different maturity levels of self-star properties: Basic Managed Predictive Adaptive Autonomic
Ubiquitous computing: smart devices, environments and interaction 102

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Autonomic Computing Applications


Channels allocation to meet peak demand for calls in different mobile phone cells

Load-balancing in servers to meet a designated QoS under variable external processor loads Intrusion detection:
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 103

Modelling & Managing Self-* Systems


How to model and mange systems which are dynamic decentralised and to an extent, non-deterministic? Unit testing and formal proofs? Statistical methods? Equation based computation methods ? Equation free computation methods ? Time series chaos theory analysis?
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 104

Modelling Self-* Systems


Modelling behaviour & interaction in simple life-forms forms an important contribution to improve models of complexity. Mathematical equations nay not capture many of natures most essential mechanisms. Modelling systems purely based upon physics interaction may lead to useful selforganising system models, models They must take into account higher level
Ubiquitous computing: smart devices, environments and interaction

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

105

Self-Organisation and Interaction


Self-Organisation is a set of dynamical processes whereby stable or transient structures or order appears at a higher or global level of a system from the interactions between the lower-level or local entities Self-organised behaviour can be characterised by key properties such as: Spatiotemporal structures Multiple equilibria Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 106

Emergent versus Self-Organising Systems


Emergent or process of macro behaviour emerging from micro or local behaviour is also called micro-macro effect. Self-organisation is an adaptable behaviour that autonomously acquires and maintains an increased order, statistical complexity, structure, etc. Emergence can have a micro-macro effect, but may not be self-organising, hence
System can have emergence without selfUbiquitous computing: smart devices, 107 environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ organising.

Self-Organising Systems: Interaction Mechanisms


Interaction mechanisms & organising and coordinating autonomic system components?
Digital Stigmergy Co-field coordination (or Gradient-based Coordination) Tag-based, Token-based

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

108

Digital Stigmergy: Design Principles


Proximity principle Quality principle Diverse response Stability principle Adaptability principle

UbiCom Applications
Network routing Power distribution & energy regulation system Ubiquitous computing: smart devices, 109 environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ etc

Co-field Coordination
Inspired by physics forces in nature
Also called Gradient-based Coordination and Wave Propagation coordination

Autonomous entities can spread out a computation field or co-field, throughout the local environment UbiCom Applications:
environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

to provide context information to other entities to follow the field. Ubiquitous computing: smart devices,
110

Tag based Coordination


Observable labels are attached to things. Can be used to make control decisions, to allow self-organisation of things according to tag types.

UbiCom Applications:
Resource allocation in networks to enable them to adapt to continuous node failure and to the addition of new nodes and devices, Ubiquitous computing: smart resources and 111

environments and interaction Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Token based Coordination


Token based coordination resource access control token can be circulated amongst resource users
Token based vs. Tag based coordination? Applications
to control access to shared things such as devices or people in social spaces, e.g., patient appointment system

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

112

IS Models as Self-Organising Systems


MAS: can support relatively fixed organisational models based upon quite complex agents and relatively complex cooperative and competitive interaction

But these often lack the flexibility to dynamically reorganise and to selforganise?
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 113

Self-Creation and SelfReplication


Self-organising models discussed so far focus on how existing peers and resources are optimised through self-organisation, not clear how Self-replication is considered to be a hallmark of living systems. Evolution of self-producing systems require strategies that lead to cumulative selection Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 114

Self-Replication: Computer Viruses


Computer virus is a well-known examples of artificial self-replicating mechanism.

Computer virus is also referred to as a selfreproducing or self-replicating program (SRP). Tends to be software virus rather than a hardware virus. Why? Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 115

Self-Replication: Computer Viruses


Virus is often introduced into host system & hidden

Virus contains a trigger that activates the self-replication mechanism Computer viruses versus Worms?
Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 116

Artificial Life
Are systems which mimic natural life and are characterised as follows. Have a finite lifetime from birth to death. Use selective reproduction. Their offspring inherit some of traits of the parents. They use survival of the fittest (evolution). They support the ability to expand in numbers to command a space or habitat. Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/ They can respond to stimuli in a habitat,
Ubiquitous computing: smart devices, environments and interaction 117

Artificial Life
Living organisms are consummate problem solvers

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

118

Finite State Automata (FSA) Models


There are different types of FSA:

FSM can be represented in several ways, mathematically:

FSMs can be used to model devices with a finite set of states such as off, on and standby. Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/
Ubiquitous computing: smart devices, environments and interaction 119

Finite State Automata Models

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

(Multi) Cellular Automata Models


Are models of self-reproducing organisms Can be designed in the form of a grid, where each cell is represented as an FSM Cell exists in 1 of 2 states dead or alive & which use basic transformation rules to transform a cell into dead or alive. E.g., rules of Conways Game of Life

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

121

Conways game of life

This example illustrates the principle that reactive type behaviours combined with a set of simple transformation rules, when repeatedly applied, can model more complex behaviours e.g., the gliding pattern

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Multi-Cellular Automata Models


Other more complex rules of life can also be formulated. Other examples of simple rules governing collective behaviour?
Rule model for flocks of animals

Multiple individual FSMs can also be interconnected to form device networks.

Stefan Poslad, http://www.eecs.qmul.ac.uk/people/stefan/

Ubiquitous computing: smart devices, environments and interaction

123

Pervasive Compu0ng End-Semester Summary-II

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

124

Interac0on Goals
About the ubiquitous compu0ng elements and the Pervasive Compu0ng paradigm Essen0al elements involved Some real life and experimental examples of pervasive compu0ng technologies in ac0on About the Pervasive Compu0ng research at BITS-Pilani The BITS Life-Guard Project The BITS Smart-Campus Project The Touch-Lives Ini0a0ve The Tiny6 Project Opportuni0es available for joint research collabora0on What the future
Tuesday 11 October 11

125

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

The Pervasive Compu0ng Paradigm

11/10/11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

126

Pervasive Computing: A Definition


Pervasive Computing is a computing technology that pervades the users environment by making use of seamless connectivity of multiple independent information devices embedded in the environment of the users.

It does so by:
Making use of multiple independent information devices (fixed or mobile, homogeneous or heterogeneous) Interconnecting these devices seamlessly through wireless or wired computer communication networks Providing a class of computing / sensory / communication services to a class of users, preferably transparently and can provide personalized services while ensuring a fair 12 127 7 (c) Dr. Rahul Banerjee, BITS-Pilani, India degree of privacy / non-intrusiveness.

The Paradigm Shii


Fundamentally speaking, it is NOT a totally new kind of compu0ng. However, it does represent a paradigm shii in design and deployment of a large class of compu0ng-and-communica0on elements for a specic set of well-dened objec0ves. It benets from the lowering costs and increasing capabili0es / capaci0es of compu0ng / communica0on elements as well as their easy availability. It is just a new perspec0ve to compu0ng that draws from a large number of innova0ons in the mul0ple areas of:
Compu0ng (hardware, soiware, services included), Communica0on (for interconnec0on of devices), miniature power-systems (for provisioning miniature mobile device- power), Instrumenta0on (sensory technology included), material science (for building various physical elements)etc.
(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

Tuesday 11 October 11

128

Pictorial Glimpses of the Pervasive Compu0ng Systems and their Reach

Current and Future trends


Pervasive Compu0ng involving Hybrid (Regular and Sensor Network-based) Internetworks for:
Natural disaster-specic warning purposes like:
Tsunami Warning, Forest Fire Warning, Volcanic Erup0on Warning, Flood-warning etc.

Large-scale monitoring and tracking purposes like:


Wildlife monitoring, Baggage / cargo monitoring, Intelligent Transporta0on Systems

Inter-planetary Networks Intelligent Transporta0on Systems Wearable and Vehicular Compu0ng Systems
Tuesday 11 October 11 (c) Dr. Rahul Banerjee, BITS-Pilani, INDIA 130

Elements of the Pervasive Compu0ng Systems


The pervasive compu0ng system needs at least three basic elements to be pervading everywhere they are required to pervade: Compu0ng elements to take care of computa0onal needs,

Sensory elements for collec0ng data, Communica0on elements to interconnect these compute-sensory elements.

What the Infrastructure must provide?


1 of 2

Pervasive Compu0ng Infrastructure has to comprise of compu0ng elements, communica0ng elements, sensors, actuators, and interface devices. Computa0on to be available widely and freely (not free of cost). Intermiaent connec0vity has to be a supported feature due to physical limita0ons pertaining to power, cost, bandwidth and network conges0on.

What the Infrastructure must provide?


2 of 2

The infrastructure has to oer seamless connec0vity to the devices / en00es / services. It has to support placement and loca0on of uniquely iden0able informa0on tags / trackable tags to all devices / en00es in the Pervasive Compu0ng environment. User s environment must be able to be aware of the user s context.

Some of the Involved Aspects


System Design Aspects:
Hardware Aspects Soiware Aspects Firmware Aspects Network Communica0on Aspects Power-Management & Energy Eciency Aspects Security Aspects

Actual Deployment Aspects


Aordability Aspects Usability Aspects: Privacy, Aesthe0cs, Physical Safety, HCI, Simplicity, Customizability

INSTAR Display System

135

Near-Future Scenarios

136

A Scent-emiyng Display System <2008 July, Tokyo>


An innova0ve display system developed recently by the NTT Communica0on Corpora0on had been installed at an underground Mall situated in the Tokyos train sta0on on an experimental basis in July 2008. It has
been removed on August 2, 2008 for further enhancement and later commercial-scale deployment.

IT emits appe0zing aromas along with the adver0sing videos being displayed on a 42-inch LCD Display panel. This commercial tex0ng was done by Recruit Co. Ltd for adver0sing cafes (c) Dr. Rahul Banerjee, BITS-Pilani, INDIA and restaurants.
Tuesday 11 October 11

137 137

Source: PERVASIVE 2006-7. May 2006 (c) Alois Ferscha


138

Source: PERVASIVE 2006-7. May 2006 (c) Alois Ferscha

139

Steerable Displays

Source: PERVASIVE 2006-7. May 2006 (c) Alois Ferscha


140

Source: PERVASIVE 2006-7. May 2006 (c) Alois Ferscha


141

142

Discussion Stop-1
So, what would you need to make a Building smart so that;
it recognizes people, iden0es their areas of their access and Facilitates authorized forms of collabora0on / sharing needs .. and so on?

Discussion Stop-2
What would you need to make an en0re campus smart so that;
it recognizes people and other forms of well-known large / common objects of interest, iden0es their areas of their presence Assists rst-0me visitors Facilitates authorized forms of collabora0on / sharing needs Enables emergency rescue / support for dierent situa0ons In0mates about paaerns of interest to registered users .. and so on?

Discussion Stop-3
What would you need to make an en0re Expressway smart so that;
it recognizes vehicles, drivers and other forms of well-known common objects / good of interest, iden0es their areas of their presence and allows prepayments or just-in-0me electronic payments without being asked to stop at toll booths and pay up, Assists the Expressway Patrol / any other authorized agency Facilitates authorized forms of collabora0on / sharing needs Enables emergency rescue / support for dierent situa0ons In0mates about paaerns of interest to registered users .. and so on?

So, Were There Any Security Problems that You No0ced?


Which security concerns / problems did you no0ce in the examples we discussed?
Can you enlist these security problems? Can these be broadly categorized into fewer classes of problems? Can you rate these as per their perceived signicance? Can you now priori0ze them?

Where did these problems originate? Which type of solu0ons / strategies are likely to handle these problems / issues related to them?

Glimpses of Pervasive Compu0ng Research being done at BITS-Pilani


1.Project BITS Life-Guard 2.Project Touch-Lives 3.Project i-Charak 4.Project NetFirst 5.Project Tiny6 6.Project Smart-Campus
Tuesday 11 October 11 (c) Dr. Rahul Banerjee, BITS-Pilani, INDIA 147

A Wearable Computer Architecture for Saving Human Lives

Brief History
The BITS-LifeGuard Project
Ini0ated in 1999 Aims at building transparent life-saving system for saving human lives from slow-reexes based road accidents First formal presenta0on was made at the European Commission s NGNi Mee0ng at Brussels in 2001 Par0al funding derived from the EC and MSR Currently, co-working on complementary research issues with Stanford University in USA and INRIA in France Project website: hap://discovery.bits-pilani.ac.in/WearComp/ Currently, three PhD and two First Degree students are working on dierent aspects of the problem
(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA 149

Tuesday 11 October 11

Principal Objec0ves
Objec0ves:
Saving human lives with the help of non-intrusive wearable compu0ng devices Using the advances in computer communica0on and networking technologies to complement the wearable device capabili0es Not requiring the wearer to be aware of the computer he / she is to wear Making the wearable computer one of the mul0ple elements within a pervasive compu0ng environment

A liale bit about the BITS-Lifeguard system


This research aims to protect human lives from those road accidents that result from the reduced levels of the physical tness or mental alertness of the driver. As of now, it is focusing on light vehicles and their drivers / occupants. However, the concept is easily extensible to large vehicles and their drivers / occupants as well. It also draws on the works done by life scien0sts on human sensory system, brain and select externally measurable parameters (that can be measured, calibrated or accurately es0mated without piercing human body).

Mo0va0on behind the BITS-Lifeguard system


More people die of road accidents than due to natural calami0es or other reasons Out of these road accidents, as per various reports,
About 8% accidents were due to mechanical problems / failures in the vehicle About 12% accidents were found to be due to trac viola0ons, wrong assessment of the situa0on-on-hand by the driver or ac0vi0es that tend to distract drivers (including changing casseaes / CDs / speaking on mobile etc.) Approximately, 73% of the accidents were aaributed to the possibili0es that the driver s physical and mental alertness levels may have been unt for driving at the 0me of accident Remaining 7% accidents were accounted to various reasons including those of suicidal aaempts / forced accidents etc.

The Vision behind the BITS-Lifeguard System (1 of 2)


The overall life-saving environment in which the BITS- Lifeguard is envisioned to work shall have two core components:
The wearable compu0ng component: The BITS-Lifeguard The vehicular compu0ng component Part-I:

The scenario of ac0on would include:


sensing of select cri0cal parameters that help es0mate the current level of alertness and physical ability to drive safely, comparing these with the pre-fed threshold levels and generate an alert to the driver; in case, driver fails to respond quickly enough, send and SoS signal to the vehicular computer wirelessly

These responsibili0es are handled by the wearable computer

The Vision behind the BITS-Lifeguard System (2of 2)


The scenario of ac0on would include:
Part-II
Taking over control from the driver, Safely aaemp0ng to move the vehicle as per the pre-fed GIS map and GPS data Stopping the vehicle on a side Sending informa0on wirelessly to the rescue / recovery agencies providing the loca0on details, vehicle s details and driver s details In0ma0ng to the pre-registered rela0ve / friend about the event and loca0on These steps are taken by the vehicle s computer

Elements of the BITS-Lifeguard Non- Invasive Wearable Compu0ng System


A wearable compu0ng system of this category needs at least ve basic elements: Non-Invasive Sensory elements to sense the wearer s environment, Compu0ng elements to take care of computa0onal needs; and, Communica0on elements to interconnect these compu0ng elements (with mobility) Body safe Power Supply / Genera0on elements to provide the necessary power to the wearable compu0ng system Fabric or placeholder elements to allow interconnected elements in place <could server other purposes also>

Iden0fying Challenges
It was required to iden0fy:
elements of relevance Factors inuencing the choices Roles of Hardware technologies (including CPU, Power system, Sensor and Communica0on) Roles of SoWware technologies (including System and Applica0on soiware)

Challenge was also to consider Trade-os between


func0onali0es, form factor, weight and cost of device elements

Research Issues (1 of 10)


Sensory Issues

Selec0on of parameters required to be sensed Iden0fying the inter-rela0onship of these parameters with one-another, if any, Comparison of these parameters usefulness to the target system from the viewpoint of their measurability, ease of measurement, es0ma0on or calibra0on Iden0ca0on of any conic0ng requirements of any two or more of these parameters due their measurement process that may interfere with each-other

Research Issues (2 of 10)


Sensory Issues

Iden0ca0on of best possible method of direct or indirect sensing the chosen parameters Evalua0ng the best candidate methods from the viewpoints of their being appropriate to be embedded into the wearable computer s fabric Iden0fying the best mechanism and loca0on to embed one or more of these sensory elements in the fabric Iden0fy the reliable interfacing mechanism to connect these elements with the appropriate part of the target system

Research Issues (3 of 10)


Processing Issues

Ascertaining the exact scope of real-0me processing Es0ma0ng average and peak processing power needed Iden0fying the level and mechanism of fault- tolerance required Evalua0ng the available processor families and short lis0ng the candidate choices Deciding about a safe and secure embedding mechanism, deciding the loca0on of placement of processors, integra0on of the chosen processors with the rest of the target system Planning power needs of the processing sub-system

Research Issues (4 of 10)


System Soiware Issues

Iden0fying the cri0cal and op0onal features needed to be supported by the Opera0ng System Evalua0ng available Opera0ng Systems on the chosen processors with respect to
real-0me support in the scheduling mechanism, power-management support, eciency of opera0on, memory requirements, availability of ready-to-use device drivers, security support, robustness (crash-resistance and recovery included), availability of source code for modica0on and customiza0on, applica0on development support available etc.

Research Issues (5 of 10)


Applica0on Soiware Issues

Iden0ca0on of techniques and tools that would allow:


ecient, veriable, self-correc0ng and 0me-sensi0ve applica0on level soiware design and development

Deciding about the cri0cal and op0onal modules, Formula0ng security (privacy included) strategies to be implemented at the applica0on level

Research Issues (6 of 10)


User-specic Issues

Choice of mechanism to be used for the User (Driver in this case) registra0on and authen0ca0on prior-to-use User-specic cri0cal data acquisi0on, sensor output calibra0on and verica0on prior-to-rst use as well periodically aierwards (say every two years or aier any major injury / prolonged treatment etc.) Deciding upon the minimal set of training (ideally none) on use of the wearable and precau0ons, if any Carefully evalua0ng the least irrita0ng but adequately eec0ve interface to the user for alerts (say audio only, audio and vibratory alert etc.)

Research Issues (7 of 10)


Communica0on Technology Issues

Iden0ca0on of the low-power, short-distance, low / medium-speed wireless communica0on mechanism (technology, protocol included) for the wearable compu0ng element Ensuring that the technology and mechanism work even if accidentally an object of common use or any body part may come between the wearable computer s transceiver and vehicle s transceiver Iden0ca0on of Higher-level Protocol Stack for local as well as global iden0ca0on of the wearable computer as well as that of the vehicle s computer Iden0ca0on of appropriate wireless mobile communica0on technology that could allow vehicle s computer to communicate with the external world in the event of the need

Research Issues (8 of 10)


Power-specic Issues

Iden0fying the methods and mechanisms to minimize the power requirements of the wearable computer system since providing power from vehicle s power system is both imprac0cal and unadvisable Ensuring that the chosen mechanism of reduced power requirement does not adversely aect the cri0cal aspects of opera0on of the wearable compu0ng system Iden0fying possible power-system elements that could supply required power to the iden0ed elements of the wearable computer for reasonably long hours before any recharging or replacement becomes necessary Assessing the robustness of the power-sub-system against likely failures / exposures / damages

Research Issues (9 of 10)


Security Issues

Iden0ca0on / development of low-overhead based ecient security mechanisms and protocols for providing: Data integrity check Failsafe User (driver) authen0ca0on Implementa0on of veriable privacy policy to protect privacy of the user from the unscrupulous oenders Protec0on against any over-the-network or EMI- based aaacks on the wearable or vehicular subsystems

Research Issues (10 of 10)


User-Safety Issues

Evolu0on of a veriable framework that could be used to ensure that the overall system in its en0rety or any individual sub-system / element of which does not pose any threat to the physical security or mental comfort level of the user Ensuring that a built-in self-test be executed on the wearable computer as well as on the vehicle s computer at appropriate intervals to ensure that the system con0nues to conform to the specied safety norms.

Current Status (1 of 2) Vehicular Compu0ng System


Vehicle s communica0on subsystem design is ready, ne tuning and verica0on are yet to be done Sensory parameters mostly iden0ed and analysed, some ne tuning is in process A few GPS soiware modules have been developed A minimal GIS interface is under planning Vehicle s environment is planned to be simulated over next one year Real prototype for the vehicle s compu0ng system is slated for 2011 with help from INRIA s AGV Group lead by Thiery Ernst.

Current Status (2 of 2) Wearable Compu0ng System


Architecture for the Sensory Sub-system is ready and several sensory simula0on tests are under way First phase of the Processing Subsystem Architecture has been completed, verica0on and prototyping is being planned Soiware decisions for the wearable compu0ng element have been made, ini0al choices have been frozen and a development environment is ready for use Comple0on of the embedded applica0on soiware for the wearable compu0ng system is slated for 2011 Security architecture is complete and is being evaluated

The Touch-Lives Initiative

A project that aims to benet a rela0vely less addressed cross- sec0ons of our society

11/10/11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

169

Some of the Problems Related to Connec=ng People with Dierent Kinds of Disabili0es
Types of disabili0es may be Temporary or Permanent Degrees of disabili0es may vary par0al or total Causes of disabili0es may vary Select types of disabili0es / impairments:
Visual Hearing Speech Cerebral

Pervasive Compu0ng for the Dierently- Abled: Problem & Issues

Some of the Issues Related to Connec=ng People with Dierent Kinds of Disabili0es
Social Issues Psychological Barriers: low self-esteem/condence/ Economic Issues Technology Issues

11/10/11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

170

Inner Strength & Technology: Together, they help people with Disabili0es
11/10/11 (c) Dr. Rahul Banerjee, BITSPilani, INDIA 171

Inner Strength & Technology


Inner Strength of an Individual and Technology together can In deed help!
Technology can in deed help but not alone! It does require ac0ve support of the intended user for op0mal results Even the best Technology solu0ons may fail if they cannot win the condence of the intended beneciary Technology transparency therefore helps a lot and that also means:
Plug-and-play / zero-user-level-congura0on / Automa0c discovery based device / system / environment is preferable Simple, preferably natural-orienta0on-based user interfaces help At 0mes, no explicit user interface is needed Context-awareness and adaptability (with or without embedded Machine Intelligence) may oien help but are not always needed
(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

11/10/11

172

How Can Connec0vity Make Such a Dierence to the Lives of Millions of People with Such Disabili0es?
11/10/11 (c) Dr. Rahul Banerjee, BITS-Pilani, INDIA 173

Dierences that connec0vity may make are many!


Geyng connected means:
Greater accessibility to the resources an individual with such physical / mental impairments may need No forced isola0on from the world around such dierently- abled people Gradual increase in the level of condence and self-esteem Beaer produc0vity, if involved in any kind of occupa0on Ability to share experiences with others and inspire many more to follow by example --- society too benets

11/10/11

(c) Dr. Rahul Banerjee, BITSPilani, INDIA

174

Have You Looked Inside the Ubiquitous Cell-phone You Have?


Compu0ng elements
Hardware
Processor, Memory etc. Baaery etc.

Soiware
OS Applica0ons Authen0ca0on-support

So, do you now recognize possible points of security interest in such a device?

Communica0on Elements Sensory Elements

The HP CoolTown Project


This was a project at the HP labs (Palo Alto) Aims to link the physical presence of people/ places/things in the real world to the logical presence of those people/places/things on the web Therefore, it shall allow you to simply click on any iconic representa0on of these people/ places/things in the world to connect to them or know about them, as applicable.

Types of Surface Compu0ng Technologies Input Technologies


Sensory technologies, image processing technologies, paaern recogni0on technologies & computer vision technologies

Output Technologies
display technologies (for dierent surface types)

Collabora0on Technologies
Single-user <-> Device interac0on-based collabora0on Mul0ple-user to user and/or user <-> Device interac0on- based collabora0on

MIT Project Oxygen


Vision: In the future, computa0on will be freely available everywhere, like baaeries and power sockets, or oxygen in the air we breathe. Goals: - pervasive: it must be everywhere, with every portal reaching into the same informa0on base. - embedded: it must live in our world, sensing and aec0ng it. - nomadic: its users and computa0ons must be free to move around according to their needs. - eternal: it must never shut down or reboot; components may come and go in response to demand, errors, and upgrades, but Oxygen as a whole must be non-stop and forever.

MITs Project Oxygen


Founda0on technologies of the Project Oxygen

What else is being done at BITS-Pilani?


Project Digital Smart Pen Project BITS-LifeGuard (with Mind Media BV) Project BITS-HeartGuard Project Smart Campus The BITS Digital Life In0a0ve The Tiny6 mul0-na0on ini0a0ve (with partners from France, Korea, China and India)

Tuesday 11 October 11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

180

Any ques0ons?

Thank you!

Home Page: http://www.bits-pilani.ac.in/~rahul/ Email: rahul@bits-pilani.ac.in / Rahul.Banerjee.CSE@Gmail.com

Tuesday 11 October 11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

181

Interac0ve Voice Response (IVR) & Voice XML (VXML)

1. 2.

3. Note: IPR of respec=ve material rests with the respec=ve sources whether or not explicitly listed herein. Meant for classroom use and post-lecture self-study purpose only. Not meant for re-distribu=on.

Sources: My own lecture slides of earlier presenta0ons W3C material from their site including the mul0ple standards and drai standards published by them and tutorial material authen0cated by them Mul0ple Industry resources which deal with using respec0ve products of relevance involving XML

Dr. Rahul Banerjee, BITS-Pilani, INDIA

What is IVR?
IVR -- Interac0ve Voice Response It deals with
Answering/managing voice mail Telephone banking Call handling at customer support lines . And some0mes, even, surng the Web

183

Roots of IVR
Interface restric0ons
Input: Voice and 15-key keypad (DTMF) Output: Audio informa0on and audio prompts

User restric0ons
All session needs to be in user s memory (nothing to look at ) Limited informa0on framing Many dialogs means hard to keep/reference/know context Same UI must handle experienced and novice (rst-0me) users
Need to account for learning during a session

Applica0on context
Oien used within telephony applica0ons, and so must be able to do call control (re-rou0ng + queuing of calls) Integrate with call centres Auto-forwarding of informa0on (e.g., to a call centre)
184

Provisioning of IVR
Many IVR technology providers Same basic approaches and ideas, but
Dierent soiware, Dierent APIs, development tools, architectures

No common framework for scrip0ng the dialog sessions that control the user interface
But always the same basic ideas and approaches

Known problems with historic approach


Portability (can t move applica0on elsewhere) Integrability (can t easily extend to new non-pure IVR apps; not easily integrable with Web)
185

IVR: Common Issues


Dual mode interfaces
First 0me through, user gets detailed instruc0ons or prompts Later on, the instruc0ons are sparser, more succinct

Barging in
Some0mes the user should be able to barge in on a dialog, and interrupt it and some0mes not!

Hierarchy of control layers


Escape mechanisms to jump from current dialog to root of session

Need to manage session, store session state, and pass data to other applica0ons
So an IVR session has some kind of logic/rules, variables for storing data, etc.
186

What is VoiceXML?
Voice XML is designed for crea0ng audio dialogs that feature synthesized speech, digi0zed audio, recogni0on of spoken and DTMF key input, recording of spoken input, telephony, and mixed-ini0a0ve conversa0ons. * Its major goal is to bring the advantages of web-based development and content delivery to interac0ve voice response applica0ons *

DTMF component designed for integra0on with exis0ng telephone systems XML abstrac6on layer on top of exis0ng IVR systems In principle, not restricted to phones
* VoiceXML 1.0 Specification -- http://www.w3.org/TR/voicexml
187

Motorola (1998)

History of VoiceXML
1999 VoiceXML forum (2000) W3C (2002 in draft)

VoxML
Bell/Lucent + others (1998)

PML
IBM (1998)

VoiceXML 1.0

VoiceXML 2.0

SpeechML

H.P. (1998)

TalkML

? (defunct)

188

Voice Applications
Voice

application works, via audio playback of information and a voice user interface. They are already thousands of commercial VoiceXML applications deployed, These applications perform huge variety of services,
Driving directions.

Emergency notification. Flight tracking. Voice access email.


Audio news magazine.

Voice dialing, and all the way up to massive national directory


assistance applications.
189

VoiceXML
The target presentation language for voice enabled applications is VoiceXML. A Widely-adopted public standard which is governed by the W3C Voice XML is the HTML of the voice web, the open standard markup language for voice applications VoiceXML is a derivative of the Extensible Markup Language (XML).
190

Speech Interface Framework


Semantic Interpretation SRGS
Speech Recognizer DTMF Tone Recognizer Prerecorded audio player Speech synthesizer Dialog Manager Telephone System

VXML
World Wide Web

user

SSML

CCXML

VoiceXML supports interactive dialogues to leverage the technologies that have made the Internet an effective medium for information dissemination. It enables an application interface in the form of dialogues that produce navigation and input via speech recognition. Thus, VoiceXML uses both speech-to-text (STT) and text-to-speech (TTS)>technologiesthe former, for inputs; the latter, for outputs. 191

VoiceXML Architecture
The basic architecture includes a Document server, VoiceXML gateway, and an Implementation platform.

VoiceXML architectural model.

192

VoiceXML, a specific kind of XML designed to describe voice applications. Whereas XML is designed to represent arbitrary data. VoiceXML describes grammars, prompts, event handlers, and other data structures useful in describing voice interaction between a human and a computer.

Application Structure:
A VoiceXML applica0on consists of a set of VoiceXML documents. and each VoiceXML document contains one or more dialogs describing a specic interac0on with the user.

193

Basic elements of VXML


<vxml> represents the root document element of a VoiceXML document. <form> contains a series of field items to be filled through interaction with the user. <menu> presents a list of choices to the user and transitions to the chosen information. <block> specifies a block of directives that are executed in document source order. <exit> terminates the running application. <audio> plays an audio file or converts text to speech within a prompt. <goto> Jumps to the specified URI.
194

<field> formulates an interactive dialog between the user and the system. <grammer> specifies a permissible vocabulary for user interaction. <prompt> queues recorded audio and synthesized text to speech in an interactive dialog. <filled> specifies an action to perform when the VoiceXML interpreter assigns a value to the named variable of a field. <nomatch> handles user input that is not recognized as part of the active grammer(s). <noinput> executes when the user does not speak within the active field. <reprompt> Indicates that the Platform should select and queue the appropriate prompt element before entering a listen state in an interactive dialog.
195

Scope for VoiceXML 1.0


Output of synthesized speech (text-to-speech) Playback of audio les Crea0on of audio les (recording and le crea0on) Recogni0on of spoken input (voice recogni0on) Recogni0on of DTMF (touch-tone dialing) input Telephony features such as call transfer and disconnect Logical mechanisms for driving and controlling a dialog session
Support and implementation of features is often contingent on third-party hardware and software.

196

Model for VoiceXML Applica0ons


Base-level management of interac0on between a person and a backend system of some sort. Here is the opera0onal model:

ImplementationVoiceXML server (phone hardware)


Incoming Request

Documents / data resources

User
Outgoing hardware Response UI control CGIs servlets application code resource files

197

Prac0cal VoiceXML Implementa0ons


Commercial systems usually bundle the rst two parts together: VoiceXML solution Application Resources
Incoming Request

User
Outgoing Response

Computer (Sun, Intel) running UNIX/linux/NT/XP equipped with phone cards (Dialogic, etc.)
198

VoiceXML System: Component Technologies


PBX Telecom boards VoiceXML server Software utilities

Speech synthesis (TTS) Speech recognition (STT) Speech grammars Voice Biometrics

Call centre

VoiceXML servers serve as integrator of various hardware and software


CT Integration

199

Technical Integra0on issues


Standardized APIs for driving hardware, accessing soiware: Telephony APIs (telecom boards + drivers)
TAPI (Microsoi) JTAPI (Java) TSAPI (Novell)

Speech APIs (to various pieces of speech sogware)


SAPI (Microsoi) [ ASAPI (AT&T) extensions ] Java Speech API (Java) Lots of proprietary stu for specic speech components

Computer-Telephony CCT APIs


No common API standard (usually has a RPC component)
200

VoiceXML Integrators
Many, many companies
Some sell integrated solu0ons kits Some are voice ASPs (provide leased hos0ng solu0ons)

However, several provide developer sites where you can


Develop and test VoiceXML applica0ons But, you need your own Web site for hos0ng the VoiceXML (and other) les

Two companies that provide developer sites and phone lines:


Tellme.com VoiceGenie (Toronto)
201

hap://studio.tellme.com hap://developer.voicegenie.com

VoiceXML 1.0 Components:


Covers various UI components, such as:
Forms (lists user can select from) and associated variables: includes menus Links (that link to other VoiceXML documents) controlled by logic Playing audio prompts Produce text-to-speech prompts/dialogs (if supported)

Covers control and logic mechanisms, including


Event handlers (including catching and throwing excep0ons) Variables Resource fetching (e.g., access an audio le to play as a prompt) Control grammars, including
DTMF (touch-tone driven - built into VoiceXML) Voice driven (using external standards for grammars)

202

Loca0on of Resource Files


Files are not typically on the VoiceXML server, but are located remotely:
VoiceXML server User
VoiceXML processor Referenced via URLs

Documents / resources Web server


CGIs, servlets application code / resource files (e.g. session.vxml, gram.jsgf) data resources files (e.g.: voice.au, sound.aiff)

HTTP

203

Management of Resource Files


Since VoiceXML les are referenced by URI, and oien located remotely, you need op6miza6on at the VoiceXML server:
Resource caching (store local copies) Model for cache coherency (how oien to check for changes) Pre-fetch hin0ng (when can this be done) Timeout handling (if you can t retrieve the resource)

When VoiceXML references a URI, the language provides aaributes that dene the cache model to use:
caching= safe or fast ( safe always goes for new version) fetchtimeout= secs (how long to wait before throwing error) fetchhint= prefetch or safe (safe only gets stu when needed)

204

<?xml version="1.0"?> <vxml version="1.0" application="app-root.vxml"> <form id="say_goodbye"> <field name="answer" type="boolean"> <prompt>Shall we say <value expr="application.bye"/>? </prompt> <filled> <if cond="answer"> <exit/> </if> <clear namelist="answer"/> </filled> app-root.vxml </field> <?xml version="1.0"?> </form> <vxml version="1.0"> </vxml> <var name="bye" expr="'Ciao'"/> <link next="operator_xfer.vxml"> <grammar> operator </grammar> </link> </vxml>
From: VoiceXML 1.0 Specification -- http://www.w3.org/TR/voicexml
205

main.vxml

VoiceXML Example

Processing Model: The Example app-root.vxml


app-root.vxml root root

main.vx ml

main.vx ml
load root

main.vx ml
load new resource

operator_x fer.vxml

bootstrap Run dialog in main from main.vxml using root grammar


206

transfer transfer context to new dialog

<vxml version="1.0" application="app-root.vxml"> <form id="say_goodbye"> Default <field name="answer" type="boolean"> system <prompt>Shall we say <value expr="application.bye"/> prompt ? </prompt> <filled> <if cond="answer"> <exit/> S: Shall we say Ciao? </if> U: Boobie <clear namelist="answer"/> </filled> S: I did not understand that </field> U: Bleeble </form>

main.vxml

VoiceXML Examples

app-root.vxml
<var name="bye" expr="'Ciao'"/> <link next="operator_xfer.vxml"> <grammar> operator </grammar> </link>

S: I did not understand that U: Operator S: [Transfer to operator_xfer.vxml]

207

Example: Including recorded audio


Can do so whenever you have a prompt. Some examples: <prompt> Welcome to Birdland. <audio src= http://www.xxx.org/birdland.wav > We have every record by Charlie Parker </prompt>
Synthesized voice with audio le in the middle

<prompt> <audio src= http://audio.files.com/yeah.au ></prompt>


No text - just an audio le.

<prompt> <audio src= >Text alternative to audio</audio> </prompt>


Synthesized text used if audio le unavailable

208

Recording Audio
Can be done, but is stored locally in a variable. Can t permanently store data on the VoiceXML server -- it must be moved over to the applica0on/resources server.
Typically use HTTP methods to do this.

<record> element lets you specify this, and, also indicate



209

Prompt and error response variable name for storing it dead air 0me to indicate end of recording DTMF indicator for end of message How long the message can be Audio format for the data

Recording Audio
<?xml version="1.0"?> <vxml version="1.0"> <form> <record name="greeting" beep="true" maxtime="10s" finalsilence="4000ms" dtmfterm="true" type="audio/wav"> <prompt> At the tone, please say your greeting. </prompt> <noinput> I heard nothing ... </noinput> </record> <field name="confirm" type="boolean"> <prompt> Your greeting is <value expr="greeting"/>. </prompt> <prompt> To keep it, say yes. To discard it, say no. </prompt> <filled> <if cond="confirm"> <submit next="save_greeting.pl" method="post" namelist="greeting"/> </if> <clear/> </filled> </field></form> </vxml>
210

VoiceXML 2.0
Is basically a cleanup of VoiceXML 1.0
Beaer consistency with XML architecture, including deni0on of a VoiceXML namespace URI ( hap://www.w3.org/2001/vxml ) Support for error logging, some changes to syntax, and some deprecated elements and aaributes mandated support for a W3C sponsored speech grammar format clarica0on of meaning, cleanup of caching control models

Basically the same language, with a few minor tweaks and improvements

211

JSML - JSpeech Markup Language


Developed by Sun and SpeechWorks, as a markup language for text-to- speech dialogs. Based on the Java Speech API Markup Language hap://java.sun.com/products/java-media/speech/ Text annota0on to provide hints to speech synthesizers
Aimed at making TTS speech more natural, more understandable

Feature set:
hints to word pronuncia0on hints to phrasing, emphasis, pitch and speaking rate marker elements -- no0ca0ons from the speech synthesizer to applica0ons when marker is reached.
212

JSML - JSpeech Grammar Format


Developed by Sun and SpeechWorks, as a syntax for expressing speech grammars Based on the Java Speech Grammar API Grammar Format hap://java.sun.com/products/java-media/ speech/

213

Sun/SpeechWorks (1999)

Future of the Voice web and VoiceXML JSML


W3C

VoiceXML 3?

[????] [WD]

JSGML, gram. langs


VoiceXML forum (2000) W3C (2002)

Speech synthesis (SSML)

Speech reco. grammar [WD] Speech semantics NLP [prelim] [prelim]

VoiceXML 1.0

VoiceXML 2.0

Pronunciation lexicon [early] Call control Voice Browser interoperation


Microsoft-led (2002)

[early] [early]

SALT
Speech Application Language Tags
214

Mul0ple Future XML Standards


Future standards will be targeted at the various dierent issues associated with Voice interfaces (of which IVR is a subset)
Speech synthesis hints to appropriate spoken nature of text. Overlaps with audio Cascading Style Sheets, to some degree call control control and management of call transfers, holding, Abstrac0on on top of PBX controllers. Voice browser interopera6on Passing of data and applica0on context between dierent voice (or other) applica0ons VoiceXML 3? A specic voice-driven session management language, which will embrace these other languages as components.
215

Microsoi s SALT
Speech Applica0on Language Tags
Microsoi, Cisco, Intel, Comverse, SpeechWorks, Philips

A lightweight set of tags designed to be used with HTML and XHTML to enable lightweight telephony applica0ons driven from regular Web documents. Targeted at suppor0ng mul6modal access

216

Call control CTI

Short Glossary
PSTN SLU STT SV
Public Switched Telephone Network Spoken Language Understanding Speech to Text (simple recogni0on) Speaker Verica0on (biometric iden0ca0on) Text to Speech (synthesis)

managing connec0vity and rou0ng of phone calls Computer Telephony Integra0on Dual Tone Mul0 Frequency Interac0ve Voice Response Java API speech grammar format -- A proposed standard for represen0ng speech grammars Java Speech Markup Language Natural Language Understanding Private Branch Exchange

DTMF IVR

JSGF

TTS

JSML NLU PBX

217

That s all for the day!


Any Ques0ons? Thank you!

Of AJAX and RIA


Of AJAX and RIA

RIA Approaches
Browser plug-in
Flash/Flex, Java Swing, Silverlight Poten0ally greater interac0vity, higher barrier to adop0on Concerns about openness/control

In browser, no plug-ins
AJAX Lower barrier to adop0on Cross-browser mayhem?

What is AJAX?

What is AJAX?

AJAX event handling

Some History

History: Hill Climbing

RIA: Which hill to climb?

Approaching RIAs from two hills


HTTP Origins in early web sites Built around the HTTP protocol Generating HTML Direct Manipulation Origins in desktop GUIs Built around user events Laying out graphical objects

The HTTP Hill

The HTTP Hill


Static Pages Server fetches and returns a web page Initially just text-based With Mosaic, pictures too

The HTTP Hill


Dynamic Pages Server-side
CGI (mostly perl)

Client-side
Javascript

The HTTP Hill


Frameworks MVC support (Struts 1 & 2, Rails, Django) Easier HTML generation (JSP, ERB, Freemarker, ) State/sessions Javascript libraries (Prototype, DOJO, jQuery)

The HTTP Hill

Pros/Cons (prior to AJAX)

+ Very cheap for simple sites + Reasonably flexible


Mail clients!

+ Web-friendly
Bookmarkable Indexable

- Slow feedback - Minimal interactivity - Cross-browser mayhem

The Direct Manipula0on Hill

The Direct Manipulation Hill

The Direct Manipulation Hill


GUI Toolkits Common widget set across applications Standalone or clientserver

The Direct Manipulation Hill for Internet applications


Browser Plug-Ins Flash, Java, Silverlight Took a long time to catch on

The Direct Manipulation Hill


Pros/Cons + Timely feedback + Programming power (behaviors, constraints at least possible) + Common widgets (consistency, usability) + Flash/etc: more consistent runtime platform - Flash/etc: needs a plug-in

Where does AJAX t in?

Where does AJAX t in?

Both hills!

AJAX on the HTTP Hill


Tac0cal features
Autocomplete Drag and drop

AJAX-aware code
Raw Javascript/HTML/CSS Or with a library

Okay for some applica0ons Too limi0ng for RIAs

Direct Manipulation AJAX

AJAX on the Direct Manipula0on Hill


Separate development environment from run0me environment. Run0me environment: HTML/Javascript/CSS (AJAX) Development environment: toolkit in another language Two approaches: thin and fat

Thin Client AJAX Approach

Example: Google Maps (pretend it s a thin client app)

A Grid of Images

Example: Google Maps

Sequence

Thin Client Pros and Cons


+Simple programming: ignore the network
+All your code runs server-side +Programmers love it!

+Undo, behaviors, constraints: all possible! - Scalability (server-side state, lots of requests) - Slow feedback: network hop for each user ac0on

Fat Client AJAX Approach

Example: Google Maps

Sequence

Wait a second
No AJAX calls involved in moving the map around!
Mostly Javascript. New image requests are synchronous

Example AJAX call: adding an intermediate des0na0on

Fat Client Pros and Cons


+Scalable (client-side state, fewer HTTP calls) +Fast feedback +Undo, behaviors, constraints possible - but undo more complex than on the desktop - More complicated: network-aware, distributed

Example AJAX Toolkits


Google Web Toolkit: Fat Client
Write in Java, compiled to Javascript

Cappuccino: Fat Client Echo2: Thin Client


Write in Java No HTML/CSS (proprietary stylesheet language)

Echo3 (Java Beta): hybrid


Thin widgets in Java Fat widgets in Javascript

So, is AJAX viable for RIAs?


Fat AJAX Feedback Speed Winner (tied) Interactive Potential Scalability Cross-platform Consistency Momentum Google does a lot of work for you. ? Winner (tied) Thin AJAX Plugin (Flash, Swing) Winner (tied) Winner Winner (tied) Winner Adobe does a lot of work for you.

Thin vs Fat AJAX?


Thin AJAX: Squeezed out
Insucient if interac0vity maaers Not as easy as an HTTP-oriented applica0on

Fat AJAX: How does it compare to plug ins?


Developer adop0on? Applica0on philosophy?

Some Toolkits

GWT: A Toolkit
Laying out widgets in a container panel Events and handlers
// Create a Horizontal Panel HorizontalPanel hPanel = new HorizontalPanel(); // Leave some room between the widgets hPanel.setSpacing(5); // Add some content to the panel for (int i = 1; i < 5; i++) { hPanel.add(new Button("Button " + i)); }

http://code.google.com/webtoolkit/doc/1.6/ DevGuideUserInterface.html

with non-strict abstrac0ons


Styling with CSS Directly embed Javascript Raw HTML Direct DOM manipula0on
private native void putElementLinkIDsInList(Element elt, ArrayList list) /*-{ var links = elt.getElementsByTagName("a"); for (var i = 0; i < links.length; i++ ) { var link = links.item(i); link.id = ("uid-a-" + i); list.@java.util.ArrayList::add(Ljava/ lang/Object;) (link.id); } }-*/;

http://code.google.com/webtoolkit/doc/1.6/ DevGuideUserInterface.html

Cappuccino: A dierent philosophy


When you program in Cappuccino, you don't need to concern yourself with the complexities of traditional web technologies like HTML, CSS, or even the DOM. The unpleasantries of building http://cappuccino.org/learn/ complex cross browser applications are abstracted away for you.

Javascript as assembly language

http://280slides.com

Cappuccino vs GWT
Philosophical ques0on GWT: RIAs that are part of of the web Cappuccino: RIAs deployed over the web
Alterna0ve to Flash/Flex

Finally

Recommenda0ons
If you re serious about RIAs, climb the direct manipula0on hill. Don t limit yourself to Thin AJAX. AJAX sweet spot: Applica0ons that are part of the web. AJAX is an implementa0on alterna0ve for applica0ons deployed over the web.

References 1
adaptive path ajax: a new approach to web applications. (n.d.). . Retrieved April 8, 2009, from http://www.adaptivepath.com/ideas/essays/archives/ 000385.php. Adobe wants to be the Microsoft of the Web at Ted Leung on the Air. (n.d.). . Retrieved April 8, 2009, from http://www.sauria.com/blog/2007/03/01/adobe-wants-to-bethe-microsoft-of-the-web/. Cappuccino Web Framework - Build Desktop Class Applications in Objective-J and JavaScript. (n.d.). .

References 2
Dare Obasanjo aka Carnage4Life - What Comes After AJAX? (n.d.). . Retrieved April 8, 2009, from http://www.25hoursaday.com/weblog/PermaLink.aspx? guid=11c471d6-ea65-4ed2-b387-c9ec966d8418. Developer's Guide - Google Web Toolkit - Google Code. (n.d.). . Retrieved April 9, 2009, from http://code.google.com/webtoolkit/doc/1.6/DevGuide.html. Echo2 Technical Overview | Echo Web Framework. (n.d.). . Retrieved April 8, 2009, from http://echo.nextapp.com/site/echo2/doc/tov.

References 3
Echo2 versus GWT The Register. (n.d.). . Retrieved April 9, 2009, from http://www.theregister.co.uk/2006/08/24/echo2_framework/. Feigin, B. (n.d.). Cappuccino and Objective-J. Retrieved from http://www.cs.cmu.edu/~bam/uicourse/830spring09/ Benjamin%20Feigin%20-%20Cappuccino.pptx. Following up on The Microsoft of the Web at Ted Leung on the Air. (n.d.). . Retrieved April 8, 2009, from http://www.sauria.com/blog/2007/03/04/following-up-on-the-

References 4
Mesbah, A., & van Deursen, A. (2006). An Architectural Style for Ajax. cs/0608111. Retrieved April 8, 2009, from http://arxiv.org/abs/cs/0608111.Tony C Shan, & Winnie W Hua. (2006). Taxonomy of Java Web Application Frameworks. In eBusiness Engineering, 2006. ICEBE '06. IEEE International Conference on (pp. 378-385). doi: 10.1109/ICEBE.2006.98.

Any Ques0ons?
Thank you!

Tuesday 11 October 11

(c) Dr. Rahul Banerjee, BITS-Pilani, INDIA

271

Potrebbero piacerti anche