The Role of Opportunistic Behaviour in Specification Comprehension
Abstract
Opportunistic behaviour, which is characterized by shifts between partial solutions and desviations from planned actions, has been identified as legitimate and expected behaviour during software specification understanding. In contrast to goal-oriented behaviour, opportunistic behaviour proceeds without support of a method or general problem solving plan. Nevertheless, about half of the understanding behaviour has been characterized as opportunistic. So, it cannot be ignored in designing methods and tools for supporting specification building and understanding. This paper presents an engineering model of cognitive behaviour in specification understanding. It focuses on the control mechanisms that drive opportunisticand goal-oriented behaviours. The proposed model is based on an interpretation of an established psychological model and described in terms of a set theoretical visual formalism, the stategraph, able to represent concurrent and distributed components. As a conclusion, in contrast to the view in which opportunistic behaviour is described as plan violation, the model suggests that opportunistic behaviour does not totally rule out goal-oriented behaviour. A number of understanding activities can operate in parallel and to some extent, this enables the cognitive system to keep the course of actions according to plan while undertaking other cognitive activities. The model specifies the mechanisms that underlie this concurrence.
References
Card, S. Moran, T. & Newell, A. (1983) The Psychology of Human Computer Interaction, Hillsdale, NJ; Lawrence Erlbaum Associates, Inc.
Corkill, D. (1989) "Design alternatives for parallel and distributed blackboard systems" In Blackboard Architectures and Applications, V. Jagannathan, R. Dodhiawala and L. Baam (Eds), Academic Press, Inc.
Davies, S. & Simplicio, F. (1992) Opportunistic and goal-oriented behaviour in software design: combining empirical and theoretical studies in cognitive modeling, in proceedings of Second International Conference on Artificial Intelligence in Design, AID 92 (to appear).
Detienne, F. & Soloway, F. (1990) An empirically derived control structure for the process of program understanding", International Journal of Man Machine Studies, 33.3, pp.323-342.
Guindon, R. (1990) "Designing the design process: exploring opportunistic thoughts", In Human Computer Interaction, 5, pp. 305-344.
Harel, D. (1988) "On visual formalisms", Communications of the ACM, 31,5, pp 514-530.
Harel, D. (1987) Statecharts a visual formalism for complex systems. Science Computer Programming, 8,3, pp. 231-274.
Harel, D. & Pnueli, A. (1985) On the development of reactive systems. In Logics and Models of concurrent Systems. NATO ASI Series, 13, pp. 477-498, K. R. apt. (ed), Springer Verlag.
Haves Roth, B. (1989) In Blackboard Architectures and Applications, V. Jagannathan, R. Dodhiawala and L. Baum (Eds), Acedemic Press, Inc.
Johnson Laird, P. (1989) 'Mental Models', in M. Posner, (eds.) Foundations of Cognitive Science, MIT.
Lewis, C. (1990) 'A research agenda for the nineties in Human-Computer Interaction', Human-computer Interaction, 5, pp. 125-143.
Newell, A. & Card, s. (1985) "The prospects for psychological science in human-computer interaction". Human-Computer Interaction, 1, pp. 209-242.
Parnas, D. & Clements, P. (1986) A rational design process: how and why to fake it, IEEE Trans. Software Engineering, 12, 2, pp. 251-257.
Schank, R. (1986) Explation Petterns: Understanding mechanically and creatively. Lawrence Erlbaum Associates, Inc.
Simplicio, F. (1991) Modeling Cognitive Behaviour in Specification Understanding. In Nato Advanced Research Workshop, User-Centered Requirements for Software engineering Environments, Toulouse, France, Nato ISEP.
Simplicio, F. (1991a) Modeling Cognitive Behaviour in Specification Understanding. In Nato Advanced Research Workshop, User-Centered Requirements for Software engineering Environments, Toulouse, France, Nato ISEP.
Simplicio, F. (1992a) A distributed model of cognitive behaviour in Specification Understanding. In Proceedings of Nato Advanced research workshop. Cognitive Models and Intelligent Environments for learning programming, Genova, Nato ISEP.
Soloway, E. Ehrlich, K. (1984) 'Empirical studies of programming knowledge', IEEE Transactions on Software Engineering, 10, 5, pp. 595-609.
Turski, W. & Maibaum, T. (1987) The Specification of Computer Programs, Addison Wesley Pub.
Visser, W. (1990) 'More or less following a plan during design opportunistic deviations in specification', International Journal of Man Machine Studies, 33, 3, pp. 247-278.
Winograd, T. & Flores, F. (1986) Understanding computers and Cognition: A new foundations for Design, Ablex Publ.
