A Component Based Infrastructure to Develop Software Supporting Dynamic Unanticipated Evolution
Resumo
Neste artigo apresenta-se uma infra-estrutura baseada em componentes para o desenvolvimento de software com suporte à evolução dinâmica não antecipada. Propõe-se um modelo de componentes que provê mecanismos para gerenciar alterações no software não previstas em projeto, inclusive em tempo de execução. Apresenta-se uma implementação em Java do modelo de componentes e um modelo analítico para avaliação de desempenho. Para dar suporte às atividades de desenvolvimento, propõe-se uma ferramenta baseada na plataforma Eclipse. Por fim, apresenta-se uma aplicação da infra-estrutura proposta para o desenvolvimento de um middleware para computação pervasiva.
Referências
Cervantes, H. and Hall, R. S. (2004). Autonomous Adaptation to Dynamic Availability Using a Service-Oriented Component Model. In Proceedings of the International Conference on Software Engineering (ICSE), pages 614–623. IEEE Computer Society.
Crnkovic, I. (2001). Component-based Software Engineering New Challenges in Software Development. In Software Focus, volume 4, pages 127–133. Wiley.
Ebraert, P., Vandewoude, Y., D’Hondt, T., and Berbers, Y. (2005). Pitfalls in unanticipated dynamic software evolution. In Proceedings of the Workshop on Reflection, AOP and Meta-Data for Software Evolution(RAM-SE’05).
Fayad, M., Johnson, R., and Schmidt, D. (2000). Building Application Frameworks. Wiley.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-oriented Software. Addison-Wesley.
Handorean, R. and Roman, G.-C. (2003). Secure Service Provision in Ad Hoc Networks. In Proc. of the First International Conference on Service Oriented Computing, volume 2910 of Lecture Notes in Computer Science, pages 367–383, Trento, Italy. Springer Verlag.
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. (2001). An Overview of AspectJ. In ECOOP ’01: Proceedings of the 15th European Conference on Object-Oriented Programming, pages 327–353, London, UK. Springer-Verlag.
Kniesel, G., Noppen, J., Mens, T., and Buckley, J. (2002). 1st Int. Workshop on Unanticipated Software Evolution. In ECOOP Workshop Reader, volume 2548 of LNCS. Springer Verlag.
Loureiro, E., Oliveira, L., Almeida, H., Ferreira, G., and Perkusich, A. (2005). Improving flexibility on host discovery for pervasive computing middlewares. In 3rd International Workshop on Middleware for Pervasive and Ad-hoc Computing, Grenoble, France. ACM Press.
Mayer, J., Melzer, I., and Schweiggert, F. (2003). Lightweight Plug-In-Based Application Development. In NODe ’02: Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World, pages 87–102. Springer-Verlag.
Papazoglou, M. P. (2003). Service-Oriented Computing: Concepts, Characteristics and Directions. In Proc. of Fourth International Conference on Web Information Systems Engineering, pages 3–12, Rome, Italy. IEEE.
Piccinelli, G., Zirpins, C., and Lamersdorf, W. (2003). The FRESCO Framework: An Overview. In Proceedings of the 2003 Symposium on Applications and the Internet Workshops, pages 120–123, Orlando, USA. IEEE Computer Society.
Vlissides, J., Coplien, J., and Kerth, N. (1996). Pattern Languages of Program Design 2. Addison-Wesley.
Waldo, J. (1999). The Jini Architecture for Network-centric Computing. Communications of the ACM, 42(7):76–82.