Component-based System Software: A Generic Approach

  • Jó Ueyama UNICAMP
  • Francois Taiani Lancaster University
  • Geoff Coulson Lancaster University
  • Edmundo R. M. Madeira UNICAMP
  • Paul Grace Lancaster University

Abstract


Component-based software engineering has recently emerged as a promising solution to the development of system-level software. Unfortunately, current approaches are limited to specific platforms and domains. This lack of generality is particularly problematic as it prevents knowledge sharing and generally increases development costs. In this paper we present OpenCom, a generic component-based platform that is specifically designed to support a wide range of system software, both in terms of deployment environments (e.g. PDAs, embedded devices, network processor-based routers) and target domains (e.g. embedded systems, middleware, OSs, programmable networking environments). We discuss the fundamentals of OpenCom’s programming model, present a performance evaluation, and illustrate the advantages of our model based on several case studies.

References

E. Bruneton, T. Coupaye, and J. Stefani. Recursive and Dynamic Software Composition with Sharing. In Proceedings of the 7th ECOOP International Workshop on Component-Oriented Programming (WCOP’02), 2002.

A.T. Campbell, M.E. Kounavis, D.A. Villela, J.B. Vicente, H.G. de Meer, K. Miki, and K.S. Kalaichelvan. NetBind: A Binding Tool for Constructing Data Paths in Network Processor-based Routers. In 5th IEEE International Conference on Open Architectures and Network Programming (OPENARCH’02), June 2002.

G. Coulson, P. Grace, G.S. Blair, L. Mathy, D. Duce, C. Cooper, W. Yeung, and W. Cai. Towards A Component-Based Middleware Framework for Configurable and Reconfigurable Grid Computing. In WETICE, pages 291–296, 2004.

G. Coulson, Blair G.S., M. Clarke, and N. Parlavantzas. The Design of a Highly Configurable and Reconfigurable Middleware Platform. ACM Distributed Computing Journal, 15(2):109–126, April 2002.

J. Dowling and V. Cahill. The K-Component Architecture Meta-Model for Self-Adaptive Software. In Reflection 2001, Kyoto, Japan, September 2001. LNCS 2192.

J.P. Fassino, J.B. Stefani, J. Lawall, and G. Muller. THINK: A Software Framework for Component-based Operating System Kernels. In USENIX 2002 Annual Conference, June 2002.

B. Ford, G. Back, G. Benson, J. Lepreau, A Lin, and O. Shivers. The Flux OSKit: A Substrate for Kernel and Language Research. In Proceedings of the sixteenth ACM symposium on Operating systems principles, pages 38–51. ACM Press, 1997.

H. Hansson, M. Akerholm, I. Crnkovic, and M. Torngren. SaveCCM – A Component Model for Safety-critical Real-time Systems. In Euromicro Conference, Special Session Component Models for Dependable Systems. IEEE, September 2004.

J. Helander and A. Forin. MMLite: A Highly Componentized System Architecture. In 8th ACM SIGOPS European Workshop, pages 96–103, Sintra, Portugal, September 1998.

C. A. R. Hoare. Communicating Sequential Processes. Prentice-Hall, 1985.

Intel. Intel IXP1200. http://www.intel.com/IXA, 2002.

Christian L. Jacobsen and Matthew C. Jadud. The Transterpreter: A Transputer Interpreter. In Dr. Ian R. East, Prof David Duce, Dr Mark Green, Jeremy M. R. Martin, and Prof. Peter H. Welch, editors, Communicating Process Architectures 2004, volume 62 of Concurrent Systems Engineering Series, pages 99–106. IOS Press, Amsterdam, September 2004.

A. Joolia, T. Batista, G. Coulson, and A. Gomes. Mapping ADL Specifications to an Efficient and Reconfigurable. In 5Th Working IEEE/IFIP Conference on Software Architecture, Pittsburg, Pensylvania, November 2005.

S. Karlin and L. Peterson. VERA: An Extensible Router Architecture. In 4th International Conference on Open Architectures and Network Programming (OPENARCH), April 2001.

Microsoft Corporation. .Net Home Page. http://www.microsoft.com/net, 2001.

R. Morris, Kohler E., J. Jannoti, and M. Kaashoek. The Click Modular Router. In 17th ACM Symposium on Operating Systems Principles (SOSP’99), Charleston, SC, USA, December 1999.

Mozilla Organization. XPCOM Project. http://www.mozilla.org/projects/xpcom, 2001.

J. Muskens and M. Chaudron. Prediction of Run-Time Resource Consumption in Multitask Component-Based Software Systems. In Springer Verlag, editor, Proceeding of the 7th International Symposium on Component-based Software Engineering (CBSE7, Edinburgh, Scotland, May 2004.

OMG. The CORBA Component Model. orbos/99-07-01.

R. Ommering, F. Linden, J. Kramer, and J. Magee. The Koala component model for consumer electronics software. 33(3):78–85, March 2000.

P.H.Welch and J.M.R.Martin. A CSP Model for Java Multithreading. In P.Nixon and I.Ritchie, editors, Software Engineering for Parallel and Distributed Systems, pages 114–122. ICSE 2000, IEEE Computer Society Press, June 2000.

M. Roman and N. Islam. Dynamically programmable and reconfigurable middleware services. In Proceedings of the 5th ACM/IFIP/USENIX international conference on Middleware, pages 372–396, New York, NY, USA, 2004. Springer-Verlag New York, Inc.

N. Shalaby, L. Peterson, A. Bavier, Y. Gottlieb, a Karlin, A. Nakao, X. Qie, T. Spalink, and M. Wawrzoniak. Extensible routers for active networks, 2002.

Sun Microsystems. Enterprise Java Beans Specification Version 1.1. http://java.sun.com/products/ejb/index.html.

C. Szyperski. Component Software: Beyond Object-Oriented Programming. AddisonWesley, second edition, 2002.

M. Winter, T. Genbler, A. Christoph, O. Nierstrasz, S. Ducasse, R. Wuyts, G. Arevalo, P. Muller, C. Stich, and B. Schonhage. Components for Embedded Software: the PECOS Approach. In CASES ’02: Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems, pages 19–26, New York, NY, USA, 2002. ACM Press.
Published
2007-10-15
UEYAMA, Jó; TAIANI, Francois; COULSON, Geoff; MADEIRA, Edmundo R. M.; GRACE, Paul. Component-based System Software: A Generic Approach. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 21. , 2007, João Pessoa. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2007 . p. 113-129. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2007.21302.