Uma Arquitetura Aberta para Geradores de Artefatos

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

Abstract


Although the use of artifact generators can lead to substantial gains when developing or maintaining software, this technology has received little attention and is used only by few organizations. Besides the traditional social and cultural barriers of adopting new technologies, one of the possible explanations is the development complexity of such tools. This article describes an architecture proposal based on lessons learned during the years we researched the development process of such tools. The proposed architecture employs only widely used tools to implement the components of an artifact generator. This architecture has been implemented using commercially available tools, such as a CASE tool, a relational database management system and the ASP template language.

Keywords: Artifact generators, Generative programming, Software-product line, CASE, Web oriented development, XML

References

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
Published
2002-10-16
FRANCA, Luiz Paulo Alves; STAA, Arndt von. Uma Arquitetura Aberta para Geradores de Artefatos. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 16. , 2002, Gramado/RS. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2002 . p. 38-51. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2002.23937.