Language constructs for managing change in process-centered environments

  • Authors:
  • Stanley M. Sutton, Jr.;Dennis Heimbigner;Leon J. Osterweil

  • Affiliations:
  • Department of Computer Science, University of Colorado, Boulder, CO;Department of Computer Science, University of Colorado, Boulder, CO;Department of Information and Computer Science, University of California, Irvine, CA

  • Venue:
  • SDE 4 Proceedings of the fourth ACM SIGSOFT symposium on Software development environments
  • Year:
  • 1990

Quantified Score

Hi-index 0.00

Visualization

Abstract

Change is pervasive during software development, affecting objects, processes, and environments. In process centered environments, change management can be facilitated by software-process programming, which formalizes the representation of software products and processes using software-process programming languages (SPPLs). To fully realize this goal SPPLs should include constructs that specifically address the problems of change management. These problems include lack of representation of inter-object relationships, weak semantics for inter-object relationships, visibility of implementations, lack of formal representation of software processes, and reliance on programmers to manage change manually.APPL/A is a prototype SPPL that addresses these problems. APPL/A is an extension to Ada.. The principal extensions include abstract, persistent relations with programmable implementations, relation attributes that may be composite and derived, triggers that react to relation operations, optionally-enforceable predicates on relations, and five composite statements with transaction-like capabilities.APPL/A relations and triggers are especially important for the problems raised here. Relations enable inter-object relationships to be represented explicitly and derivation dependencies to be maintained automatically. Relation bodies can be programmed to implement alternative storage and computation strategies without affecting users of relation specifications. Triggers can react to changes in relations, automatically propagating data, invoking tools, and performing other change management tasks. Predicates and the transaction-like statements support change management in the face of evolving standards of consistency. Together, these features mitigate many of the problems that complicate change management in software processes and process-centered environments.