ATLAS: A SERVICE-ORIENTED SENSOR AND ACTUATOR NETWORK PLATFORM TO ENABLE PROGRAMMABLE PERVASIVE COMPUTING SPACES By JEFFREY C. KING A DISSERTATION PRESENTED TO THE GRADUATE SCHOOL OF THE UNIVERSITY OF FLORIDA IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF DOCTOR OF PHILOSOPHY UNIVERSITY OF FLORIDA 2007 1 © 2007 Jeffrey C. King 2 To my parents, Sharon and Wayne King, who taught me the love of poking and prodding the world, demanding its secret knowledge, but never becoming frustrated to find some things are inscrutable, wondrously so – and – To my grandmother, Barbara Ryther―would all the promise of independent living within this text come true, I’d still want you living with us 3 ACKNOWLEDGMENTS My enduring thanks and appreciation go to my advisor, Dr. Abdelsalam (Sumi) Helal, for bringing me into his fold, and sharing his ability to clarify and motivate and excite students. I, of course, thank the many friends in the Mobile and Pervasive Computing Lab that I have spent so much time with these years: James Russo, Dr. Hisham Zabadani, Youssef Kaddoura, Steve Vander Ploeg, Erwin Jansen, Steven Pickles, Raja Bose, Hen-I Yang, Ed Koush, Dr. Bessam Abdulrazak, and Dr. Shinyoung Lim. James and Steve V.P. deserve special note for the incredible early work on the then-unnamed sensor platform. The same goes for Steven Pickles, who produced our first working sensor platform and who always showed the saintly patience necessary when electrical engineers are asked to demystify their hardware mojo for computer scientists. Raja Bose and Hen-I Yang deserve special note. Mr. Bose’s speed and talent for magnificent design and implementation is stunning to behold, and the Atlas project would be nowhere without him. Mr. Yang has provided the perfect solid, reasoned and experienced grounding for ideas that threatened to spiral out of control, and of the work performed in this lab, our collaborations have been the most satisfying. 4 TABLE OF CONTENTS page ACKNOWLEDGMENTS...............................................................................................................4 LIST OF TABLES...........................................................................................................................8 LIST OF FIGURES.........................................................................................................................9 ABSTRACT...................................................................................................................................11 CHAPTER 1 INTRODUCTION..................................................................................................................12 Pervasive Computing..............................................................................................................12 Deploying Pervasive Computing Environments....................................................................12 Matilda Smart House.......................................................................................................13 Gator Tech Smart House.................................................................................................14 Failures of Integrated Pervasive Computing Spaces.......................................................15 Programmable Pervasive Spaces............................................................................................16 Sensor Network Platforms...............................................................................................17 Atlas Platform..................................................................................................................18 Organization of Dissertation...................................................................................................18 2 RELATED WORK.................................................................................................................20 Sensor Networks.....................................................................................................................20 Middleware for Sensor Networks and Pervasive Computing.................................................22 3 OVERVIEW OF THE ATLAS PLATFORM........................................................................27 Sensors and Actuators for Pervasive Spaces..........................................................................27 Middleware for Programmable Pervasive Spaces..................................................................28 Atlas Platform.........................................................................................................................29 4 ATLAS PLATFORM HARDWARE.....................................................................................33 Processing Layer.....................................................................................................................33 Communication Layer............................................................................................................35 Wired Ethernet.................................................................................................................35 WiFi.................................................................................................................................37 ZigBee.............................................................................................................................37 Universal Serial Bus........................................................................................................38 Serial Port........................................................................................................................38 Bluetooth.........................................................................................................................38 Patch Antenna..................................................................................................................38 5 Device Interface Layer...........................................................................................................39 Analog Sensors................................................................................................................39 Digital Sensors.................................................................................................................39 Actuators..........................................................................................................................40 General Purpose Input/Output.........................................................................................41 Device Interfacing and IEEE 1451..................................................................................41 Wireless Interface Layer..................................................................................................41 Other Layers...........................................................................................................................42 5 ATLAS PLATFORM FIRMWARE.......................................................................................47 uIP Firmware..........................................................................................................................47 Direct Firmware......................................................................................................................47 TinyOS Firmware...................................................................................................................48 TinyOS Base....................................................................................................................49 Atlas Platform Definition................................................................................................51 Atlas Application.............................................................................................................54 6 ATLAS MIDDLEWARE.......................................................................................................62 Open Services Gateway Initiative Middleware......................................................................62 Atlas Middleware Architecture...............................................................................................64 Network Manager............................................................................................................64 Configuration Manager...................................................................................................65 Bundle Repository...........................................................................................................66 Atlas Developer Application Programming Interface.....................................................67 Application Development Using Atlas...................................................................................67 Atlas Service Authoring Tool..........................................................................................68 Communication Modules................................................................................................69 Performance Evaluation..........................................................................................................70 Experiment Setup............................................................................................................70 Atlas Middleware Scalability..........................................................................................71 Performance under Zero-Load Data Streams..................................................................73 7 ATLAS TRUST MODEL.......................................................................................................82 Security and Privacy in Sensor Networks..............................................................................82 Attack Model for the Atlas Platform......................................................................................82 Remote Attacks...............................................................................................................82 Neighboring Attacks........................................................................................................83 Internal Attacks...............................................................................................................83 Interception Attacks.........................................................................................................83 Insertion Attacks..............................................................................................................84 Denial of Service Attacks................................................................................................84 Attack Prevention...................................................................................................................84 Fundamental Security......................................................................................................85 Preventing Interception and Insertion Attacks................................................................85 6 Pervasive Noise......................................................................................................................87 Overview.........................................................................................................................87 Noise Model....................................................................................................................88 Pervasive Noise Implementation.....................................................................................90 8 CASE STUDIES.....................................................................................................................93 Gator Tech Smart House........................................................................................................93 Smart Blinds....................................................................................................................93 Atlas-Based Smart Floor.................................................................................................94 Smart Front Door.............................................................................................................95 Results.............................................................................................................................96 Purdue NILE-PDT..................................................................................................................96 9 CONCLUSIONS AND FUTURE WORK...........................................................................100 Hardware Roadmap..............................................................................................................100 Middleware Roadmap...........................................................................................................101 Data Processing.............................................................................................................101 Distributed Middleware Servers....................................................................................101 Alternate Service Frameworks......................................................................................102 APPENDIX EXAMPLE NESC SOURCE CODE USED in ATLAS FIRMWARE...............103 Interface................................................................................................................................103 Interface Provider.................................................................................................................103 Interface User........................................................................................................................103 Configuration Wiring............................................................................................................103 LIST OF REFERENCES.............................................................................................................104 BIOGRAPHICAL SKETCH.......................................................................................................110 7 LIST OF TABLES Table page 2-1 Comparison of existing sensor network platforms............................................................24 5-1 NesC Interfaces defined in the Atlas firmware..................................................................56 6-1 Methods provided by the Atlas Developer Application Programming Interface..............75 6-2 Primary functionalities provided by Atlas Service Authoring Tool..................................75 8 LIST OF FIGURES Figure page 1-1 In-lab Matilda Smart House...............................................................................................19 1-2 Gator Tech Smart House....................................................................................................19 2-1 Crossbow MICA2 and MICA2DOT motes.......................................................................24 2-2 Telos mote, with serial and Universal Serial Bus support.................................................25 2-3 Phidgets 8/8/8 Interface Kit...............................................................................................25 2-4 Cork Cube platform...........................................................................................................26 3-1 Middleware architecture for programmable pervasive spaces...........................................31 3-2 Atlas-specific architecture for programmable pervasive spaces........................................31 3-3 Software stack architecture of the Atlas platform..............................................................32 4-1 Three-layered Atlas node...................................................................................................42 4-2 Atlas Processing Layer......................................................................................................43 4-3 Atlas Wired Ethernet Communication Layer....................................................................43 4-4 Atlas WiFi Communication Layer.....................................................................................43 4-5 Atlas ZigBee Communication Layer.................................................................................44 4-6 Atlas Programming and Debugging Board........................................................................44 4-7 Atlas Universal Patch Antenna..........................................................................................44 4-8 Atlas Analog Sensor – 8 Device Interface Layer...............................................................45 4-9 Atlas Analog Sensor – 32 Device Interface Layer.............................................................45 4-10 Atlas Digital Contact Sensor Device Interface Layer........................................................45 4-11 Atlas Servo Device Interface Layer...................................................................................46 4-12 Atlas General Purpose Input/Output Device Interface Layer............................................46 5-1 Communication path for data transmitted from Atlas node to middleware.......................59 5-2 Communication path for data transmitted from Atlas middleware to node.......................60 9 5-3 Component and module diagram of TinyOS-based Atlas firmware.................................61 6-1 Adding a new Atlas node to the network...........................................................................76 6-2 Knopflerfish OSGi framework running the Atlas middleware..........................................77 6-3 Atlas node web configuration page....................................................................................77 6-4 Atlas repository web configuration page...........................................................................78 6-5 Atlas Eclipse IDE plugin...................................................................................................78 6-6 Screenshot of the AtlasSim application.............................................................................79 6-7 AtlasSim node configuration window...............................................................................79 6-8 Processor load vs. number of sensors................................................................................80 6-9 Memory usage vs. number of sensors................................................................................80 6-10 Processor load vs. number of sensors................................................................................81 6-11 Memory usage vs. number of sensors................................................................................81 8-1 Servo motor attached to the Smart Blinds.........................................................................97 8-2 Tile of the Smart Floor, with Atlas node...........................................................................98 8-3 Atlas node connected to 32 pressure sensors.....................................................................98 8-4 Graphical display of location tracker service.....................................................................99 8-5 Connecting the electronic deadbolt to the Atlas platform.................................................99 8-6 Private-Door Duo electronic door opener..........................................................................99 10
Description: