Parametrização de Componentes de Especificação com Preservação de Semântica

  • Anamaria Martins Moreira UFRN

Resumo


Para que um componente de um produto tenha maiores chances de ser reutilizável em um contexto diferente daquele para o qual ele foi criado ele deve ser "suficientemente geral". No caso de componentes de software, essa generalidade pode ser obtida por meios de parametrização, e podemos a esse respeito identificar 2 casos de figura: componentes altamente parametrizados concebidos com vistas a sua reutilização, e componentes específicos que se quer reutilizar a posteriori. É esse segundo caso que consideramos aqui: o que fazer para aumentar o potencial de reutilização de componentes desenvolvidos para uma aplicação específica. Com esse objetivo, propomos aqui as bases teóricas de uma ferramenta para a parametrização de componentes de software a partir de sua especificacao formal. A ideia subjacente é, dado um componente e um conjunto de propriedades semânticas satisfeitas por ele e que se quer preservar, encontrar um componente parametrizado do qual o componente original é uma instanciação possível e tal que possamos garantir que toda nova instanciação satisfará as propriedades citadas. A técnica utilizada é a generalização de provas, através da qual determinamos os requisitos mínimos a serem exigidos de possíveis parâmetros efetivos para que as propriedades em questão sejam preservadas. Finalmente, o contexto ao qual aplicamos essas ideias é o de especificações algébricas, utilizado na especilicação de componentes e cujo mecanismo de genericidade nos fornece um contexto ideal para esse trabalho.

Palavras-chave: parametrização de componentes, reutilização de componentes, especificações formais

Referências

Alsys. Reference Manual for the Ada programming language, 1983.

D. Bert, R. Echahed, and J.C. Reynaud. Reference manual of the LPG specification language and environment (release with disequations). Technical report, LGI-IMAG, June 1994. disponível por ftp - site ftp://ftp.imag.fr.

M. Bidoit. Pluss, un Langage pour le Développement de Spécifications Algébriques Modulaires. PhD thesis, Université de Paris-Sud, May 1989. These d'État.

N. Dershowitz and J.-P. Jouannaud. Rewrite systems. In Handbook of Theorectical Computer Science, chapter 15. Elsevier Science Publishers B.V., 1990.

R. Hennicker e C. Schmitz. Object-oriented implementation of abstract data type specifications. In M. Wirsing and M. Nivat, editors, AMAST'96, number 1101 in LNCS. Springer-Verlag, 1996.

D. Fafchamps. Organizational factors and reuse. IEEE Software, 11(5):31-41, Sep. 1994.

S.J. Garland and J.V. Guttag. An overview of Larch. In Peter E. Lauer, editor, Functional Programming, Concurrency, Simulation and Automated Reasoning, number 693 in LNCS, pages 320-348. Springer-Verlag, 1993.

J.A. Goguen and T.C. Winkler. Introducing OBJ3. Technical Report SRI-CSL-88-0, SRI International, 1988.

J. Guttag and J.J. Horning. The algebraic specification of abstract data types. Acta Inf, (10):27-52, 1978.

P. Jacquet and A. Martins. Proposals for a methodic approach to generalization of specification components. In Proceedings of the XXI SEMISH, pages 193-207. Sociedade Brasileira de Computação, 1994.

A. Martins. La Généralisation : un Outil pour la Réutilisation. PhD thesis, INPG, March 1995.

F. Parisi-Presicce and A. Pierantonio. Reusing object oriented design: An algebraic approach. In E. Bertino and S. Urban, editors, Object-Oriented Methodologies and Systems, number 858 in Lecture Notes in Computer Seiente. Springer-Verlag, 1994.

Tan Sommerville. Software Engineering. Addison-Wesley, 5º edition, 1996.

M. Wirsing. Algebraic description of reusable software components. Technical Report MIP-8816, Fakultät für Mathematik und Informatik - Universität Passau, 1988.

M. Wirsing. Algebraic specification. In Handbook of Theorectical Computer Science, chapter 13. Elsevier Science Publishers B.V., 1990.
Publicado
13/10/1998
MOREIRA, Anamaria Martins. Parametrização de Componentes de Especificação com Preservação de Semântica. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 12. , 1998, Maringá/PR. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1998 . p. 155-170. DOI: https://doi.org/10.5753/sbes.1998.24025.