An architecture for intelligent assistance in software development

  • Authors:
  • G. E. Kaiser;P. H. Feiler

  • Affiliations:
  • Columbia University, Department of Computer Science, New York, NY;Carnegie-Mellon University, Software Engineering Institute, Pittsburgh, PA

  • Venue:
  • ICSE '87 Proceedings of the 9th international conference on Software Engineering
  • Year:
  • 1987

Quantified Score

Hi-index 0.00

Visualization

Abstract

We define an architecture for a software engineering environment that behaves as an intelligent assistant. Our architecture consists of three key aspects: an objectbase, a model of the software development activities, and controlled automation. Our objectbase is adapted from other research, but our model is unique in that is consists primarily of rules that define the preconditions and multiple postconditions of software development activities. Our most significant contribution is opportunistic processing, whereby the environment performs software development activities through controlled automation. This is accomplished by a forward and backward chaining interpretation of the rule set. Activities are automatically carried out at some time between when their preconditions are satisfied and when their postconditions are required. Automation is controlled through strategies that guide the assistant in choosing an appropriate point for carrying out each activity.