HP Labs Technical Reports
Click here for full text:
Towards Self-Evolving Process-Driven Environments
Bhansali, Sanjay; Garg, Pankaj K.
Abstract: Process-driven software development environments (PSDEs) provide support for the software (life-cycle) processes within which the environment is embedded and operational. This support includes tools and mechanisms for: modeling, analysis, automation, execution, optmization, and evolution of processes. In this paper, we concentrate on the mechanisms that a PSDE can provide for the evolution of software processes. We envisage a PSDI with a repository of process programs that are applicable in different situations. The repository needs to be evolved with additional process programs when: (1) a new automatable process fragment is discovered, or (2) the programming tools or policies have changed. We discuss the evolution of this repository wherein the environment plays a helping role - it assists by generalizing the history sequence of user actions that led to the discovery of the new process fragment. The contributions of this paper are: a formal model of a PSDE, and an explanation-based generalization algorithm that helps in a PSDEs self-evolution. For experimental purposes, the algorithm has been implemented for the UNIX programming environment, with specialized shell scripts as process programs. We present empirical evidence, based on this implementation, that suggests the practicality of our approach. In addition, we suggest that if shell scripts, i.e., process fragments, were developed using our approach then they will be more generally applicable and reusable.
Back to Index