skip to main content
10.1145/1134650.1134678acmconferencesArticle/Chapter ViewAbstractPublication PagescpsweekConference Proceedingsconference-collections
Article

BOTS: a constraint-based component system for synthesizing scalable software systems

Published: 14 June 2006 Publication History

Abstract

Embedded application developers create applications for a wide range of devices with different resource constraints. Developers want to maximize the use of the limited resources available on the device while still not exceeding the capabilities of the device. To do this, the developer must be able to scale his software for different platforms. In this paper, we present a software engineering methodology that automatically scales software to different platforms. We intend to have the application developer write high level functional specifications of his software and have tools that automatically scale the underlying runtime. These tools will use the functional and non-functional constraints of both the hardware and client application to produce an appropriate runtime. Our initial results show that the proposed approach can scale operating systems and virtual machines that satisfy the constraints of varying hardware/application combinations.

References

[1]
Don Batory and Sean O'Malley. The design and implementation of hierarchical software systems with reusable components. ACM Transactions on Software Engineering and Methodology, 1(4):355--398, 1992.]]
[2]
J. Bergey, G. Campbell, S. Cohen, M. Fisher, B. Gallagher, L. Jones, L. Northrop, and A. Soule. Software product line acquisition: A companion to a framework for software product line practice, version 4.2. Available at http://www.sei.cmu.edu/productlines/frame_report/introduction.htm, 2005.]]
[3]
Danilo Beuche, Abdelaziz Guerrouat, Holger Papajewski, Wolfgang Schroder-Preikschat, Olaf Spinczyk, and Ute Spinczyk. On the development of object-oriented operating systems for deeply embedded systems - the PURE project. In ECOOP Workshops, pages 27--31, 1999.]]
[4]
Sapan Bhatia, Charles Consel, and Calton Pu. Remote customization of systems code for embedded devices. In EMSOFT '04: Proceedings of the fourth ACM international conference on Embedded software, pages 7--15, New York, NY, USA, 2004. ACM Press.]]
[5]
E. Cheong, J. Liebman, J. Liu, and F. Zhao. TinyGALS: A programming model for event-driven embedded systems. In Proceedings of the 18th Annual ACM Symposium on Applied Computing (SAC'03), 2003.]]
[6]
W. H. Cheung and Anthony H. S. Loong. Exploring issues of operating systems structuring: from microkernel to extensible systems. SIGOPS Oper. Syst. Rev., 29(4):4--16, 1995.]]
[7]
Crossbow Inc. Stargate - XScale Network Interface and Single Board Computer. http://www.xbow.com.]]
[8]
Cygnus. eCos: Embedded Cygnus Operating System. http://www.cygnus.com/ecos.]]
[9]
K. Czarnecki, T. Bednasch, P. Unger, and U. W. Eisenecker. Generative Programming for Embedded Software: An industrial experience report. In D. Batory, C. Consel, and W. Taha, editors, Proceedings of the ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE '02), number 2487 in LNCS, pages 156--172, 2002.]]
[10]
K. Czarnecki and U. W. Eisenecker. Generative Programming: Methods, Tools and Applications. Addison-Wesley, 2000.]]
[11]
K. Czarnecki, S. Helsen, and U. Eisenecker. Staged configuration using feature models. In R. L. Nord, editor, Proceedings of the SPLC 2004, number 3154 in LNCS, pages 266--283, 2004.]]
[12]
E. Gabber et al. The Pebble component-based operating system. In Proceedings of the USENIX Annual Technical Conference, pages 267--282, 1999.]]
[13]
F. Kon et al. 2K: A reflective, component based operating system for rapidly changing environment. In Proceedings of the European Conference on Object Oriented Programming, 1998.]]
[14]
R. Cambell et. al. Designing and implementing Choices: An object-oriented system in C++. Communications of the ACM, 36(9):117--126, 1993.]]
[15]
Kathleen Fisher and John H. Reppy. The design of a class mechanism for Moby. In SIGPLAN Conference on Programming Language Design and Implementation, pages 37--49, 1999.]]
[16]
Matthew Flatt and Matthias Felleisen. Units: cool modules for HOT languages. In PLDI '98: Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, pages 236--248, New York, NY, USA, 1998. ACM Press.]]
[17]
B. Ford, G. Back, G. Benson, J. Lepreau, A. Lin, and O. Shivers. The flux OSKit: A substrate for kernel and language research. In Symposium on Operating Systems Principles, pages 38--51, 1997.]]
[18]
D. Gay, P. Levis, R. von Behren, M. Welsh, E. Brewer, and D. Culler. The nesc language: A holistic approach to networked embedded systems. SIGPLAN Not., 38(5):1--11, 2003.]]
[19]
David Gay, Phil Levis, and David Culler. Software design patterns for TinyOS. In LCTES'05: Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems, pages 40--49, New York, NY, USA, 2005. ACM Press.]]
[20]
J. Goguen. Parameterized programming and software architecture. In Proceedings of the fourth International Workshop on Reuse, pages 2--11, 1996.]]
[21]
Benjamin Greenstein, Eddie Kohler, and Deborah Estrin. A sensor network application construction kit (SNACK).In Proceedings of the second international conference on Embedded networked sensor systems, 2004.]]
[22]
M. L. Griss, J. Favaro, and M. d' Alessandro. Integrating feature modeling with the RSEB. In ICSR '98: Proceedings of the 5th International Conference on Software Reuse, page 76, Washington, DC, USA, 1998. IEEE Computer Society.]]
[23]
William Harrison and Harold Ossher. Subject-oriented programming: a critique of pure objects. In OOPSLA '93: Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, pages 411--428, New York, NY, USA, 1993. ACM Press.]]
[24]
J. Hill and D. Culler. Mica: A wireless platform for deeply embedded networks. IEEE Micro, 22(6):12--24, November/December 2002.]]
[25]
K. Kang, S. Cohen, J. Hess, W. Nowak, and S. Peterson. Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90TR-21, Software Engineering Institute, Carnegie Mellon University, 1990.]]
[26]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J. M. Loingtier, and J. Irwin. Aspect-oriented Programing. In Proceedings of the 11th European Conference on Object-Oriented Programming, number 1241 in LNCS, June 1997.]]
[27]
Eddie Kohler, Robert Morris, Benjie Chen, John Jannotti, and M. Frans Kaashoek. The click modular router. ACM Trans. Comput. Syst., 18(3):263--297, 2000.]]
[28]
J. Koshy and R. Pandey. VM*: Synthesizing scalable runtime environments for sensor networks. In Proceedings of the third international Conference on Embedded Networked Sensor Systems (Sensys), San Diego, CA, USA, Nov 2005. ACM.]]
[29]
Lakshman Krishnamurthy, Robert Adler, Phil Buonadonna, Jasmeet Chhabra, Mick Flanigan, Nandakishore Kushalnagar, Lama Nachman, and Mark Yarvis. Design and deployment of industrial sensor networks: experiences from a semiconductor plant and the north sea. In SenSys '05: Proceedings of the 3rd international conference on Embedded networked sensor systems, pages 64--75, New York, NY, USA, 2005. ACM Press.]]
[30]
K. Lee, K. C. Kang, and J. Lee. Concepts and guidelines of feature modeling for product line software engineering. In C. Gacek, editor, Software Reuse: Methods, Techniques, and Tools: Proceedings of the Seventh Reuse Conference (ICSR7), number 2319 in LNCS, pages 62--77, Austin, USA, April 2002. Springer Verlag.]]
[31]
D. Lymberopoulos and A. Savvides. XYZ: A Motion-Enabled, Power Aware Sensor Node Platform for Distributed Sensor Network Applications. In Proceedings of IPSN 05, Los Angeles, 2005.]]
[32]
S. McDirmid, M. Flatt, and W. Hsieh. Jiazzi: New-age components for old-fashioned Java. In Proceedings of OOPSLA, Oct 2001.]]
[33]
Allen Brady Montz, David Mosberger, Sean W. O'Malley, Larry L. Peterson, Todd A. Proebsting, and John H. Hartman. Scout: A communications-oriented operating system (abstract). In Operating Systems Design and Implementation, page 200, 1994.]]
[34]
David A. Moon. Object-oriented programming with flavors. In OOPLSA '86: Conference proceedings on Object-oriented programming systems, languages and applications, pages 1--8, New York, NY, USA, 1986. ACM Press.]]
[35]
D. Ganesan P. Desnoyers and P. Shenoy. Tsar: A two tier storage architecture using interval skip graphs. In Proceedings of the Third ACM Conference on Embedded Networked Sensor Systems (SenSys), pages 39--50. ACM, November 2005.]]
[36]
J. Polastre, R. Szewczyk, and D. Culler. Telos: Enabling ultra-low power wireless research. In Proceedings of the Fourth International Conference on Information Processing in Sensor Networks: Special track on Platform Tools and Design Methods for Network Embedded Sensors (IPSN/SPOTS), 2005.]]
[37]
Christian Prehofer. Feature-oriented programming: A fresh look at objects. Lecture Notes in Computer Science, 1241:419--443, 1997.]]
[38]
Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, and Eric Eide. Knit: Component composition for systems software. In Proc. of the 4th Operating Systems Design and Implementation (OSDI), pages 347--360, 2000.]]
[39]
T. Saulpaugh and C. Mirho. Inside the JavaOS Operating System. Addison Wesley, 1999.]]
[40]
Joao Costa Seco and Luis Caires. A basic model of typed components. In ECOOP '00: Proceedings of the 14th European Conference on Object-Oriented Programming, pages 108--128, London, UK, 2000. Springer-Verlag.]]
[41]
Janos Sztipanovits and Gabor Karsai. Generative programming for embedded systems. In GPCE '02: The ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering, pages 32--49, London, UK, 2002. Springer-Verlag.]]
[42]
David Urting, Yolande Berbers, Stefan Van Baelen, Tom Holvoet, Yves Vandewoude, and Peter Rigole. A tool for component based design of embedded software. In CRPITS '02: Proceedings of the Fortieth International Confernece on Tools Pacific, pages 159--168, Darlinghurst, Australia, Australia, 2002. Australian Computer Society, Inc.]]
[43]
Rob van Ommering, Frank van der Linden, Jeff Kramer, and Jeff Magee. The Koala component model for consumer electronics software. Computer, 33(3):78--85, 2000.]]
[44]
David M. Weiss and Chi Tau Robert Lai. Software product-line engineering: a family-based software development process. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999.]]
[45]
Andreas Zeller and Gregor Snelting. Unified versioning through feature logic. ACM Trans. Softw. Eng. Methodol., 6(4):398--441, 1997.]]

