190 likes | 323 Views
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. Outline. Ubiquitous Computing and Devices Development on Ubicomp Devices
E N D
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
Outline • Ubiquitous Computing and Devices • Development on Ubicomp Devices • File System Approach • Applications • Related Work • Conclusion
Ubiquitous Computing - Ubicomp • … building aware environments Other areas • Safety applications • Military applications AwareHome (GATech) AwareOffice (TecO)
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 Particles Motes Telos
Ubicomp Development – State-of-the-Art Manage 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
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
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
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
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 VoltageSensorGet(int &v) { ... } NOP() { ; }
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
Application: Telnet “/context/telnet/less /usr/file1“ PC Particle
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/file1
Application: Over-the-Air-Programming • Programming is file copy! FTP Proxy CompiledProgram Network Bridge Particle
Performance File system • ~1900 bytes RAM • ~2100 bytes ROM File 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
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
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
Thank you Q&A