A Component Based Infrastructure to Develop Software Supporting Dynamic Unanticipated Evolution

  • Hyggo Almeida UFCG
  • Angelo Perkusich UFCG
  • Evandro Costa UFAL
  • Glauber Ferreira UFCG
  • Emerson Loureiro UFCG
  • Loreno Oliveira UFCG
  • Rodrigo Paes PUC-Rio

Abstract


This paper presents a component based infrastructure for developing software supporting dynamic unanticipated software evolution. We propose a component model providing mechanisms for managing unpredicted software changes, even at runtime. A Java implementation of the proposed model is also presented. Moreover, a performance evaluation model and an Eclipse-based tool to support composition activities are described. Finally, a pervasive computing middleware application developed using the proposed infrastructure is presented.

References

Ben-Shaul, I., Holder, O., and Lavva, B. (2001). Dynamic Adaptation and Deployment of Distributed Components In Hadas. IEEE Trans. Softw. Eng., 27(9):769–787.

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.
Published
2006-10-16
ALMEIDA, Hyggo; PERKUSICH, Angelo; COSTA, Evandro; FERREIRA, Glauber; LOUREIRO, Emerson; OLIVEIRA, Loreno; PAES, Rodrigo. A Component Based Infrastructure to Develop Software Supporting Dynamic Unanticipated Evolution. In: BRAZILIAN SYMPOSIUM ON SOFTWARE ENGINEERING (SBES), 20. , 2006, Florianópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2006 . p. 145-160. ISSN 2833-0633. DOI: https://doi.org/10.5753/sbes.2006.21210.