Geradores de Artefatos: Implementação e Instanciação de Frameworks
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.
Referências
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