Cited By

View all
  • (2016)Wireless sensor network virtualization: A surveyIEEE Communications Surveys & Tutorials10.1109/COMST.2015.241297118:1(553-576)Online publication date: Sep-2017
  • (2009)Developing Service Oriented Sensor/Actuator Networks Using a Tailored MiddlewareProceedings of the 2009 Sixth International Conference on Information Technology: New Generations10.1109/ITNG.2009.256(1036-1041)Online publication date: 27-Apr-2009
  • (2009)∈SOA - Service Oriented Architectures adapted for embedded networks2009 7th IEEE International Conference on Industrial Informatics10.1109/INDIN.2009.5195871(599-605)Online publication date: Jun-2009
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
LCTES '06: Proceedings of the 2006 ACM SIGPLAN/SIGBED conference on Language, compilers, and tool support for embedded systems
June 2006
220 pages
ISBN:159593362X
DOI:10.1145/1134650
  • cover image ACM SIGPLAN Notices
    ACM SIGPLAN Notices  Volume 41, Issue 7
    Proceedings of the 2006 LCTES Conference
    July 2006
    208 pages
    ISSN:0362-1340
    EISSN:1558-1160
    DOI:10.1145/1159974
    Issue’s Table of Contents
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 June 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. components
  2. constraints
  3. embedded systems
  4. generative programming
  5. runtime systems
  6. wireless sensor networks

Qualifiers

  • Article

Conference

LCTES06

Acceptance Rates

Overall Acceptance Rate 116 of 438 submissions, 26%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2016)Wireless sensor network virtualization: A surveyIEEE Communications Surveys & Tutorials10.1109/COMST.2015.241297118:1(553-576)Online publication date: Sep-2017
  • (2009)Developing Service Oriented Sensor/Actuator Networks Using a Tailored MiddlewareProceedings of the 2009 Sixth International Conference on Information Technology: New Generations10.1109/ITNG.2009.256(1036-1041)Online publication date: 27-Apr-2009
  • (2009)∈SOA - Service Oriented Architectures adapted for embedded networks2009 7th IEEE International Conference on Industrial Informatics10.1109/INDIN.2009.5195871(599-605)Online publication date: Jun-2009
  • (2018)Managing costs in software development2018 International Conference on Intelligent Systems (IS)10.1109/IS.2018.8710480(365-370)Online publication date: 25-Sep-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media