Impact Analysis of Changes in Functional Requirements in the Behavioral View of Software Architectures

Looman, S.A.M. (2009) Impact Analysis of Changes in Functional Requirements in the Behavioral View of Software Architectures.

Abstract:In software development, customer requirements are the driver for the produced system. The requirements are ultimately translated by software engineers into a solution. An architecture is created based on the requirements. The architecture describes the system at a high level of abstraction using one or more views. During and after the process of creating the solution, the customer needs often evolve resulting in changed requirements. The architecture has to be changed accordingly to satisfy the changed requirements. Change impact analysis will help changing the architecture to support the satisfaction of the changed requirements. Currently, performing change impact analysis is hard, because both the requirements and the architecture are not formalized. We propose an approach on how to perform change impact analysis in software architectures. This approach is based on the validation of functional requirements. The functional requirements are transformed into a formal behavior description. This formal behavior description states the behavior which must be present, or absent, in the behavior of the architecture. If one or more of the formal behavior descriptions fail, we can identify which requirements are not satisfied by the architecture. Based on traces between the requirements and architecture, and the requirements which are not satisfied by the architecture, we can identify the components of the architecture which are not satisfying the requirements. In order to validate requirements, we need to derive the behavior of the architecture. The behavior of the architecture is derived by building a simulatable model based on the architecture. AADL is used to record the architecture itself. The architecture is annotated with additional properties to specify the behavior of individual components. The simulation of the architecture is performed using the modeling language Alloy. Using the simulation in Alloy, we derive the state space which represents the behavior of the architecture. After simulation of the architecture, we can assert whether the architecture satisfies the requirements. Given the derived state space through simulation, satisfaction of functional requirements, and traces from functional requirements to architecture components, we perform change impact analysis. We provide several guidelines for different activities of this process. To identify strengths and weaknesses of the approach, the apporoach is evaluated by performing five change scenarios in an existing project. The results of the change scenarios are discussed afterwards. From this research we can conclude that the proposed approach is promising. However, Alloy imposes limitation on the size of the architecture and length of simulation. Also, Alloy is slow when simulating architectures. Other directions are given for future research.
Item Type:Essay (Master)
Faculty:EEMCS: Electrical Engineering, Mathematics and Computer Science
Subject:54 computer science
Programme:Computer Science MSc (60300)
Link to this item:
Export this item as:BibTeX
HTML Citation
Reference Manager


Repository Staff Only: item control page