This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
The Requirements Apprentice: Automated Assistance for Requirements Acquisition
March 1991 (vol. 17 no. 3)
pp. 226-240

An automated tool called the Requirements Apprentice (RA) which assists a human analyst in the creation and modification of software requirements is presented. Unlike most other requirements analysis tools, which start from a formal description language, the focus of the RA is on the transition between informal and formal specifications. The RA supports the earliest phases of creating a requirement, in which ambiguity, contradiction, and incompleteness are inevitable. From an artificial intelligence perspective, the central problem the RA faces is one of knowledge acquisition. The RA develops a coherent internal representation of a requirement from an initial set of disorganized imprecise statements. To do so, the RA relies on a variety of techniques, including dependency-directed reasoning, hybrid knowledge representations and the reuse of common forms (cliches). An annotated transcript showing an interaction with a working version of the RA is given.

[1] G. Arango and P. Freeman, "Modeling knowledge for software development," inProc. 3rd Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Aug. 1985, pp. 63-66.
[2] R. Babbet al., "Workshop on models and languages for software specification and design,"Computer, vol. 18, no. 3, pp. 103-108, Mar. 1985.
[3] B. W. Boehm, "Verifying and validating software requirements and design specifications,"IEEE Software, vol. 1, no. 1, pp. 75-88, Jan. 1984.
[4] R. Balzer, N. Goldman, and D. Wile, "Informality in program specifications,"IEEE Trans. Software Eng., vol. 4, no. 2, pp. 94-103, Mar. 1978.
[5] D. R. Barstow, "Domain-specific automatic programming,"IEEE Trans. Software Eng., vol. 11, no. 11, pp. 1321-1336, Nov. 1985.
[6] J. S. Bennett, "A knowledge-based system for acquiring the conceptual structue of a diagnostic expert system,"J. Automated Reasoning, vol. 1, no. 1, pp. 49-74, 1985.
[7] A. Borgida, S. Greenspan, and J. Mylopoulos, "Knowledge representation as the basis for requirements specifications,"Computer, vol. 18, no. 4, pp. 82-90, Apr. 1985.
[8] A. Crawford, "Joint application design: A new way to design systems," inGuide Int. Proc., Guide Int. Corp., 1982.
[9] A. Czuchry and D. Harris, "KBRA: A new paradigm for requirements engineering,"IEEE Expert, vol. 3, no. 4, pp. 21-35, Winter 1988.
[10] R. Davis, Interactive transfer of expertise: Aquisition of new inference rules,"Artificial Intell., vol. 12, pp. 121-157, 1979.
[11] J. Diederich, I. Ruhmann, and M. Maym, "KRITON: A knowledge acquisition tool for expert systems,"Int. J. Man-Machine Studies, vol. 26, no. 1, pp. 29-40, Jan. 1987.
[12] J. Doyle, "A truth maintenance system,"Artificial Intell., vol. 12, pp. 231-272, 1979.
[13] Y. A. Feldman and C. Rich, "Principles of knowledge representation and reasoning in the FRAPPE system," inProc. Sixth Israeli Symp. Artificial Intelligence, Dec. 1989.
[14] S. Fickas, "Automating analysis: An example," inProc. 4th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Apr. 1987, pp. 58-67.
[15] S. Fickas and P. Nagarajan, "Critiquing software specifications,"IEEE Software, vol. 5, no. 6, pp. 37-47, Nov. 1988.
[16] N. Haas and G.G. Hendrix, "Learning by being told: Acquiring knowledge for information management," inMachine Learning an Artificial Intelligence Approach, R. Michalskiet al., Eds., 1983, pp. 405-421.
[17] M. T. Harandi and F. H. Young, "Template based specification and design," inProc. 3rd Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Aug. 1985, pp. 94-97.
[18] W. Johnson and M. Feather, "Representing evolution transformations," inProc. 11th Int. Joint Conf. Artificial Intelligence, Workshop Automating Software Design, Aug. 1989, pp. 125-131.
[19] T. S. Kaczmarek, R. Bates, and G. Robins, "Recent developments in NIKL," inProc. 6th Nat. Conf. Artificial Intelligence, Aug. 1986, pp. 978-985.
[20] R. A. Kemmerer, "Testing formal specifications to detect design errors,"IEEE Trans. Software Eng., vol. 11, no. 1, pp. 32-43, Jan. 1985.
[21] J.Z. Lavi, "Improving the embedded computer systems software process using a generic model," inProc. 3rd Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Aug. 1985, pp. 127-129.
[22] S. Lee and S. Sluizer, "SXL: An executable specification language," inProc. 4th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Apr. 1987, pp. 231-235.
[23] P. M. Lefelhocz, "An experiment in knowledge acquisition for software requirements," MIT Artificial Intelligence Lab., Rep. MIT/AI/WP-330, May 1990.
[24] J. C. Leite, "Viewpoint analysis: A case study," inProc. 5th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, May 1989, pp. 111-119.
[25] M. L. Minsky, "A framework for representing knowledge," inThe Psychology of Computer Vision, P. H. Winston, Ed. New York: McGraw-Hill, 1975.
[26] M. L. Minsky,Society of Mind. New York: Simon&Schuster, 1987.
[27] M. Musem, L. Fagan, D. Combs, and E. Shortliffe, "Use of a domain model to drive an interactive knowledge-editing tool,"Int. J. Man-Machine Studies, vol. 26, no. 1, pp. 105-125, Jan. 1987.
[28] J.M. Neighbors, "The Draco approach to constructing software from reusable components,"IEEE Trans. Software Eng., vol. SE- 10, no. 5, pp. 564-574, Sept. 1984.
[29] P. Politakis and S. Weiss, "Using empirical analysis to refine expert system knowledge bases,"Artificial Intell., vol. 22, no. 1, pp. 23-48, 1984.
[30] C. Potts, "Requirements analysis, domain knowledge, and design," MCC, Tech. Rep. STP-313-88, Feb. 1989.
[31] C. Rich, "A formal representation for plans in the programmer's apprentice," inProc. 7th Int. Joint Conf. Artificial Intelligence, Aug. 1981, pp. 1044-1052.
[32] C. Rich, "The layered architecture of a system for reasoning about programs," inProc. 9th Int. Joint Conf. Artificial Intelligence, Aug. 1985, pp. 540-546.
[33] C. Rich and R.C. Waters, "The programmer's apprentice: A program design scenario," MIT Artificial Intelligence Lab., Rep. MIT/AIM-933A, Nov. 1987.
[34] C. Rich and R.C. Waters, "The programmer's apprentice: A research overview,"Computer, vol. 21, no. 11, pp. 10-25, Nov. 1988.
[35] C. Rich and R.C. Waters,The Programmer's Apprentice. Reading, MA: Addison-Wesley, and Baltimore, MD: ACM Press, 1990.
[36] C. Rich, R. C. Waters, and H. B. Reubenstein, "Toward a requirements apprentice," inProc. 4th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, Apr. 1987, pp. 79-86.
[37] H. B. Reubenstein, "Automated acquisition of evolving informal descriptions," Ph.D. dissertation, MIT Artificial Intelligence Lab., Rep. MIT/AI/TR-1205, June 1990.
[38] H. B. Reubenstein and R. C. Waters, "The requirements apprentice: An initial scenario," inProc. 5th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, May 1989, pp. 211-218.
[39] W. Robinson, "Integrating multiple specifications using domain goals," inProc. 5th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, May 1989, pp. 219-226.
[40] R. Schank, "A conceptual dependency representation for a computer-oriented semantics," Stanford Univ., Tech. Rep. AIM-83, 1969.
[41] J. G. Schmolze and T. A. Lipkis, "Classification in the KL-ONE knowledge representation system," inProc. 8th Int. Joint Conf. Artificial Intelligence, Aug. 1983, pp. 330-332.
[42] G. J. Susman, "The virtuous nature of bugs," inProc. Conf. Artificial Intelligence and the Simulation of Behavior, Univ. Sussex, England, July 1974.
[43] W. Swartout, "The GIST behavior explainer," inProc. 3rd Nat. Conf. Artificial Intelligence, Aug. 1983, pp. 402-407.
[44] D. Teichroew and E. Hershey, "PSL/PSA: A computer-aided technique for structured documentation and analysis of information processing systems,"IEEE Trans. Software Eng., vol. 3, no. 1, pp. 41-48, Jan. 1977.
[45] R. B. Terwilliger, M. J. Maybee, and L. J. Osterweil, "An example of formal specification as an aid to design and development," inProc. 5th Int. Workshop Software Specification and Design. Washington, DC: IEEE Computer Society Press, May 1989, pp. 266-272.
[46] R. C. Waters, "The programmers' apprentice: A session with KBEmacs,"IEEE Trans Software Eng., vol. SE-11, no. 11, pp. 1296-1320, Nov. 1985.
[47] J. M. Wing, "A Larch specification of the library problem," inProc. 4th Int. Workshop, Software Specification and Design. Washington, DC: IEEE Computer Society Press, Apr. 1987, pp. 34-41.
[48] S. Wrobel, "Design goals for sloppy modeling systems,"Int. J. Man-Machine Studies, vol. 29, no. 4, pp. 461-482, Oct. 1988.
[49] "Using the WISDM team method to define system requirements," Western Institute Software Engineering, 1986.

Index Terms:
Requirements Apprentice; requirements acquisition; automated tool; human analyst; software requirements; formal specifications; ambiguity; contradiction; incompleteness; artificial intelligence; knowledge acquisition; coherent internal representation; disorganized imprecise statements; dependency-directed reasoning; hybrid knowledge representations; formal specification; knowledge acquisition; knowledge representation; software tools
Citation:
H.B. Reubenstein, R.C. Waters, "The Requirements Apprentice: Automated Assistance for Requirements Acquisition," IEEE Transactions on Software Engineering, vol. 17, no. 3, pp. 226-240, March 1991, doi:10.1109/32.75413
Usage of this product signifies your acceptance of the Terms of Use.