A File System for System Programming in Ubiquitous
A File System for System Programming in Ubiquitous Computing Christian Decker, Michael Beigl, Albert Krohn Tec. O, University of Karlsruhe Institut for Telematics Telecooperation Office (Tec. O) www. teco. edu
Outline § Ubiquitous Computing and Devices § Development on Ubicomp Devices § File System Approach § Applications § Related Work § Conclusion Tec. O File System for System Programming in Ubicomp, ARCS 2005 2
Ubiquitous Computing - Ubicomp § … building aware environments Aware. Home (GATech) Other areas § Safety applications § Military applications Tec. O File System for System Programming in Ubicomp, ARCS 2005 Aware. Office (Tec. O) 3
Embedded Sensor Devices in Ubicomp Motes Particles Telos § Limited computing power, 8 -bit microcontroller § Few kilobytes … 512 kilobytes of Flash memory § Customized radio protocols § Battery powered § Extensible by various sensors Tec. O File System for System Programming in Ubicomp, ARCS 2005 4
Ubicomp Development – State-of-the-Art Manage a variety of resources, esp. sensors § Lightweight OS (e. g. Tiny. OS) n OS shields resources, e. g. sensors n No direct access n Communication through events -> event dispatching § Library based access models n Abstract access functions n Direct access, virtually no overhead § But… shielding/abstraction causes still confusion Tec. O File System for System Programming in Ubicomp, ARCS 2005 5
Ubicomp Development – Case Study § Study comprising of various students, practical courses and projects Findings § Experience lack n Huge number of various sensor interfaces n Developers are stuck to the well-known § Application complexity n Developer focus on distributed application logic n Rich sensor interfaces, poorly used § Interface breach n Sensor interfaces similar, only slight difference n Hard to realize -> debugging Tec. O File System for System Programming in Ubicomp, ARCS 2005 6
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 Tec. O File System for System Programming in Ubicomp, ARCS 2005 7
Resources Tec. O File System for System Programming in Ubicomp, ARCS 2005 8
Resources cont. Tec. O File System for System Programming in Ubicomp, ARCS 2005 9
Name Space § File = entity identifying a resource § Directory = special file identifying collections of files § Uniform, hierarchical namespace n /dev/- direct resources, e. g. sensors, memory, power supply, communication interface n /context/ - mediated resources, access direct resources, application functions, algorithms n /usr/ - data files Tec. O File System for System Programming in Ubicomp, ARCS 2005 10
Access Model Fundamental operations § read(. . ) and write(. . ) – data transfer operations § Resources are coupled with specific r/w methods Resource identifier Resource name Type Read Write 1 /dev/voltage 3 p. Func . . . Example: read(1, buf, 1) Additional operations § open(. . ) § mount(. . )/umount(. . ) § get. Type(. . ) Type System § Type of resource, developer decides § Compatibility in resource combinations Tec. O Voltage. Sensor. Get(int &v) {. . . } NOP() { ; } File System for System Programming in Ubicomp, ARCS 2005 11
Particle File System § File system for Particle platform (Ubicomp device, sensor network) § 18 f 6720 PIC microcontroller § 128 KB Flash. ROM, 4 KB RAM, 512 KB external Flash Resources § Memory – 512 KB Flash § Power supply – AAA battery § Wireless communication § Sensors – acceleration, light, force, temperature, audio, ball switch § Actuators – LEDs, speaker Tec. O File System for System Programming in Ubicomp, ARCS 2005 12
Application: Telnet “/context/telnet/less /usr/file 1“ PC Particle Tec. O File System for System Programming in Ubicomp, ARCS 2005 13
Application: Telnet cont. § 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/file 1 Tec. O File System for System Programming in Ubicomp, ARCS 2005 14
Application: Over-the-Air. Programming § Programming is file copy! FTP Proxy Compiled Program Network Bridge Particle Tec. O File System for System Programming in Ubicomp, ARCS 2005 15
Performance File system § ~1900 bytes RAM § ~2100 bytes ROM File library § ~10 kilobytes ROM Access overhead § *buf = f() n Call + store result n 26 instruction cycles § read(fd, buf, 1) n lookup for function pointers + call + store result n More parameters n 100 instruction cycles Tec. O File System for System Programming in Ubicomp, ARCS 2005 16
Related Work Plan 9 § 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 Match. Box, Micro-ROM § File systems for small embedded sensor devices § Only for data storage in files Tec. O File System for System Programming in Ubicomp, ARCS 2005 17
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 (Particle. FS) § Applications: Telnet + Over-the-Air-Programming Future work § Unblocking resource access § Represent remote resources § Shell/Macroprogramming Tec. O File System for System Programming in Ubicomp, ARCS 2005 18
Thank you Q&A Tec. O File System for System Programming in Ubicomp, ARCS 2005 19
- Slides: 19