This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Intent Specifications: An Approach to Building Human-Centered Specifications
January 2000 (vol. 26 no. 1)
pp. 15-35

Abstract—This paper examines and proposes an approach to writing software specifications, based on research in systems theory, cognitive psychology, and human-machine interaction. The goal is to provide specifications that support human problem solving and the tasks that humans must perform in software development and evolution. A type of specification, called intent specifications, is constructed upon this underlying foundation.

[1] Mental Models and Human-Computer Interaction, D. Ackermann and M.J. Tauber, eds. Amsterdam: North-Holland, 1990.
[2] W.R. Ashby, “Principles of the Self-Organizing System,” Principles of Self-Organization, H. Von Foerster and G.W. Zopf, eds., Pergamon, 1962.
[3] M. Beveridge and E. Parkins, “Visual Representation in Analogical Program Solving,” Memory and Cognition, vol. 15, 1987.
[4] R. Brooks, “Towards a Theory of Comprehension of Computer Programs,” Int'l J. Man-Machine Studies, vol. 18, pp. 543-554, 1983.
[5] M. Brown and N.G. Leveson, “Modeling Controller Tasks for Safety Analysis,” Proc. Second Workshop Human Error and System Development, Apr. 1998.
[6] M.A. Buttigieg and P.M. Sanderson, “Emergent Features in Visual Display Design for Two Types of Failure Detection Tasks,” Human Factors, vol. 33, 1991.
[7] Stephen M. Casner,“A Task-Analytic Approach to the Automated Design of Graphics Presentations,” ACM Trans. on Graphics, vol. 10, no. 2, pp. 111-151, 1991.
[8] P. Checkland, Systems Thinking, Systems Practice. John Wiley&Sons, 1981.
[9] B. Curtis, H. Krasner, and N. Iscoe, "A Field Study of the Software Design Process for Large Systems," Comm. ACM, vol. 31, no. 11, pp. 1,268-1,287, 1988.
[10] J. DeKleer and J.S. Brown, “Assumptions and Ambiguities in Mechanistic Mental Models,” Mental Models, D. Gentner and A.L. Stevens, eds., Lawrence Erlbaum, 1983.
[11] N. Dinadis and K.J. Vicente, “Ecological Interface Design for a Power Plant Feedwater Subsystem,” IEEE Trans. Nuclear Science, 1996.
[12] D. Dorner, “On the Difficulties People Have in Dealing with Complexity,” New Technology and Human Error, J. Rasmussen, K. Duncan, and J. Leplat, eds., pp. 97-109, New York: John Wiley&Sons, 1987.
[13] K.D. Duncan, “Reflections on Fault Diagnostic Expertise,” New Technology and Human Error, J. Rasmussen, K. Duncan, and J. Leplat, eds., pp. 261-269, New York: John Wiley&Sons, 1987.
[14] B. Fischoff, P. Slovic, and S. Lichtenstein, “Fault Trees: Sensitivity of Estimated Failure Probabilities to problem Representation,” J. Experimental Psychology: Human Perception and Performance, vol. 4, 1978.
[15] M.J. Fitter and T.R.G. Green, “When Do Diagrams Make Good Programming Languages?” Int'l J. Man-Machine Studies, vol. 11, pp. 235-261, 1979.
[16] R. Glaser and M.T.H. Chi, “Overview,” The Nature of Expertise, R. Glaser, M.T.H. Chi, and M.J. Farr, eds., Hillsdale, N.J.: Erlbaum, 1988.
[17] W.G. Griswold and D. Notkin, “Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool,” IEEE Trans. Software Eng., vol. 21, no. 4, pp. 275–287, Apr. 1995.
[18] G. Harman, “Logic, Reasoning, and Logic Form,” Language, Mind, and Brain, T.W. Simon and R.J. Scholes, eds., Lawrence Erlbaum, 1982.
[19] M.S. Jaffe, N.G. Leveson, M.P.E. Heimdahl, and B. Melhart, "Software Requirements Analysis for Real-Time Process-Control Systems," IEEE Trans. Software Engineering, vol. 17, no. 3, pp. 241-258, Mar. 1991.
[20] C.A. Kaplan and H.A. Simon, “In Search of Insight,” Cognitive Psychology, vol. 22, 1990.
[21] K. Kotovsky, J.R. Hayes, and H.A. Simon, “Why Are Some Problems Hard? Evidence from Tower of Hanoi,” Cognitive Psychology, vol. 17, 1985.
[22] S. Letovsky, “Cognitive Processes in Program Comprehension,” Proc. First Workshop Empirical Studies of Programmers, Ablex Publishing, Norwood, N.J., 1986, pp. 58-79.
[23] N.G. Leveson, "Software Safety in Embedded Computer Systems," Comm. ACM, vol. 34, no. 2, pp. 34-46, 1991.
[24] N.G. Leveson, Safeware: System Safety and Computers. Addison-Wesley, 1995.
[25] N.G. Leveson, S.S. Cha, and J.C. Knight, T.J. Shimeall, “The Use of Self Checks and Voting in Software Detection: An Empirical Study,” IEEE Trans. Software Eng., vol. 16, pp. 432-443, 1990.
[26] N.C. Levenson, M.P.E. Heimdahl, H. Hildreth, and J.D. Reese, "Requirements Specification for Process-Control Systems," IEEE Trans. Software Eng., vol. 20, no. 9, pp. 684-707, Sept. 1994.
[27] N.G. Leveson, L.D. Pinnel, S.D. Sandys, S. Koga, and J.D. Reese, “Analyzing Software Specifications for Mode Confusion Potential,” Proc. Workshop Human Error and System Development, 1977.
[28] D.A. Lucas, “Mental Models and New Technology,” New Technology and Human Error, J. Rasmussen, K. Duncan, and J. Leplat, eds., pp. 321-325, New York: John Wiley&Sons, 1987.
[29] J.R. Newman, “Extension of Human Capability through Information Processing and Display Systems,” Technical Report SP-2560, System Development Corp., 1966.
[30] D.A. Norman, Things that Make Us Smart. Addison-Wesley, 1993.
[31] J. Rasmussen and A. Pejtersen, “Virtual Ecology of Work,” An Ecological Approach to Human Machine Systems I: A Global Perspective, J.M. Flach, P.A. Hancock, K. Caird and K.J. Vicente, eds., Hillsdale, N.J.: Erlbaum, 1995.
[32] N. Pennington, “Stimulus Structures and Mental Representations in Expert Comprehension of Computer Programs,” Cognitive Psychology vol. 19, pp. 295-341, 1987.
[33] J. Rasmussen, “The Role of Hierarchical Knowledge Representation in Decision Making and System Management,” IEEE Trans. Systems, Man, and Cybernetics, vol. 15, no. 2, Mar./Apr. 1985.
[34] J. Rasmussen, Information Processing and Human-Machine Interaction: An Approach to Cognitive Engineering,North Holland, Amsterdam, 1986.
[35] J. Rasmussen, “Mental Models and the Control of Action in Complex Environments,” Mental Models and Human-Computer Interaction, D. Ackermann and M.J. Tauber, eds., North-Holland: Elsevier, pp. 41-69, 1990.
[36] J. Reason, Human Error. Cambridge Univ. Press, 1990.
[37] N.D. Sarter, D.D. Woods, and C.E. Billings, “Automation Surprises,” Handbook of Human Factors/Ergonomics, second ed., G. Salvendy ed., New York: Wiley, 1995.
[38] B. Shneiderman and R. Mayer, “Syntactic/Semantic Interactions in Programmer Behavior: A Model and Experimental Results,” Computer and Information Sciences, vol. 8, no. 3, pp. 219-238, 1979.
[39] G.F. Smith, “Representational Effects on the Solving of an Unstructured Decision Problem,” IEEE Trans. Systems, Man, and Cybernetics, pp. 1,083-1,090, vol. 19, 1989.
[40] E. Soloway and K. Ehrlich, “Empirical Studies of Programming Knowledge,” IEEE Trans. Software Eng., vol. 10, no. 5, pp. 595-609, 1984.
[41] E. Soloway, J. Pinto, S. Letovsky, D. Littman, and R. Lampert, “Designing Documentation to Compensate for Delocalized Plans,” Comm. ACM, vol. 31, no. 11, pp. 1259–1267, Nov. 1988.
[42] I. Vessey, “Expertise in Debugging Computer Programs: A Process Analysis,” Int'l J. Man-Machine Studies, vol. 23, 1985.
[43] K.J. Vicente, “Supporting Knowledge-Based Behavior through Ecological Interface Design,” PhD thesis, Univ. of Illinois at Urbana-Champaign, 1991.
[44] K.J. Vicente, K. Christoffersen, and A. Pereklit, “Supporting Operator Problem Solving through Ecological Interface Design,” IEEE Trans. Systems, Man, and Cybernetics, vol. 25, no. 4, pp. 529-545, 1995.
[45] K.J. Vicente and J. Rasmussen, “The Ecology of Human-Machine Systems II: Mediating Direct Perception in Complex Work Domains,” Ecological Psychology, vol. 2, no. 3, pp. 207-249, 1990.
[46] K.J. Vicente and J. Rasmussen, “Ecological Interface Design: Theoretical Foundations,” IEEE Trans. Systems, Man, and Cybernetics, vol. 22, no. 4, July/Aug. 1992.
[47] E.L. Wiener, “Human Factors of Advanced Technology (“Glass Cockpit”) Transport Aircraft,” NASA Contractor Report 177528, NASA Ames Research Center, June 1989.
[48] D.D. Woods, “Toward a Theoretical Base for Representation Design in the Computer Medium: Ecological Perception and Aiding Human Cognition,” An Ecological Approach to Human Machine Systems I: A Global Perspective, J.M. Flach, P.A. Hancock, K. Caird and K.J. Vicente, eds., Hillsdale, N.J.: Erlbaum, 1995.

Index Terms:
Requirements, requirements specification, safety-critical software, software evolution, human-centered specifications, means-ends hierarchy, cognitive engineering.
Citation:
Nancy G. Leveson, "Intent Specifications: An Approach to Building Human-Centered Specifications," IEEE Transactions on Software Engineering, vol. 26, no. 1, pp. 15-35, Jan. 2000, doi:10.1109/32.825764
Usage of this product signifies your acceptance of the Terms of Use.