Abstract
As embedded sensing systems are central to developing pervasive, context-aware services, the applications running on these systems should be intelligible to system programmers and to users. Given that sensor systems are programmed in low-level languages, manually writing high-level explanations about their decision model requires knowledge about the system architecture, and is error-prone. We explore the possibility of extracting explanations which are small and expressive, but still preserve bit-level accuracy when needed. We contribute a tool which automatically and soundly generates compact, graphical explanations from sensor software implementation at compile-time. We base our algorithm on the techniques of (i) finite-state machine model extraction from software as used in model checking, and (ii) abstraction of program execution traces. We experiment with extracting explanations from heavyweight, low-level TinyOS applications for a mainstream sensor platform.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lim, B.Y., Dey, A.K.: Toolkit to support intelligibility in context-aware applications. In: Proceedings of the 12th ACM International Conference on Ubiquitous Computing, Ubicomp 2010, pp. 13–22. ACM, New York (2010)
Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D., Pister, K.: System architecture directions for networked sensors. SIGPLAN Not. 35(11), 93–104 (2000)
Levis, P., Gay, D., Handziski, V., Hauer, J.H., Greenstein, B., Turon, M., Hui, J., Klues, K., Sharp, C., Szewczyk, R., Polastre, J., Buonadonna, P., Nachman, L., Tolle, G., Culler, D., Wolisz, A.: T2: A second generation OS for embedded sensor networks. Technical Report TKN-05-007, Technische Universität Berlin (2005)
Rubio, B., Diaz, M., Troya, J.M.: Programming approaches and challenges for wireless sensor networks. In: Proceedings of the Second International Conference on Systems and Networks Communications, ICSNC 2007, pp. 36–43. IEEE Computer Society, Washington, DC, USA (2007)
Ko, A.J., Abraham, R., Beckwith, L., Blackwell, A., Burnett, M., Erwig, M., Scaffidi, C., Lawrance, J., Lieberman, H., Myers, B., Rosson, M.B., Rothermel, G., Shaw, M., Wiedenbeck, S.: The state of the art in end-user software engineering. Accepted for publication in ACM Computing Surveys (2011)
Ko, A.J., Myers, B.A., Coblenz, M.J., Aung, H.H.: An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Trans. Softw. Eng. 32, 971–987 (2006)
Lim, B.Y., Dey, A.K.: Assessing demand for intelligibility in context-aware applications. In: Proceedings of the 11th International Conference on Ubiquitous Computing, Ubicomp 2009, pp. 195–204. ACM, New York (2009)
Bucur, D.: On Software Verification for Sensor Nodes. The Journal of Systems Software 84(10), 1693–1707 (2011)
Clarke, E., Kröning, D., Lerda, F.: A tool for checking ANSI-C programs. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 168–176. Springer, Heidelberg (2004)
Kroening, D.: Formal verification (2010), http://www.cprover.org/
Gay, D., Levis, P., von Behren, R.: The nesC language: A holistic approach to networked embedded systems. In: ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pp. 1–11. ACM, New York (2003)
Moteiv Corporation: Telos. Ultra low power IEEE 802.15.4 compliant wireless sensor module. Revision B : Humidity, Light, and Temperature sensors with USB (2004), http://www.moteiv.com
Texas Instruments: MSP430x1xx family — user’s guide (Rev.F) (2006), www.ti.com.slau049f.pdf
Underwood, S.: Mspgcc—A port of the GNU tools to the Texas Instruments MSP430 microcontrollers (2003), http://mspgcc.sourceforge.net
Gay, D., Levis, P., Culler, D.: Software design patterns for TinyOS. In: Proceedings of the ACM SIGPLAN/SIGBED Conference on languages, compilers, and tools for embedded systems (LCTES), pp. 40–49. ACM, New York (2005)
Kothari, N., Millstein, T., Govindan, R.: Deriving state machines from TinyOS programs using symbolic execution. In: Proceedings of the International Conference on Information Processing in Sensor Networks (IPSN), pp. 271–282. IEEE, Los Alamitos (2008)
Li, P., Regehr, J.: T-Check: bug finding for sensor networks. In: Proceedings of the 9th International Conference on Information Processing in Sensor Networks (IPSN), pp. 174–185. ACM, New York (2010)
Sasnauskas, R., Landsiedel, O., Alizai, M.H., Weise, C., Kowalewski, S., Wehrle, K.: KleeNet: discovering insidious interaction bugs in wireless sensor networks before deployment. In: Proceedings of the 9th International Conference on Information Processing in Sensor Networks (IPSN), pp. 186–196 (2010)
Mottola, L., Voigt, T., Österlind, F., Eriksson, J., Baresi, L., Ghezzi, C.: Anquiro: Enabling efficient static verification of sensor network software. In: Proceedings of Workshop on Software Engineering for Sensor Network Applications (SESENA) ICSE(2) (2010)
Cooprider, N., Archer, W., Eide, E., Gay, D., Regehr, J.: Efficient memory safety for TinyOS. In: Proceedings of the conference on Embedded Networked Sensor Systems (SenSys), pp. 205–218. ACM, New York (2007)
Krunic, V., Trumpler, E., Han, R.: NodeMD: Diagnosing node-level faults in remote wireless sensor systems. In: Proceedings of the International Conference on Mobile Systems, Applications and Services (MobiSys), pp. 43–56. ACM, New York (2007)
Kofod-Petersen, A., Cassens, J.: Explanations and context in ambient intelligent systems. In: Kokinov, B., Richardson, D.C., Roth-Berghofer, T.R., Vieu, L. (eds.) CONTEXT 2007. LNCS (LNAI), vol. 4635, pp. 303–316. Springer, Heidelberg (2007)
Dey, A.K., Newberger, A.: Support for context-aware intelligibility and control. In: Proceedings of the 27th International Conference on Human Factors in Computing Systems, CHI 2009, pp. 859–868. ACM, New York (2009)
Welbourne, E., Balazinska, M., Borriello, G., Fogarty, J.: Specification and verification of complex location events with panoramic. In: Floréen, P., Krüger, A., Spasojevic, M. (eds.) Pervasive Computing. LNCS, vol. 6030, pp. 57–75. Springer, Heidelberg (2010)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bucur, D. (2011). Intelligible TinyOS Sensor Systems: Explanations for Embedded Software. In: Beigl, M., Christiansen, H., Roth-Berghofer, T.R., Kofod-Petersen, A., Coventry, K.R., Schmidtke, H.R. (eds) Modeling and Using Context. CONTEXT 2011. Lecture Notes in Computer Science(), vol 6967. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-24279-3_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-24279-3_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-24278-6
Online ISBN: 978-3-642-24279-3
eBook Packages: Computer ScienceComputer Science (R0)