Modularization with Externalization of Control Flow

The architectural design decides the quality and the longevity of the software. Gross decomposition of a system into interacting components using proper abstractions for component interaction defines the modularity of the system which in turn decides the values of quality attributes such as performance, reliability, security and modifiability as well as the percentage of design reuse. The decisions of modularization are supported by metrics like cohesion and coupling. In this paper we will focus on the quality attributes, modifiability and evolvability of a system which are overlapping to a large extent and which mainly get affected by the modularization of the system. The principle of encapsulation in Object Oriented (00) design overcame the flaws present in structured methodology due to separate data and process components and their interdependencies. But problems in the evolution of 00 systems due to crosscutting concerns were resolved using Aspect Oriented paradigm. The externalization of business logic using rule-based systems also was taken as solution to the evolution of complex software systems. Here we focus on the different existing modularization solutions which support the evolvability of a software and the framework CFFES (Control Flow Framework for Evolving Systems) proposed by us.

[1]  Awais Rashid,et al.  Modular Aspect Verification for Safer Aspect-Based Evolution , 2005, RAM-SE.

[2]  Uirá Kulesza,et al.  Towards an Integrated Aspect-Oriented Modeling Approach for Software Architecture Design , 2006 .

[3]  Jianhua Shao,et al.  Analysing the Impact of Adding Integrity Constraints to Information Systems , 2003, CAiSE.

[4]  Brian Warboys,et al.  Business rule evolution and measures of business rule evolution , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[5]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Brian Warboys,et al.  Facilitating the implementation and evolution of business rules , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[8]  M. Wermelinger,et al.  Support for business-driven evolution with coordination technologies , 2001, IWPSE '01.

[9]  J. M. Murillo,et al.  Aspect Oriented Software Architecture : a Structural Perspective , 2002 .

[10]  Philip James Greenwood,et al.  Dynamic Framed Aspects for Dynamic Software Evolution , 2004, RAM-SE.

[11]  Neil Loughran,et al.  Supporting Evolution in Software using Frame Technology and Aspect-Orientation , 2003 .

[12]  Stanley M. Sutton,et al.  Multi-Dimensional Separation of Concerns , 1999 .

[13]  Michel Wermelinger,et al.  Using coordination contracts for flexible adaptation to changing business rules , 2003, Sixth International Workshop on Principles of Software Evolution, 2003. Proceedings..

[14]  Tomoji Kishi,et al.  On aspect-oriented design-an approach to designing quality attributes , 1999, Proceedings Sixth Asia Pacific Software Engineering Conference (ASPEC'99) (Cat. No.PR00509).

[15]  Ruzanna Chitchyan,et al.  AOP and Reflection for Dynamic Hyperslices , 2004, RAM-SE.

[16]  Iris Groher,et al.  Aspect-Orientation from Design to Code , 2004 .

[17]  M.M. Lehman,et al.  Programs, life cycles, and laws of software evolution , 1980, Proceedings of the IEEE.

[18]  B. R. Pekilis Multi-Dimensional Separation of Concerns and IBM Hyper/J , 2002 .

[19]  Nandlal L. Sarda,et al.  Framework for evolving systems , 2006, ICSE 2006.