A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert...
-
Upload
lauren-fletcher -
Category
Documents
-
view
217 -
download
1
Transcript of A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert...
A File System for System Programming in Ubiquitous Computing
Christian Decker, Michael Beigl, Albert KrohnTecO, University of KarlsruheInstitut for TelematicsTelecooperation Office (TecO)www.teco.edu
TecO File System for System Programming in Ubicomp, ARCS 2005 2
Outline
Ubiquitous Computing and Devices
Development on Ubicomp Devices
File System Approach
Applications
Related Work
Conclusion
TecO File System for System Programming in Ubicomp, ARCS 2005 3
Ubiquitous Computing - Ubicomp
… building aware environments
Other areas Safety applications Military applications
AwareHome (GATech)
AwareOffice (TecO)
TecO File System for System Programming in Ubicomp, ARCS 2005 4
Embedded Sensor Devices in Ubicomp
Limited computing power, 8-bit microcontroller Few kilobytes … 512 kilobytes of Flash memory Customized radio protocols Battery powered Extensible by various sensors
Motes Particles Telos
TecO File System for System Programming in Ubicomp, ARCS 2005 5
Ubicomp Development – State-of-the-ArtManage a variety of resources, esp. sensors
Lightweight OS (e.g. TinyOS) OS shields resources, e.g. sensors No direct access Communication through events -> event dispatching
Library based access models Abstract access functions Direct access, virtually no overhead
But… shielding/abstraction causes still confusion
TecO File System for System Programming in Ubicomp, ARCS 2005 6
Ubicomp Development – Case Study Study comprising of various students, practical courses and
projects
Findings Experience lack
Huge number of various sensor interfaces Developers are stuck to the well-known
Application complexity Developer focus on distributed application logic Rich sensor interfaces, poorly used
Interface breach Sensor interfaces similar, only slight difference Hard to realize -> debugging
TecO File System for System Programming in Ubicomp, ARCS 2005 7
File System Approach
Design principles Developer in the center Support developer to
follow the simplest way Easy-to-understand
interfaces -> generic
Support in two ways Uniform representation of
all resources Uniform access model
Direct Resources Mediated Resources
Application
HardwareS
enso
rs
Mem
ory
Co
mm
-un
icat
ion
Aud
ioV
olum
e
Bat
tery
Sta
tus
Sho
ckD
etec
tion
NameSpace
File SystemOperations
TypeSystem
...
Act
uato
rs
Mem
ory
Mic
roph
one
LED
s
Rad
ioF
ront
end
File System
TecO File System for System Programming in Ubicomp, ARCS 2005 8
Resources
Direct Resources Mediated Resources
Application
Hardware
Sen
sors
Mem
ory
Co
mm
-un
icat
ion
Aud
ioV
olum
e
Bat
tery
Sta
tus
Sho
ckD
etec
tion
NameSpace
File SystemOperations
TypeSystem
...A
ctua
tors
Mem
ory
Mic
roph
one
LED
s
Rad
ioF
ront
end
File System
TecO File System for System Programming in Ubicomp, ARCS 2005 9
Resources cont.
Direct Resources Mediated Resources
Application
Hardware
Sen
sors
Mem
ory
Co
mm
-un
icat
ion
Aud
ioV
olum
e
Bat
tery
Sta
tus
Sho
ckD
etec
tion
NameSpace
File SystemOperations
TypeSystem
...A
ctua
tors
Mem
ory
Mic
roph
one
LED
s
Rad
ioF
ront
end
File System
TecO File System for System Programming in Ubicomp, ARCS 2005 10
Name Space
File = entity identifying a resource Directory = special file identifying collections of files
Uniform, hierarchical namespace /dev/- direct resources, e.g. sensors, memory, power
supply, communication interface /context/ - mediated resources, access direct
resources, application functions, algorithms /usr/ - data files
TecO File System for System Programming in Ubicomp, ARCS 2005 11
Access Model
Fundamental operations read(..) and write(..) – data transfer operations Resources are coupled with specific r/w methods
Example: read(1, buf, 1)
Additional operations open(..) mount(..)/umount(..) getType(..)Type System Type of resource, developer decides Compatibility in resource combinations
Resource identifier
Resource name Type Read Write
1 /dev/voltage 3 pFunc pFunc
...
VoltageSensorGet(int &v)
{
...
}
NOP()
{
;
}
TecO File System for System Programming in Ubicomp, ARCS 2005 12
Particle File System
File system for Particle platform(Ubicomp device, sensor network)
18f6720 PIC microcontroller 128KB FlashROM, 4KB RAM,
512KB external Flash
Resources Memory – 512KB Flash Power supply – AAA battery Wireless communication Sensors – acceleration, light, force, temperature, audio,
ball switch Actuators – LEDs, speaker
TecO File System for System Programming in Ubicomp, ARCS 2005 13
Application: Telnet
Telnet Proxy
CommandParser
ParticleCommunication
Module
Bridge
UDP Network
Telnet Client
......
WirelessNetwork
Telnet Server
RF Frontend ExternalFlash
/dev/comm /dev/eMem
/usr/file1
CommandParser
WirelessNetwork
Mediated Resources
/context/telnet/less
lessfile1MemoryDriver
CommunicationStack
DirectResources
ParticleFS
Hardware
CommandInterpreter
PC
Particle
“/context/telnet/less /usr/file1“
TecO File System for System Programming in Ubicomp, ARCS 2005 14
Application: Telnet cont.
Telnet Server
RF Frontend ExternalFlash
/dev/comm /dev/eMem
/usr/file1
CommandParser
WirelessNetwork
Mediated Resources
/context/telnet/less
lessfile1MemoryDriver
CommunicationStack
DirectResources
ParticleFS
Hardware
CommandInterpreter
Telnet application combines resources
“context/telnet/less“ is a resource
Application function represented in the file system
“less” checks for type of argument
“less” denies access to /dev/accl, but grants access to /usr/file1
TecO File System for System Programming in Ubicomp, ARCS 2005 15
Application: Over-the-Air-Programming Programming is file copy!
Bridge
CompiledProgram
Particle
FTP Proxy
Network
TecO File System for System Programming in Ubicomp, ARCS 2005 16
Performance
File system ~1900 bytes RAM ~2100 bytes ROMFile library ~10 kilobytes ROM
Access overhead *buf = f()
Call + store result 26 instruction cycles
read(fd,buf,1) lookup for function pointers + call + store result More parameters 100 instruction cycles
TecO File System for System Programming in Ubicomp, ARCS 2005 17
Related Work
Plan9 All resources are files and accessed like files Client/server concept
Dynamo, Context-aware file system (CFS) Middleware and infrastructure solutions Context-based sharing and visibility of data PDA like devices
MatchBox, Micro-ROM File systems for small embedded sensor devices Only for data storage in files
TecO File System for System Programming in Ubicomp, ARCS 2005 18
Conclusion and Outlook
File system Uniform resource representation (direct/mediated) Uniform access on resources (read/write) Combining resources (compatibility by type system) Implementation on embedded sensor system (ParticleFS) Applications: Telnet + Over-the-Air-Programming
Future work Unblocking resource access Represent remote resources Shell/Macroprogramming