Towards Integrating Meta-Level Programming and Configuration Programming

  • Orlando Loques UFF
  • Julius Leite UFF
  • Marcelo Lobosco UFF
  • Alexandre Sztajnberg UERJ / UFRJ

Resumo


Configuration Programming, based on Architecture Description Languages, and Meta-Level Programming are considered promising approaches in the software engineering field. This paper shows that there is an immediate correspondence between some key concepts of Configuration Programming and Meta-Level Programming and that some of the main issues to be solved for their deployment in real systems are quite similar. The main proposition is that the integration of both approaches in a single configuration programming framework can assist in putting into practice meta-level programming in order to achieve separation of concerns and improve software reuse.

Referências

Aksit M., Wakita K., et al., Abstracting object interactions using composition filters, in proc. ECOOP'93 Workshop on Object-Based Distributed Programming, pp. 152-184, 1993.

Allen, R., Garlan, D., A Formal Basis for Architectural Connection, in ACM Transactions on Software Engineering and Methodology, July 1997, also available in [link]

Astley M., Agha G.A., Customization and Composition of Distributed Objects: Middleware Abstractions for Policy Management, in proc. Sixth International Symposium on the Foundations of Software Engineering, ACM Software Engineering Notes, Vol. 23, N. 6, pp. 1-9, 1998.

Bergmans L.M.J., Composing Concurrent Objects Aplying Composition Filters for the Development And Reuse of Concurrent Object-Oriented Programming, Ph.D. Thesis, Universiteit Twente, Holland, 1996.

Chiba S., A Meta-Object Protocol for C++, in Proceedings of OOPSLA'95, ACM SIGPLAN Notices, Vol. 30, N. 10, pp. 285-299, 1995.

Fabre Fabre, J., etal., Implementing Fault Tolerant Applications Using Reflective ObjectOriented Programming, in proc. 25th IEEE International Symposium on Fault-Tolerant Computing, 1995.

Fraga, J., Maziero, C., Leung, L.C, Loques, O.G., Implementing Replicated Services in Open Systems Using a Reflective Approach, The Third International Symposium on Autonomous Decentralized Systems, Berlin, Germany, pp. 273-280, 1997.

Garlan D., Higher-Order Connectors, presented in Workshop on Compositional Software Architectures, [link], 1998.

Golm, M.; Design and Implementation of a Meta Architecture for Java, M.Sc. Thesis, Erlanngen-Nüremberg University, Germany, 1997.

Helm, R., Holland, I.M. e Gangopadhyay, D., Contracts: Specifying Behavioral Compositions in Object-Oriented Systems, OOPSLA'90, pp. 303-311, 1990.

Kiczales G., et al., Aspect-Oriented Programming, in ECOOP'97 Proceedings, Lecture Notes in Computer Science, Springer-Verlag, pages 220-242, 1997.

Kiczales G., Lamping J., et al., Open Implementation Design Guidelines, in proc. 19th International Conference on Software Engineering. ACM Press, 1997.

Kiczales G., Lopes C., Aspect-Oriented Programming with AspectJ, Xerox PARC, http://www.parc.xerox.com/aop, 1998.

Krieger D., Adler R.M., The Emergence of Distributed Component Platforms, in IEEE Computer Vol. 31, N. 3, pp. 43-53, 1998.

Ladaga, R., Veitch, J., Dynamic Object Technology, Communications of the ACM, Vol. 40, N. 5, pp. 37-38, 1997.

Lamping J., The Interaction of Components and Aspects, ECOOP'97 AOP Workshop document, http://www.cs.utwente.nl/aop-ecoop97, 1997.

Lobosco, M. R-RIO: A Java Environment for Supporting Evolving Distributed Systems Dissertation (in portuguese), M.Sc. Dissertation, CAA/UFF, Brazil, 1999.

Lopes, C.I.V.; D: A Language Framework for Distributed Programming, Ph.D. Thesis, College of Computer Science, Northeastern University, Boston, USA 1997.

Loques O., Botafogo R., Leite J., A Configuration Approach for Distributed ObjectOriented System Customization, Proceedings of the Third International IEEE Workshop on Object-Oriented Real-Time Dependable Systems, Newport Beach, USA, pp. 185-189, 1997.

Loques O., Leite J., Carrera E.V., P-RIO: A Modular Parallel-Programming Environment, IEEE Concurrency, Vol. 6, N. 1, pp. 47-56, 1998.

Luckhan D.C., et al., Specification and Analysis of System Architecture Using Rapide, IEEE Trans. on Software Engineering, Vol. 21, No. 4, pp. 336-355, 1995.

Malucelli, V. V, Babel - Building Applications by Evolution, M.Sc Dissertation (in portuguese), DEE / PUC-RJ, Rio de Janeiro, Brazil, 1996.

Matthijs F., et al., Aspects should not die, ECOOP'97 AOP Workshop document, http://www.cs.utwente.nl/aop-ecoop97, 1997.

Mens K, Lopes C.V., Tekinerdogan B, Kiczales G., ECOOP'97 Aspect-Oriented Programming Workshop Report, http://www.cs.utwente.nl/aop-ecoop97, 1997.

Moriconi M., Qian X., Correctness and Composition of Software Architectures, Proceedings of the Second ACM SIGSOFT Symposium on Foundations of Software Engineering, New Orleans, U.S.A., pp. 164-174, 1994.

Oliva A., Buzato L., Composition of Meta-Objects in Guaraná, in Proceedings of the Workshop on Reflective Programming in C++ and Java, pp 86-90, OOPSLA 98, Vancouver, Canada, 1998.

Raverdy P-G., Van Gong H., Lea R., DART: A Reflective Middleware for Adaptive Applications, in Proceedings of the Workshop on Reflective Programming in C++ and Java, pp. 37-45, OOPSLA 98, Vancouver, Canada, 1998.

Saltzer J.H., et al., End-toEnd Arguments in System Design, in Proceedings of 2nd Int'l Conference on Distributed Computing Systems, Paris, France, pp. 509-512, 1981.

Shaw M., et al., Abstractions for Software Architecture and Tools to Support Them, IEEE Trans. on Software Engineering, Vol. 21, No. 4, April 1995, pp. 314-335.

Sztajnberg, A., Flexibility and Separation of Concerns in Distributed Systems, Ph.D. Thesis proposal Dissertation (in portuguese), COPPE/UFRJ, Rio de Janeiro, Brazil, 1999.

Sztajnberg, A., Lobosco, M., Loques, O., Configurando protocolos de interação na abordagem R-RIO, XIII Simpósio Brasileiro de Engenharia de Software (aceito para publicação), Florianópolis, outubro de 1999.

Wegner P., Interoperability, ACM Computing Surveys, Vol. 28, No. 1, pp.285-287, 1996. 33.

Welch I., Stroud, R., Dalang A Reflective Java Extension. in Proceedings of the Workshop on Reflective Programming in C++ and Java, pp. 11-15, OOPSLA 98, Vancouver, 1998.
Publicado
13/10/1999
LOQUES, Orlando; LEITE, Julius; LOBOSCO, Marcelo; SZTAJNBERG, Alexandre. Towards Integrating Meta-Level Programming and Configuration Programming. In: SIMPÓSIO BRASILEIRO DE ENGENHARIA DE SOFTWARE (SBES), 13. , 1999, Florianópolis/SC. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1999 . p. 308-320. DOI: https://doi.org/10.5753/sbes.1999.23931.