Abstract
Inconsistencies may arise in the course of specification of systems, and it is now recognised that they cannot be forbidden. Recent work has concentrated on enabling requirements descriptions to tolerate inconsistency and on proposing notations that permit inconsistency in specifications. We approach the subject by examining the use of an existing causal language, which is used as a means of specifying the behaviour of systems, to specify, identify and resolve behavioural inconsistencies. This paper is an exploration of the kinds of inconsistency that can arise in a causal specification, how they can be discovered and how they can be resolved. We distinguish between inconsistencies in the structure of a specification, which are assumed to have been removed previously, andinconsistencies in behaviour which, being dynamic in nature, we describe as conflicts.
Our approach concentrates on the identification of conflicts in the specified behaviour of a system. After summarising the causal language, we describe a classification of behavioural conflicts and how they can be identified. We discuss possible methods of resolution, and propose a simple process to aid the identification and resolution of conflicts. A case study using the causal language illustrates our approach.
Similar content being viewed by others
References
Chatzikyriakos, E. 1998. Causal Animator. MSc Thesis, Dept of Computer Science, University of York.
Corsetti, F. et al. 1991. Dealing with different time scales in formal specifications. In IEEE-ACM International Workshop on Software Specification and Design, Como.
Gabbay, D. and Hunter, A. 1991. Making inconsistency respectable 1: A logical framework for inconsistency in reasoning, In P. Jorrand and J. Kelemen, editors, Foundations of Artificial Intelligence Research, Springer, p. 19–32.
Hunter, A. and Nuseibeh, B. 1997. Analysing inconsistent specifications. In 3rd Int.Symposium on Requirements Engineering (RE'97), Annapolis, USA, IEEE Computer Society Press.
Jaffe, M.S. et al. 1991. Software requirements analysis for real-time process-control systems. IEEE Transactions on Software Engineering, 17:241–258.
Jonscher, D. and Dittrich, K.R. 1993. A formal security model based on an object-oriented data model. Institut f¨ur Informatik der Universit¨at Z¨urich, TR 93.41, Oct 1993.
Kotonya, G. and Sommerville, I. 1992. Viewpoints for requirements definition. Software Engineering Journal, 7(6):375–387.
Moffett, J.D., Hall, J.G., Coombes, A.C., and McDermid 1996. A model for a causal logic for requirements engineering. Journal of Requirements Engineering, 1(1):27–46.
Moffett, J.D. and Sloman, M.S. 1994. Policy conflict analysis in distributed system management. Journal of Organizational Computing, 4(1):1–22.
Nuseibeh, B. 1996. To be and not to be: On managing inconsistency in software development. In 8th Int.Workshop on Software Specification and Design (IWSSD-8), Schloss Velen, Germany, IEEE CS Press.
Plexousakis, D. and Mylopoulos, J. 1996. Accommodating integrity constraints during database design. In EDBT-96, Avignon, France.
Rumbaugh, J. and Blaha, M. 1991. Object-Oriented Modelling and Design. Prentice-Hall.
Sheard, T. and Stemple, D. 1989. Automatic verification of database transaction safety. ACM Transactions on Database Systems, 14(3):322–368.
Shoham, Y. 1987. Reasoning about Change: Time and Causation from the Point of View of Artificial Intelligence. MIT Press, ISBN 0-262-19269-1.
Special Issue on Feature Interactions in Telecommunications Systems. 1993a. IEEE Computer, 26(8).
Special Issue on Feature Interactions in Telecommunications Systems. 1993b. IEEE Communications Magazine, 31(8).
Spivey, J.M. 1992. The Z Notation: A Reference Manual, 2nd ed. Prentice Hall.
Sosa, E. and Tooley, M. (eds.) 1993. Causation. Oxford Readings in Philosophy, Oxford University Press, pp. 33–55.
Thomas, M. 1997. Feature Interactions in Telecommunications Networks. IOS Press, p. 163–183.
rZave, P. 1993. Feature interactions and formal specifications in telecommunications. IEEE Computer, 26(8):20–31.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Moffett, J., Vickers, A. Behavioural Conflicts in a Causal Specification. Automated Software Engineering 7, 215–238 (2000). https://doi.org/10.1023/A:1008730221445
Issue Date:
DOI: https://doi.org/10.1023/A:1008730221445