Um Método Baseado em Reuso Para o Desenvolvimento de Sistemas Confiáveis Baseados em Componentes

  • Patrick H. da S. Brito UNICAMP
  • Paulo Asterio de Castro Guerra UNICAMP
  • Cecília M. F. Rubira UNICAMP

Resumo


O mercado de software está cada vez mais sujeito a fortes restrições de prazos e custos. Além disso, com a intensificação do uso de sistemas computacionais em atividades essenciais, exige-se cada vez mais qualidade e confiança no funcionamento dos sistemas. Por agilizar o desenvolvimento e reduzir o seu custo a longo prazo, o desenvolvimento baseado em componentes (DBC) vem sendo adotado largamente. Porém, se não for feita de forma sistemática, a reutilização pode comprometer a confiabilidade do sistema. Este artigo propõe um método de DBC que visa maximizar a reutilização de componentes prontos durante o desenvolvimento, aumentando ao mesmo tempo a confiabilidade do sistema final. Para isso, é adotada uma abordagem centrada na arquitetura que atua de três formas complementares: (i) uniformidade na estruturação dos elementos arquiteturais considerados críticos; (ii) separação de interesse entre os comportamentos normal e excepcional; e (iii) preocupação sistemática com o comportamento excepcional desde o início do ciclo de vida do software. A abordagem proposta nesse artigo foi avaliada através de um estudo de caso de uma aplicação financeira real.

Referências

C. Alves, J. B. P. Filho, and J. Castro. Analysing the tradeoffs among requirements, architectures and cots components. In WER, pages 20–31, 2001.

P. H. S. Brito, R. de Lemos, E. Martins, and C. M. F. Rubira. Verification and validation of a fault-tolerant architectural abstraction. In DSN Workshop on Architecting Dependable Systems (WADS 2007), Edinburgh, Scotland - UK, 2007. Accepted for publication.

J. Chessman and J. Daniels. UML Components. Addison-Wesley, 2000.

P. Clements and R. Kazman. Software Architecture in Practice. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 2003.

F. Cristian. Exception handling. In Dependability of Resilient Computers, pages 68–97. Blackwell, 1989.

P. H. da Silva Brito, C. R. Rocha, F. Castor Filho, E. Martins, and C. M. F. Rubira. A method for modeling and testing exceptions in component-based software development. In Proceedings of the II LADC, LNCS 3747, pages 61–79, 2005.

M. C. da Silva Jr., P. A. de C. Guerra, and C. M. F. Rubira. A java component model for evolving software systems. In Proc. of the ASE, pages 327–330, 2003.

P. A. de C. Guerra, F. C. Filho, V. A. Pagano, and C. M. F. Rubira. Structuring exception handling for dependable component-based software systems. In EUROMICRO, pages 575–582, 2004.

R. de Lemos, P. A. de Castro Guerra, and C. M. F. Rubira. A fault-tolerant architectural approach for dependable systems. IEEE Software, 23(2):80–87, 2006.

R. de Lemos and A. Romanovsky. Exception handling in the software lifecycle. IJCSE, 16(2):167–181, 2001.

C. Dellarocas. Toward exception handling infrastructures for component-based software. In Proceedings of the International Workshop on Component-based Software Engineering, XX ICSE, Kyoto, Japan, April 1998.

J. B. Goodenough. Exceptional handling: Issues and a proposed notation. CACM, 18(12), 1975.

J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. M. Kaufmann, 1993.

I. Jacobson, G. Booch, and J. Rumbaugh. The unified software development process. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1999.

R. Kohavi and G. H. John. Wrappers for feature subset selection. Artificial Intelligence, 97(1-2):273–324, 1997.

G. L. Lann. The ariane 5 flight 501 failure - A case study in system engineering for computing systems. Technical Report RR-3079, July 1996.

P. A. Lee and T. Anderson. Fault Tolerance: Principles and Practice. Dependable computing and fault- tolerant systems. Springer-Verlag, Berlin ; New York, 2nd edition, 1990.

M. Leuschel and M. J. Butler. Prob: A model checker for b. In Proceedings of FME’2003, LNCS 2805, pages 855–874. Springer-Verlag, Pisa, Italy, 2004.

B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 1st edition, 1988.

R. Pressman. Software Engineering:a Practitioner’s Approach. McGraw-Hill, 5th edition, 2001.

C. M. F. Rubira, R. de Lemos, G. Ferreira, and F. Castor Filho. Exception handling in the development of dependable component-based systems. SPE, 35(5):195–236, March 2005.

M. Shaw and D. Garlan. Software architecture: perspectives on an emerging discipline. Prentice-Hall, Inc., Upper Saddle River, NJ, USA, 1996.

I. Sommerville. Software Engineering. Addison-Wesley, 6th edition, 2001.

C. Szyperski. Component software and the way ahead. In G. T. Leavens and M. Sitaraman, editors, Foundations of Component-Based Systems, chapter 1, pages 1–20. Cambridge University Press, 2000.
Publicado
29/05/2007
BRITO, Patrick H. da S.; GUERRA, Paulo Asterio de Castro; RUBIRA, Cecília M. F.. Um Método Baseado em Reuso Para o Desenvolvimento de Sistemas Confiáveis Baseados em Componentes. In: WORKSHOP DE TESTES E TOLERÂNCIA A FALHAS (WTF), 8. , 2007, Belém/PA. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2007 . p. 113-126. ISSN 2595-2684. DOI: https://doi.org/10.5753/wtf.2007.23243.