Geradores de Artefatos: Implementação e Instanciação de Frameworks

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

Resumo


Existem muitas similaridades entre um gerador de artefatos e um framework. Sob uma ótica de framework, as partes fixas do artefato gerado corresponde aos frozen-spots, já as partes variáveis corresponde aos hot-spots. A atividade de configuração dos hot-spots de um framework corresponde ao fornecimento da especificação do artefato que vai ser gerado. Já a instanciação de um framework, no contexto do gerador, corresponde aos mecanismos de geração. Em função das semelhanças encontradas entre geradores e frameworks, este artigo procura detalhar o processo de construção de geradores sob o ponto de vista do desenvolvimento de frameworks.

Palavras-chave: Framework, Ferramentas para engenharia de software, Geração de artefatos, Meta-geradores, Processo de desenvolvimento de geradores, Reusabilidade

Referências

Barosa, R.; "Usando Ferramentas 4GL para Gerar Código Java"; Developers' Magazine (44); 2000; pp 10-12

Baumer, D.; Gryczan, G.; Knoll, R.; Lilienthal, C.; Riehle, D.; Züllighoven, H. "Framework Development for Large Systems"; Communications of the ACM; 40(10); 1997; pp 52-59

Brugali, D.; Menga, G.; Aarsten, A.; "The Framework Life Span"; Communications of the ACM; 40(10); 1997; pp 65-68

Codenie, W.; Hondt, K.; Steyaert, P.; Vercammen, A.; "From Custom Applications to Domain-Specific Frameworks"; Communications of the ACM; 40(10); 1997; pp 70-77

Froehlich, G.; Hoover, H.; Liu, L.; Sorenson, P.; "Hooking into Object-Oriented Application Frameworks"; Proceedings of International Conference on Software Engineering; 1997; pp 491-501

Froehlich, G.; Hoover, H.; Liu, L.; Sorenson, P.; "Reusing Hooks"; In Mohamed Fayad and Douglas C. Schmidt (Eds.); Building Application Frameworks: Object-Oriented Foundations of Framework Design; John-Wiley & Sons; 1999; pp 219-236

Fileto, R.; Meira, C.; Costa, C.; Masshurá, S.; "A Construção de um Gerador de Programas Aplicativos segundo Conceitos de Análise de Domínios"; Anais do X Simpósio Brasileiro de Engenharia de Software; Ed. SBC; 1996; pp 119-135

Fontoura, M.F.; Uma Abordagem Sistemática para o Desenvolvimento de Frameworks; Tese de Doutorado; Depto. Informática PUC-Rio; 1999

Franca, L.P.A.; Um Processo para Construção de Geradores de Artefatos; Tese de Doutorado; Depto. Informática PUC-Rio; 2000

Franca, L.P.A.; Staa A.; Fonte, H.; "Um Modelo de Classes para uma Ambiente de Geração de Programas de Medição de Software Baseados na Web"; Anais do XIII Simpósio Brasileiro de Engenharia de Software; Ed. SBC; 1999; pp 225-236

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

Gamma, E.; Helm, R.; Johnson, R.; Vlissides, J.; Design Patterns, Elements of Reusable Object-Oriented Software; Ed. Addison-Wesley; 1995.

Harel, D.; "From Play-In Scenarios to Code: An Achievable Dream"; IEEE Computer; 34(1); 2001; pp 53-60.

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.

Johnson, R.; "Frameworks = (Components + Patterns)"; Communications of the ACM; 40(10); 1997; pp 39-42

Lanergan, R.; Grasso, C.; "Software Engineering with Reusable Designs and Code"; In Ted J. Biggerstaff and Alan Perlis (Eds.); Software Reusability; Addison-Wesley/ACM Press; 1989; pp 187-196

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.

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

Pree, W.; Design Patterns for Object-Oriented Software Development; Prentice-Hall, NJ; 1996.

Pree, W.; "Hot-Spot-Driven Development"; In Mohamed Fayad and Douglas C. Schmidt (Eds.); Building Application Frameworks: Object-Oriented Foundations of Framework Design; John-Wiley & Sons; 1999; pp. 379-393.

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

Roberts, D.; Johnson, R.; "Evolving Frameworks: A Pattern Language for Developing Object-Oriented Frameworks"; Proceedings of the Third conference on Pattern Languages and Programming; Illinois;1996; [link]

Schmid, H.; "Creating Applications from Components: A Manufacturing Framework Design"; IEEE Software; 13(6); 1996; pp 67-75

Schmid, H.; "Systematic Framework Design by Generalization"; Communications of the ACM; 40(10); 1997; pp 48-51

Schmid, H.; "Framework Design by Systematic Generalization"; In Mohamed Fayad and Douglas C. Schmidt (Eds.); Building Application Frameworks: Object-Oriented Foundations of Framework Design; John-Wiley & Sons; 1999; pp. 379-393.

Staa, A.; Manual de Referência: Talisman: Ambiente de Engenharia de Software Assistido por Computador; Staa Informática; 1993.

Staa, A.; Programação Modular; Ed. Campus; 2000
Publicado
03/10/2001
FRANCA, Luiz Paulo Alves; STAA, Arndt von. Geradores de Artefatos: Implementação e Instanciação de Frameworks. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 15. , 2001, Rio de Janeiro/RJ. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2001 . p. 302-315. DOI: https://doi.org/10.5753/sbes.2001.23996.