Feedback Control of Software Processes
Personnel
Research Objective and Methodology
Publications
Personnel:
  • Joao Cangussu, Department of Computer Science, University of Texas at Dallas
  • Scott Miller, Department of Computer Science, Purdue University
Research Objective
The long term objective of this research is to transform the software development process from its current state of practice into one wherein the entire development process is controlled with the active assistance of Feedback Controllers derived using the theory of Automatic Control. Towards this end, a linear state variable model of the software test process has been developed and studied in a commercial setting. The fundamental assumptions that lie at the heart of this model are derived using an analogy between the System Test phase and a spring-mass-dashpot system. We have temporarilty labelled our approach as the CDM approach.

Methodology

We consider the software development process as a plant that produces software. (See the diagram below.) This plant is comprised of several stages (e.g. Design, Coding, and System Testing) that have forward and feedback connections. Each stage is a plant in itself. For each plant we identify the input, output, and parameters that affect its performance. Given vectors C and O that denote, respectively, control inputs, and plant objective(s), we attempt to answer the following question: "At a given time t what changes are necessary in C such that the product coming out of the plant meets the desired quality and schedule objectives O."

The above question has a classical control problem formulation. The plant is modeled using state variables and a suitable controller synthesized. The controller sits in the feedback loop and offers suggestions to the management to improve the production process inside the plant. Note that the controller does not actuate any controllers but offers sound suggestions to humans repsonsible for the management of the plant being controlled.

System Dynamics versus the CDM Approach

The systems dynamics (SD) approach to modelling any system was proposed in the 60's by Professor Jay Forrestor. Abdel-Hamid and Madnick were perhaps the first to apply this approach to the modeling of the software process. SD is a simulation-based approach. It answers "What if" questions. For example, "How will the productivity be effected by an increase in the rate of transforming function points to design?" CDM offers quantitative answers to "How to" questions. For example,"What changes made to the software test process will allow the process to be completed within the original schedule and meet the quality objective?" While SD answers such questions using alternate runs of a simulation model, CDM offers the answers by solving a state-variable model of the process. We believe that SD and CDM are complementary approaches; both take a systems view of the software development process but use very different modeling techniques.

Publications:
  1. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. Effect of Disturbances on the Convergence of Failure Intensity, to appear in the Proceedings of the 13th International Symposium on Software Reliability Engineering, IEEE Press, Annapolis, MD, November 12-15, 2002.
  2. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. A Formal Model of the Software Test Process, IEEE Transactions on Software Engineering, Vol.28, No. 8, pp.782-796, August~2002.
  3. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. A Formal Model of the Software Test Process Technical Report, March 2001 , SERC-TR-176-P.
  4. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. Sensitivity Analysis of the State Variable Model of the Software Test Process, IEEE Systems, Man, and Cybernetics 2001 (SMC'2001), Tucson-AZ, October 7-10, 2001.
  5. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. A State Model for the Software Test Process with Automated Parameter Identification, IEEE Systems, Man, and Cybernetics 2001 (SMC'2001),Tucson-AZ, October 7-10, 2001
  6. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. Feedback Control of the Software Test Process Through Measurements of Software Reliability, Proceedings of the 12th International Symposium on Software Reliability Engineering, IEEE Press, Hong Kong, pp 232-241, November 27-30, 2001.
  7. Joao Cangussu, Raymond A. DeCarlo. Aditya P. Mathur. A State Variable Model for the Software Test Process, Proceedings of 13th International Conference, Software & Systems Engineering and their Applications (ICSSEA~2000), December 5-8, 2000, Vol. 2 (no absolute page numbers available), Paris.
Last update: September 30, 2002