Software Engineering for Mobility
Gruia-Catalin Roman, Gian Pietro Picco, Amy L. Murphy
(plus other miscellaneous thoughts and observations)
"The future lies in designing and selling computers that people don't realize are computers at all“
Adam Osborne
Major trends in Computing
Evolution of Computing
Personal Computing - PC
Distributed Computing - LAN, WAN, Grid
Web Computing - WWW
Mobile Computing - PDAs, Cell Phones, SmartPhones
Pervasive Computing - !!!
Mobile Computing Characteristics
No fixed network structure
Nodes may come and go
Processes may move among nodes
Programs may evolve and change structure
Constants are now Variables
Location
Environment
Connectivity
Bandwidth
I/O devices
Security Domain
DREAM Environment
Temporary (?) loss of network connectivity
Ad-hoc Resource Discovery
Scarce Resources
Low Battery Power
Slow CPU Speed
Small amount of Memory
Frequent and unannounced changes in the environment
Embedded Systems & Mobility
• Embedded systems have limited
resources:
– Transfer computation to other systems
– Access resources not on host machine
• May be mobile by nature
– Cell phones
– PDAs
– Wearables (“geek chic”)
From Models to Systems
From Models to Systems
From Models to Systems
System Deployment
• Architecture in context
• A system’s deployment architecture is a
mapping of its components onto a set of
hardware hosts in a manner that
preserves their connectivity as expressed
in the software architectural model.
• This concept begs several questions
1. How do we get from
1. How do we get from
and
1. How do we get from
to
and
1. How do we get from
to
and
to
?
2. How do we know
2. How do we know
2. How do we know
is “better” than ?
3. What do we do
3. What do we do
3. What do we do
X
X
if one or more components go down?
3. What do we do
X
X
if one or more hosts go down?
3. What do we do
X
X
if one or more network links go down?
3. What do we do
if a resource is overloaded?
Some DREAMy Devices
What is mobility?
Physical Logical
• Movement of hosts • Movement of code &
in physical space: state among hosts.
room, building, • Location in network.
country, world,
galaxy.
• Location in physical
world.
Challenge:
Incorporate both notions of mobility into one framework.
Requirements for Mobility
Dynamic Reconfiguration
Adaptivity
Asynchronous Interaction
Context-Awareness
Lightweight Middleware
Critical Dimensions
Space
Physical Mobility
Logical Mobility
Coordination
Resource Discovery
(Extent of) Knowledge about a Resource
Synchronization
Exchange of Information/Data/Code
Software Engineering Issues
Models
Unit of mobility
Location
Context
Coordination Mechanism
Algorithms
Manage location information of self and others
Spatial knowledge
Mobile component interaction and communication
Connectivity
Power Efficiency
Systems Research Issues
Applications
E.g., styles of interaction
Nomadic
Ad-hoc
Presence (“find me”)
Middleware
Logical Mobility is a design tool
Physical Mobility is a requirement
Styles of Interaction
Nomadic interaction
Ad-hoc interaction
Presence (“Find me”) interaction
Middleware for Mobile Computing
Transparency or Awareness?
Replication
Context
Location
Replication
How to Replicate?
When to Replicate?
How much to Replicate?
Context
Conflict Management
Commit Protocol
Knowledge about Environment
Location
Where?
When?
Whom?
Mobile Middleware Technologies
Reflective
-- OpenCorba, Open-ORB, DynamicTAO, XMIDDLE
Tuple Space
-- LIME, TSpaces, JavaSpaces
Context-Aware
-- Nexus
Event-Based
-- Hermes
Overview
Some Viewpoints - 1
By 2005, the typical cell phone will be indistinguishable from a PDA, and at least one U.S.
carrier will support both 802.11 and 2.5G or 3G on the same devices.
As an unexpected consequence of this dual-band support, we'll see some instances of bottom-
up networks, where devices connect directly with each other on a peer-to-peer basis. This
will be a viable alternative to the current monopoly of carriers' antennas.
-- John Jordan, principal, office of the chief technologist, Cap Gemini Ernst & Young U.S. LLC,
Cambridge, Mass.
"Can I get it with side-by-side doors, an ice dispenser and a GSM connection in harvest gold?"
There's always been a lot of talk about networking home appliances, but little action due to the
difficulties of pulling wire or making networking run over power lines. But inexpensive
networking running over public cellular networks will finally make possible next-generation
applications, like a refrigerator that hosts a Web site listing what groceries a family needs
and accepts bids from the local stores that want their business.
And, of course, a screen on a refrigerator represents an amazing advertising opportunity for
Duncan Hines, Kraft and every other food company. Retailer Fry's Electronics already has
a refrigerator with an RJ45 jack installed. Cellular is just around the corner.
-- Sheldon Laube, chairman, CenterBeam Inc., Santa Clara, Calif.
Some Viewpoints - 2
As more and more nonvocal transactions are performed on our mobile phones,
these devices will become the holder of our identities within the next five years.
Much like the role of a driver's license, our mobile communications device will
serve to authenticate individuals and securely contain credentials and
certificates. Biometrics, embedded appropriately, would thwart identity theft. --
Peter Athanas, associate professor, Department of Electrical and Computer
Engineering, Virginia Polytechnic Institute and State University, Blacksburg, Va.
Within the next five years, all front-end user interfaces for computing will be
wireless. -- Sumit Deshpande and Don LeClair, technology strategists, Computer
Associates International Inc., Islandia, N.Y.
By 2005, mobile access to information will seem as natural as remote control of a
TV. In fact, we'll wonder why we spent so much time at a desk. -- Jacob
Christfort, chief technology officer for the Mobile Products and Services Division,
Oracle Corp.
Virus!!!
[June 23, 2004]
Mobile Computing Security Through Obscurity
Last week, Kaspersky Labs announced the discovery of the first virus
to infect mobile phones. The virus, which Kaspersky named Cabir,
affects mobile phones that use the Symbian OS. The virus is
relatively harmless--its only purpose is to propagate itself, and it
does so only to other phones that have Bluetooth enabled and are
broadcasting their presence. However, Denis Zenkin, head of
Corporate Communications at Kaspersky Labs, said that sooner or
later, more malicious forms of mobile phone malware that will
possibly destroy or steal data will begin to spread.
http://www.windowsitpro.com/Article/ArticleID/43071/43071.html
Virus!!!
BRADOR TROJAN (WINDOWS CE)
MOSQUIT TROJAN (SYMBIAN)
NETSEC Security Brief October 2004 titled “Mobile Computing Security Threats”
Unavoidable Issues
Security
Trust
Privacy