A plan-based intelligent assistant that supports the software development
- 3 November 1988
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGSOFT Software Engineering Notes
- Vol. 13 (5) , 97-106
- https://doi.org/10.1145/64137.65012
Abstract
We describe how an environment can be extended to support the process of software development. Our approach is based on the AI planning paradigm. Processes are formally defined hierarchically via plan operators, using multiple levels of abstraction. Plans are constructed dynamically from the operators; the sequences of actions in plans are tailored to the context of their use, and conflicts among actions are prevented. Monitoring of the development process, to detect and avert process errors, is accomplished by plan recognition ; this establishes a context in which programmer-selected goals can be automated via plan generation . We also show how nonmonotonic reasoning can be used to make an independent assessment of the credibility of complex process alternatives, and yet accede to the programmer's superior judgment. This extension to intelligent assistance provides deeper understanding of software processes.Keywords
This publication has 11 references indexed in Scilit:
- Worlds: an organizing structure for object-basesPublished by Association for Computing Machinery (ACM) ,1987
- The Programmer's Apprentice: A Session with KBEmacsIEEE Transactions on Software Engineering, 1985
- Automating the Transformational Development of SoftwareIEEE Transactions on Software Engineering, 1985
- Rcs — a system for version controlSoftware: Practice and Experience, 1985
- PROUST: Knowledge-Based Program UnderstandingIEEE Transactions on Software Engineering, 1985
- Talking to UNIX in EnglishCommunications of the ACM, 1984
- Domain-independent planning Representation and plan generationArtificial Intelligence, 1984
- Computer-Aided Software Engineering in a distributed workstation environmentPublished by Association for Computing Machinery (ACM) ,1984
- Initial Report on a Lisp Programmer's ApprenticeIEEE Transactions on Software Engineering, 1978
- The entity-relationship model—toward a unified view of dataACM Transactions on Database Systems, 1976