A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert...

19
A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert Krohn TecO, University of Karlsruhe Institut for Telematics Telecooperation Office (TecO) www.teco.edu

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

TecO File System for System Programming in Ubicomp, ARCS 2005 19

Thank you

Q&A