Configurando Protocolos de Interação na Abordagem R-RIO

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

Abstract


Modern applications have dynamic nature and need support to be adapted in face of new functional and non-functional demands. New functional demands are created by applications' users that need functions that were not originally anticipated or need to change existing ones. Non-functional requirements that, in general, are not directly associated with the application functions can also appear during the applications’ life-cycle. Usual software development models do not provide the desired facilities to produce applications that can be dynamically adapted. Therefore, an approach to facilitate the development of these applications is necessary. In this paper we present the R-RIO approach, that extends the traditional configuration concept, allowing application architectures to be described by components and their interactions and, additionally, by their functional and non-functional aspects, such as distribution, coordination and communication protocols. The architecture of an application is described using CBabel, R-RIO’s configuration language. A middleware, called configurator, makes it possible to create and execute program instances, described through the configuration language, which can be adapted to new requirements even during their operation. The TicTacToe game is used to illustrate the design of an application with a complex interaction protocol using R-RIO and to allow comparisons with other approaches.

References

Agha, G., Frolund, S. et alli, "Abstraction and Modularity Mechanisms for Concurrent Computing", IEEE Parallel and Distributed Technology, Systems and Applications, IEEE Computer Society, Maio, 1993.

Astley, M. e Agha, G., "Customizations and Composition of Distributed Objects: Middleware Abstractions for Policy Management", ACM SIGSOFT'98 - 6th. International Syposioum on Foundations of Software Engineering, Lake BuenaVista, Florida, pp. 1-9, Novembro, 1998.

Aksit, M. "Composition and Separation of Concerns in the Object-Oriented Model", ACM Computing Surveys, 28A (4), Dezembro, 1996.

Allen, R., Garlan, D., "Beyond Definition/Use: Architectural Interconnection", ACM SIGPLAN Notices, Volume 29, No 8, IDL Workshop, pp. 35-44, Agosto, 1994.

____, "Aspect™ Specification", Xerox, Paulo Alto Center, Março, 1998.

Bergmans, Lodewijk M.J.; "Composing Concurrent Objects - Applying Composition Filters for the Development and Reuse of Concurrent Object-Oriented Programmming", PhD Thesis, Universiteit Twente, Finlandia, 1996.

Bishop, J. and Faria, R, "Connectors in Configuration Programming Languages: are They Necessary?", IEEE Third International Conference on Configurable Distributed Systems, Annapolis, Maio, 1996.

Chiba, S., "Open C++ Programmer's Guide for Version 2", Xerox PARC, Technical Report SPL-96-024, Xerox PARC, Maio,1996.

Fraga, J., Farines, J., Furtado, O., Siqueira, F., "Programação de Aplicações Distribuídas Tempo-Real em Sistemas Abertos, XXIII Seminário Integrado de Software e Hardware, Recife, PE, Agosto, 1996.

Gamma, E. et. Alli, "Design Patterns - Elements of Reusable Object-Oriented Software", Addison-Wesley Publishing Co., EUA, 1995.

Golm, M.; "Design and Implementation of a Meta Architecture for Java", M.Sc. Thesis, Instituto de Matemática, Erlanngen-Nüremberg University, Alemanha, 1997.

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

Issarny, V. and Bidan, C., "Aster: A CORBA-based Software Interconnection System Supporting Distributed System Customization", International Conference on Configurable Distributed Systems, Annapolis, Maio, 1996.

Jackson, M, e Zave, P., "Distributed Feature Composition: A Virtual Architecture for Telecommunications Services", IEEE Trasaction on Software Enginnering, Vol. 24, No. 10, pp. 831-847, Outubro, 1998.

Arnold, K. e Gosling, J., "The Java Programming Language", Second Edition, Sun Microsystems, Addison Wesley, EUA, 1998.

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

Jones, M. B., "Interposition Agents: Transparently Interposing User Code at the System Interface", 14th ACM Symp.on Operating Systems Principles, Asheville, 1993.

Kiczales, G. and Irwing, J. et alli, "Aspect-Oriented Programming", Position Paper for the ACM Workshop on Strategic Directions in Computing Research, MIT, June, 1996.

Kiczales, G., Lamping, J., Lopes, C. V., Maeda, C., Mendhekar, A., "Open Implementations Design Guidelines", 19th International Conference on Software Engineering, ACM Press, 1997.

Kiczales, G., Lopes, C. V., "Aspect Oriented Programming with AspectJ - Tutorial / Part 4", Xerox PARC, www.parc.xerox.com/aop, 1998.

Laddaga, R. and Veitch, J., "Dynamic Object Technology", Communications of the ACM, Vol. 40, No. 5, May, 1997.

Lobosco, M. "R-RIO: Um Ambiente de Suporte à Construção e Evolução de Sistemas Distribuídos", dissertação de mestrado, CAA/UFF, Março,1999.

Lopes, Cristina I. V.; "D: A Language Framework for Distributed Programming", Doctor of Philosophy Thesis, College of Computer Science, Northeastern University, Novembro, 1997.

Loques, O., Botafogo, R., Leite, J., "A Configuration Approach for Distributed Object-Oriented System Customization", IEEE Third International Workshop on Object-oriented Real-time Dependable Systems, Newport Beach, Fevereiro, 1997.

Loques, O., Leite, J., Sztajnberg, A e Lobosco, M., "Towards Integrating Meta-Level Programming and Configuration Programming", SBES 99, Florianópolis, Outubro, 1999.

Magee, J., Dulay, N., Kramer, J., "Structuring parallel and distributed programs", Int. Workshop on Configurable Distributed Systems, pp. 102-117, IEE, Março, 1992.

Malucelli, V. V, "Babel - Construindo Aplicações por Evolução", dissertação de mestrado, DEE / PUC-RJ, Fevereiro, 1996.

Monroe, R. T., Kompanek, A., Melton, R. e Garlan, D., "Architectural Styles, Design Patterns and Objects", IEEE Software, Vol. 14, No. 1, pp. 43-52, Janeiro de 1997.

Oliva, A., e Buzato, L. E., "Composition of Meta-Objects in Guaraná", ECOOP 98, Workshop Reflection, Canada, 1998.

OMG, "The Common Object Request Broker: Architecture and Specification", Revision 2.0, Julho, 1996.

Rine, D. C., "Supporting Reuse with Object Technology", IEEE Computer, Vol. 30, No. 10, pp. 43-45, Outubro, 1997.

Shaw, M., DeLine, R., et alli, "Abstractions for software architecture and tools to support them", IEEE Transactions on Software Engineering, Vol. 21, No. 4, Abril, 1995.

Sztajnberg, A, "Cap 2 - Análise de Propostas Correlatas", proposta de tema de tese de doutorado, COPPE/UFRJ, Julho, 1999.

Wegner, P., "Interoperability", ACM Computing Surveys, Vol. 28, No. 1, Março,1996
Published
1999-10-13
SZTAJNBERG, Alexandre; LOBOSCO, Marcelo; LOQUES, Orlando. Configurando Protocolos de Interação na Abordagem R-RIO. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 13. , 1999, Florianópolis/SC. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1999 . p. 17-32. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.1999.23912.