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


A tecnologia de componentes é comumente utilizada para construir softwares no nível de aplicações. No entanto, essa tecnologia é menos utilizada para a construção de softwares no nível de sistemas. Além disso, a grande parte dos modelos de componentes para o nível de sistemas é destinada à construção de software de sistemas para um determinado domínio e plataforma. Este artigo apresenta o OpenCom, um modelo genérico de componentes destinado à construção de software de sistemas para uma variedade de domínios (por exemplo, middlewares, sistemas embutidos, SOs) e plataformas (por exemplo, PCs, sensores, roteadores). O artigo descreve o modelo e o uso do OpenCom em diversos estudos de caso, o que demonstra a sua flexibilidade e a generalidade desta tecnologia.


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., 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., 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., 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.

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.
Como Citar

Selecione um Formato
UEYAMA, Jó; TAIANI, Francois; COULSON, Geoff; MADEIRA, Edmundo R. M.; GRACE, Paul. Component-based System Software: A Generic Approach. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 21. , 2007, João Pessoa. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2007 . p. 113-129. DOI: