Intent specifications: an approach to building human-centered specifications

Software is a human product and specification languages are used to help humans perform the various problem solving activities involved in software development and evolution. This paper proposes an approach, called intent specifications, to designing system and software specifications based on research in systems theory, cognitive psychology, and human-machine interaction. The goal is to provide specifications that support software engineering activities by grounding specification design on psychological principles of how humans use specifications to solve problems as well as on basic system engineering principles.

[1]  Nancy G. Leveson,et al.  The Use of Self Checks and Voting in Software Error Detection: An Empirical Study , 1990, IEEE Trans. Software Eng..

[2]  Nancy G. Leveson,et al.  Requirements Specification for Process-Control Systems , 1994, IEEE Trans. Software Eng..

[3]  Dietrich Doerner,et al.  On the Difficulties People Have in Dealing With Complexity , 1980 .

[4]  Kate Ehrlich,et al.  Empirical Studies of Programming Knowledge , 1984, IEEE Transactions on Software Engineering.

[5]  Kim J. Vicente,et al.  Ecological interface design for a power plant feedwater subsystem , 1996 .

[6]  Ruven E. Brooks,et al.  Towards a Theory of the Comprehension of Computer Programs , 1983, Int. J. Man Mach. Stud..

[7]  Nancy G. Leveson,et al.  Software Requirements Analysis for Real-Time Process-Control Systems , 1991, IEEE Trans. Software Eng..

[8]  Jens Rasmussen,et al.  Information Processing and Human-Machine Interaction: An Approach to Cognitive Engineering , 1986 .

[9]  Peter Checkland,et al.  Systems Thinking, Systems Practice , 1981 .

[10]  E. Parkins,et al.  Visual representation in analogical problem solving , 1987, Memory & cognition.

[11]  H. Simon,et al.  Why are some problems hard? Evidence from Tower of Hanoi , 1985, Cognitive Psychology.

[12]  Nancy G. Leveson,et al.  Modeling Controller Tasks for Safety Analysis , 1998 .

[13]  Jon Damon Reese,et al.  Analyzing Software Specifications for Mode Confusion Potential , 1998 .

[14]  Iris Vessey,et al.  Expertise in Debugging Computer Programs: A Process Analysis , 1984, Int. J. Man Mach. Stud..

[15]  K. J. Vicente,et al.  The Ecology of Human-Machine Systems II: Mediating 'Direct Perception' in Complex Work Domains , 1990 .

[16]  Thomas R. G. Green,et al.  When do diagrams make good computer languages , 1979 .

[17]  Donald A. Norman,et al.  Things that make us smart , 1979 .

[18]  B. Fischhoff,et al.  Fault trees: Sensitivity of estimated failure probabilities to problem representation. , 1978 .

[19]  Kim J. Vicente,et al.  Ecological interface design: theoretical foundations , 1992, IEEE Trans. Syst. Man Cybern..

[20]  Craig A. Kaplan,et al.  In search of insight , 1990, Cognitive Psychology.

[21]  N. Pennington Stimulus structures and mental representations in expert comprehension of computer programs , 1987, Cognitive Psychology.

[22]  Kim J. Vicente,et al.  Supporting knowledge-based behavior through ecological interface design , 1991 .

[23]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[24]  Gerald F. Smith,et al.  Representational effects on the solving of an unstructured decision problem , 1989, IEEE Trans. Syst. Man Cybern..

[25]  Elliot Soloway,et al.  Designing documentation to compensate for delocalized plans , 1988, CACM.

[26]  Nancy G. Leveson,et al.  Safeware: System Safety and Computers , 1995 .

[27]  Jens Rasmussen,et al.  Information Processing and Human-Machine Interaction , 1986 .

[28]  Earl L. Wiener,et al.  Human factors of advanced technology (glass cockpit) transport aircraft , 1989 .

[29]  Mary Anne Buttigieg,et al.  Emergent Features in Visual Display Design for Two Types of Failure Detection Tasks , 1991, Human factors.

[30]  William G. Griswold,et al.  Correction to "Architectural Tradeoffs for a Meaning-Preserving Program Restructuring Tool" , 1995, IEEE Trans. Software Eng..

[31]  W. Ross Ashby,et al.  Principles of the Self-Organizing System , 1991 .

[32]  Nancy G. Leveson,et al.  Software safety in embedded computer systems , 1991, CACM.

[33]  Stanley Letovsky,et al.  Cognitive processes in program comprehension , 1986, J. Syst. Softw..

[34]  Kim J. Vicente,et al.  Supporting operator problem solving through ecological interface design , 1995, IEEE Trans. Syst. Man Cybern..

[35]  Jens Rasmussen,et al.  Mental models and the control of action in complex environments , 1987, Informatics and Psychology Workshop.

[36]  Jens Rasmussen,et al.  The role of hierarchical knowledge representation in decisionmaking and system management , 1985, IEEE Transactions on Systems, Man, and Cybernetics.

[37]  Stephen M. Casner,et al.  Task-analytic approach to the automated design of graphic presentations , 1991, TOGS.

[38]  Michael L. Begeman,et al.  gIBIS: A tool for all reasons , 1989, JASIS.