skip to main content
10.1145/1879021.1879054acmconferencesArticle/Chapter ViewAbstractPublication PagesesweekConference Proceedingsconference-collections
research-article

Initiating a design pattern catalog for embedded network systems

Published:24 October 2010Publication History

ABSTRACT

In the domain of desktop software, design patterns have had a profound impact; they are applied ubiquitously across a broad range of applications. Patterns serve both to promulgate expert knowledge and as a vocabulary for documenting software design. The result is higher-quality software, reduced development effort, and improved documentation.

This impact has yet to be felt in the emerging domain of embedded network software. The applications are characterized by highly distributed, reactive computations executed over resource-constrained processors; they present a host of new design challenges. Without a coherent repository of expert solutions, best practices do not emerge, design flaws are repeated, and developer communication is hindered.

In this paper, we initiate a pattern catalog for embedded network software. The contributions are two-fold. First, we present three new design patterns distilled from a careful analysis of expert-crafted software. Second, we present a formalism for specifying the structural requirements of such patterns. The resulting specifications provide a rigorous foundation for pattern identification and documentation.

References

  1. J. Barwise. Handbook of Mathematical Logic, chapter An introduction to first-order logic, pages 5--46. North-Holland Publication Co., 1978.Google ScholarGoogle Scholar
  2. S. Bhatti et al. MANTIS OS: An embedded multithreaded operating system for wireless micro sensor platforms. Mobile Networks and Applications, 10(4):563--579, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. F. Buschmann et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons, Inc., New York, NY USA, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Q. Cao et al. The LiteOS operating system: Towards unix-like abstractions for wireless sensor networks. In IPSN'08, pages 233--244. IEEE, April 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Coplien. Advanced C++ Programming Styles and Idioms. Addison-Wesley, Boston, MA USA, 1992. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. D. Doolin and N. Sitar. Wireless sensors for wildfire monitoring. In SPIE Smart Structures/NDE, pages 477--484. SPIE Press, Mar. 2005.Google ScholarGoogle Scholar
  7. A. Eden. Formal specification of oo design. In ICMDE'01, pages 1--38. Concordia Uni., Nov. 2001.Google ScholarGoogle Scholar
  8. G. Eidson et al. The South Carolina Digital Watershed: End-to-end support for realtime management of water resources. In IRA-DSN'09, pages 9--16, May 2009.Google ScholarGoogle Scholar
  9. E. Gamma et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA USA, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. Gay et al. The nesC language: A holistic approach to networked embedded systems. In ACM SIGPLAN PLDI, pages 1--11. ACM Press, June 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. D. Gay, P. Levis, and D. Culler. Software design patterns for tinyos. Transactions on Embedded Computing Systems, 6(4):Article 22, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Glaser. Some real-world applications of wireless sensor nodes. In SPIE Smart Structures/NDE, pages 344--355. SPIE Press, Mar. 2004.Google ScholarGoogle Scholar
  13. J. Hallstrom et al. Amplifying the benefits of design patterns: From specification through implementation. In Foundational Approaches to Software Engineering, pages 214--229. Springer-Verlag, Mar. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. Helm, I. Holland, and D. Gangopadhyay. Contracts: Specifying behavioral compositions in object-oriented systems. In OOPSLA, pages 169--180. ACM Press, Oct. 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Hill et al. System architecture directions for networked sensors. In ASPLOS, pages 93--104. ACM Press, Nov. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. S. Kim and D. Carrington. Using integrated metamodeling to define OO design patterns with Object-Z and UML. In APSEC'04, pages 257--264. IEEE Computer Society, Nov. 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. S. Konrad and B. Cheng. Requirements patterns for embedded systems. In IEEE RE'02, pages 127--136. IEEE Computer Society, Sep. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Levis. Tinyos programming. http://csl.stanford.edu/~pal/pubs/tinyos-programming.pdf, June 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. W. McCartney and N. Sridhar. Abstractions for safe concurrent programming in networked embedded systems. In SenSys, pages 167--180. ACM, Oct. 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Moteiv Corporation. Tmote Sky datasheet. www.moteiv.com/products/docs/tmote-sky-datasheet.pdf, 2006.Google ScholarGoogle Scholar
  21. C. Mwelwa and M. Pont. Two simple patterns to support the development of reliable embedded systems. In Viking PLoP'03, pages 17--26. Hillside Europe, Sep. 2003.Google ScholarGoogle Scholar
  22. M. Pont. Patterns for Time-Triggered Embedded Systems: Building Reliable Applications with the 8051 Family of Microcontrollers. ACM Press, Aug. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. M. Pont et al. Prototyping time-triggered embedded systems using PC hardware. In EuroPLoP'03, pages 691--716. Universitäts Verlag Konstanz, June 2003.Google ScholarGoogle Scholar
  24. M. Pont and C. Mwelwa. Developing reliable embedded systems using 8051 and ARM processors: Towards a new pattern language. In Viking PLoP'03, pages 1--18. Hillside Europe, Sept. 2003.Google ScholarGoogle Scholar
  25. M. Pont and R. Ong. Using watchdog timers to improve the ttc embedded systems. In Viking PLoP, pages 159--200. MSBS, ApS, Sept. 2002.Google ScholarGoogle Scholar
  26. D. Schmidt et al. Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects. John Wiley & Sons, Inc., 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. G. Smith. The Object-Z Specification Language. Kluwer Academic Publishers, Norwell, MA USA, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. N. Soundarajan and J. Hallstrom. Responsibilities and rewards: Specifying design patterns. In ICSE'04, pages 666--675. IEEE Computer Society, May 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Taibi and D. Ngo. Formal specification of design patterns -- a balanced approach. Journal of Object Technology, 2(4):127--140, 2003.Google ScholarGoogle ScholarCross RefCross Ref
  30. G. Tolle et al. A macroscope in the redwoods. In SenSys'05, pages 51--63. ACM Press, Nov. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. S. Wahba et al. NePTune: Optimizing sensor networks. In ICCCN'08, pages (cd--rom). IEEE Computer Society, Aug. 2008.Google ScholarGoogle Scholar

Index Terms

  1. Initiating a design pattern catalog for embedded network systems

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            EMSOFT '10: Proceedings of the tenth ACM international conference on Embedded software
            October 2010
            318 pages
            ISBN:9781605589046
            DOI:10.1145/1879021

            Copyright © 2010 ACM

            Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 24 October 2010

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article

            Acceptance Rates

            Overall Acceptance Rate60of203submissions,30%

            Upcoming Conference

            ESWEEK '24
            Twentieth Embedded Systems Week
            September 29 - October 4, 2024
            Raleigh , NC , USA

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader