Expectation, experiment and reflection on internet software evolution

Dynamic evolution is a challenging requirement of software application systems running in the open, dynamic and uncertain Internet. In this paper, we investigate expectations of Internet software evolution and propose a dynamic software architecture oriented approach. Notably, architecture information is reified as explicit and manipulable entities to support a runtime architecture meta-model, which is causally connected to the system implementation and specification. Moreover, mobile agent technology is exploited to implement the built-in architecture meta-model, supervising all evolutionary behaviors during runtime. A prototype supporting platform named Artemis-ARC is implemented as an attempt to facilitate the development of dynamically evolvable application systems. Based on existing practice, some reflection on Internet software evolution is also illustrated.

[1]  Jeff Magee,et al.  Dynamic structure in software architectures , 1996, SIGSOFT '96.

[2]  Flávio Oquendo,et al.  Support for evolving software architectures in the ArchWare ADL , 2004, Proceedings. Fourth Working IEEE/IFIP Conference on Software Architecture (WICSA 2004).

[3]  Richard Mark Soley Model Driven Architecture: Next Steps , 2005, ICEIS.

[4]  Meir M. Lehman,et al.  Rules and Tools for Software Evolution Planning and Management , 2001, Ann. Softw. Eng..

[5]  Hong Mei,et al.  Development of software engineering: co-operative efforts from academia, government and industry , 2006, ICSE.

[6]  Yang Fu Thinking on the Development of Software Engineering Technology , 2005 .

[7]  Ping Yu,et al.  A Dynamic Software Architecture Oriented Approach to Online Evolution , 2006 .

[8]  Huang Gang,et al.  Research on Architecture-Based Reflective Middleware , 2003 .

[9]  Gang Huang,et al.  Runtime software architecture based software online evolution , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[10]  David Garlan,et al.  Rainbow: architecture-based self-adaptation with reusable infrastructure , 2004 .

[11]  Ma Xiao A Service-Oriented Dynamic Coordination Architecture and Its Supporting System , 2005 .

[12]  Yang Fuqing Thinking on the Development of Software Engineering Technology , 2005 .

[13]  Richard N. Taylor,et al.  A language and environment for architecture-based software development and evolution , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[14]  David Garlan,et al.  Acme: an architecture description interchange language , 1997, CASCON.