Uma Arquitetura Aberta para Geradores de Artefatos

  • Luiz Paulo Alves Franca Programare Informática
  • Arndt von Staa PUC-Rio

Resumo


A utilização de geradores de artefatos no processo de desenvolvimento de software proporciona ganhos de escala. Porém a adoção desta tecnologia está restrita a um pequeno número de organizações. A justificativa para esta realidade, além dos aspectos sociais e culturais da adoção de uma nova tecnologia, deve-se a complexidade na construção deste tipo de ferramenta. O presente trabalho descreve uma proposta de arquitetura aberta para geradores de artefatos resultante de pesquisas feitas nos últimos anos sobre simplificação do processo de construção de geradores. Na arquitetura proposta, cada módulo do gerador, é implementado independentemente dos demais módulos através de ferramentas de ampla utilização industrial. A arquitetura proposta foi implementada utilizando uma ferramenta CASE, um banco de dados relacional, e a linguagem de template ASP.

Palavras-chave: Geradores de Artefatos, Programação generativa, linha de produção de software, CASE, meta-geradores, desenvolvimento para WEB, XML

Referências

Staa, A.; Programação Modular; Rio de Janeiro; Campus; 2000 1996

Czarnecki, K.; Eisenecker, U.; Generative Programming: Methods, Tools, and Applications; Addison Wesley; NJ; 2000

Clements, P; Northrop, L.; Software Product Lines: Practices and Patterns; Addison Wesley; NJ; 2002

Weiss, D.; Lai, C.; Software Product-Line Engineering: A Family-Based Software Development Process; Addison Wesley; NJ; 1999

Wake, W.; Extreme Prgramming Explored; Addison Wesley; NJ; 2001

Balzer, R.; "A Fifteen-Year Perspective on Automatic Programming"; In Ted J. Biggerstaff and Alan Perlis (Eds.); Software Reusability; Addison-Wesley/ACM Press; 1989; pp 289-311.

Batory, D.; Smaragdakis, Y.; "Application Generators"; Wiley Encyclopedia of Electrical and Electronics Engineering - Software Engineering Volume; John Wiley and Sons; 1999

Masiero, P.C.; Meira, C. A.; "Development and Instantiation of a Generic Application Generator"; J. Systems and Software; 23; 1993; pp 27-37.

Cleaveland, C.; "Building Application Generators"; IEEE Software 5(4); 1988; pp 25-33

Neighbors, J. M.; "Draco: A Method for Engineering Reusable Software Systems"; In Ted J. Biggerstaff and Alan Perlis (Eds.); Software Reusability; Addison-Wesley/ACM Press; 1989; pp 295-319

Levy, L.; "A Metaprogramming Method and Its Economic Justification"; IEEE Transactions on Software Engineering 12(2); 1986; pp 272-277

Hohenstein, U.; "An Approach for Generating Object-Oriented Interfaces for Relational Databases"; In Proceedings of the Second International Symposium on Constructing Software Engineering Tools; 2000; pp 101-111.

Milicev, D.; "Extended Object Diagrams for Transformational Specifications in Modeling Environments"; In Proceedings of the Second International Symposium on Constructing Software Engineering Tools; 2000; pp. 121-131.

Plantec, A.; Ribaud, V.; "Using and Re-using Application Genetarors"; In Proceedings of the First International Symposium on Constructing Software Engineering Tools; 1999; pp 59-65.

Emde-Boas, G. v.; "Architecture Based Code Generation from UML Models"; OOPSLA'2001 Workshop on Generative Programming; 2001; URL http://www.generative-programming.org/oopsla01-workshop.html

Staa, A.; Manual de Referência: Talisman: Ambiente de Engenharia de Software Assistido por Computador; Rio de Janeiro; 1993

Bettin, J.; "Practical Use of Generative Techniques in Software Development Projects: an Approach that Survives in Harsh Environments"; OOPSLA'2001 Workshop on Generative Programming; 2001; URL http://www.generative-programming.org/oopsla01-workshop.html

Rational Co.; Rose 98 Rose Extensibility User's Guide, 1998.

Franca, L.PA.; "Um Processo de Construção de Geradores de Artefatos"; Tese de Doutorado; PUC-Rio; 2000

Staa, A.; Franca, L.PA.; "Geradores de Artefatos: Implementação e Instanciação de Frameworks"; Anais do XV Simpósio Brasileiro de Engenharia de Software; SBC 2001; pp 302-315

Staa, A.; Franca, L.PA.; "ProtoBD: Prototipador de Modelo de Dados"; Anais do XIV Simpósio Brasileiro de Engenharia de Software; SBC 2000; pp 374-375

Staa, A.; Franca, L.PA.; "A Construction Process for Artifacts Generators using a CASE Tool"; ICSR7 Workshop on Generative Programming 2002; Austin; Texas; EUA, http://www.cwi.nl/events/2002/GP2002/GP2002-Proceedings.pdf

Brodsky, S.; "XMI Opens Application Interchange"; IBM, 1999. http://www-3.ibm.com/software/ad/standards/xmiwhite0399.pdf

Neighbors, J.; "Techniques for Generating Communicating Systems"; ICSR7 WorkShop on Generative Programming 2002; Austin, Texas, EUA, Apr. 2002; URL http://www.cwi.nl/events/2002/GP2002/GP2002-Proceedings.pdf

Nentwich, C.; Emmerich, W.; Finkelstein, A.; Zisman, A.; "BOX: Browsing objects in XML"; Software-Practice and Experience 30; 2000; pp 1661-1676

Cleaveland, C.; Program Generators using Java and XML; Prentice-Hall; 2000

Basset, P.; "Frame-Based Software Engineering"; IEEE Software 4(4); 1987; pp 916

Basset, P.; Framing Software Reuse; Prentice-Hall; 1996

Basset, P.; "The Theory and Practice of Adaptive Reuse"; Symposium on Software Reusability; 1997; pp 2-9

Oliveira, A.; Oliveira, J.; "Uma Arquitetura para Reduzir a Complexidade e Aumentar a Produtividade do Ciclo de Vida do Desenvolvimento de Sistemas"; Anais do XIII Simpósio Brasileiro de Engenharia de Software; SBC; 1999; pp 181-194

Barrére, T.; Prado, A.; Bonafé, V.; "CASE Orientada a Objetos com Múltiplas Visões de Requisitos e Implementação Automática de Sistemas-MVCASE"; Anais do XIII Simpósio Brasileiro de Engenharia de Software; SBC; 1999; pp 113-128
Publicado
16/10/2002
FRANCA, Luiz Paulo Alves; STAA, Arndt von. Uma Arquitetura Aberta para Geradores de Artefatos. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 16. , 2002, Gramado/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2002 . p. 38-51. DOI: https://doi.org/10.5753/sbes.2002.23937.