Abstract
Eliciting requirements for a proposed system inevitably involves the problem of handling undesirable information about customer's needs, including inconsistency, vagueness, redundancy, or incompleteness. We term the requirements statements involved in the undesirable information non-canonical software requirements. In this paper, we propose an approach to handling non-canonical software requirements based on Annotated Predicate Calculus (APC). Informally, by defining a special belief lattice appropriate for representing the stakeholder's belief in requirements statements, we construct a new form of APC to formalize requirements specifications. We then show how the APC can be employed to characterize non-canonical requirements. Finally, we show how the approach can be used to handle non-canonical requirements through a case study.
Similar content being viewed by others
References
Belnap N (1977) A useful four-valued logic. In: Dunn M, Epstein G (eds) Modern uses of multi-valued logics. Reidel Publishing Co., pp 8–37
Bouhoula A (2000) Simultaneous checking of completeness and ground conuence. In: Proceedings of the 15th IEEE international conference on automated software engineering (ASE00), pp 143–153
Bowman H, Steen M, Boiten M, Derrick J (2002) A formal framework for viewpoint consistency. Formal Methods Syst Des 21(2): 111–166
Chechik M, Devereux B, Easterbrook S (2001) Efficient multiple-valued model checking using lattice representations. In: Proceedings of the international conference on concurrency theory. Aalborg, Denmark, pp 21–24
Davis A (1993) Software requirements: objects, functions, and states. PTR Prentice-Hall, Englewood Cliffs, NJ
Easterbrook S, Chechik M (2001a) 2nd international workshop on living with inconsistency. Softw Eng Notes 26(6): 76–78
Easterbrook S, Chechik M (2001b) A framework for multi-valued reasoning over inconsistent viewpoints. In: Proceedings of international conference on software engineering (ICSE'01), Toronto, Canada, pp 411–420
Easterbrook S, Nuseibeh B (1995) Managing inconsistencies in an evolving specification. In: Proceedings of the second international symposium on requirements engineering (RE95), pp 48–55
Finkelstein A, Gabbay D, Hunter A, Kramer J, Nuseibeh B (1994) Inconsistency handling in multiperspective specifications. IEEE Trans Softw Eng 20(8): 569–578
Ginsberg M (1988) Multivalued logics: a uniform approach to reasoning in AI. Comput Intell 4: 265–316
Hunter A, Nuseibeh B (1998) Managing inconsistent specification. ACM Trans Softw Eng Methodol 7(4): 335–367
Jackson M (1995) Software Requirements and specifications: a lexicon of ractice, principles and prejudices. Addison Wesley, UK
Kaiya H, Horai H, Saeki M (2002) Agora: attributed goal-oriented requirements analysis method. In: Proceedings of the tenth IEEE joint international requirements engineering conference (RE02), pp 13–22
Kifer M, Lozinskii E (1992) A logic for reasoning with inconsistency. J Automat Reason 9(2): 179–215
Lamsweerde A, Letier E (2000) Handling obstacles in goal-driven requirements engineering. IEEE Trans Softw Eng 26(10): 978–1005
Leveson N (2000) Completeness in formal specification language design for process-control systems. In: Proceedings of the third workshop on formal methods in software practice, pp 75–87
Liberatore P (2005) Redundancy in logic i: Cnf propositional formulae. Artif Intell 163(2): 203–232
Matthew S, Leveson G, Heimdahl M, Melhart B (1991) Software requirements analysis for real-time process-control systems. IEEE Trans Softw Eng 17(3): 241–258
Mu K, Jin Z, Lu R, Liu W (2005a) Measuring inconsistency in requirements specifications. In: Godo L (ed) Proceedings of ECSQARU2005. LNCS, vol 3571. Springer-Verlag, Berlin Heidelberg, pp 440–451
Mu K, Jin Z, Lu R (2005b) Inconsistency-based strategy for clarifying vague software requirements. In: Zhang S, Jarvis R (eds) AI2005: Advances in artificial intelligence, The 18th Australian joint conference on artificial intelligence, LNCS, vol 3809. Springer-Verlag, Berlin Heidelberg New York, pp 39–48
Mylopoulos J, Chung L, Yu E (1999) From object-oriented to goal-oriented requirements analysis. Commun ACM 42(1): 31–37
Sheldon F, Kim H, Zhou Z (2001) A case study: validation of guidance control software requirements for completeness, consistency and fault tolerance. In: Proceedings of the 2001 Pacific Rim international symposium on dependable computing (PRDC 2001), pp 311–318
Spanoudakis G, Finkelstein A (1997) Reconciling requirements: a method for managing interference, inconsistency and conflict. Ann Softw Eng 3: 433–457
Spanoudakis G, Zisman A (2001) Inconsistency management in software engineering: survey and open research issues. In: Chang SK (ed) Handbook of software engineering and knowledge engineering. World Scientific, Singapore, pp 329–380
Zowghi D, Gervasi V (2003) On the interplay between consistency, completeness, and correctness in requirements evolution. Inf Softw Technol 45(14): 993–1009
Author information
Authors and Affiliations
Corresponding author
Additional information
Kedian Mu received B.Sc. degree in applied mathematics from Beijing Institute of Technology, Beijing, China, in 1997, M.Sc. degree in probability and mathematical statistics from Beijing Institute of Technology, Beijing, China, in 2000, and Ph.D. in applied mathematics from Peking University, Beijing, China, in 2003. From 2003 to 2005, he was a postdoctoral researcher at Institute of Computing Technology, Chinese Academy of Sciences, China. He is currently an assistant professor at School of Mathematical Sciences, Peking University, Beijing, China. His research interests include uncertain reasoning in artificial intelligence, knowledge engineering and science, and requirements engineering.
Zhi Jin was awarded B.Sc. in computer science from Zhejiang University, Hangzhou, China, in 1984, and studied for her M.Sc. in computer science (expert system) and her Ph.D. in computer science (artificial intelligence) at National Defence University of Technology, Changsha, China. She was awarded Ph.D. in 1992. She is a senior member of China Computer Federation. She is currently a professor at Academy of Mathematics and System Sciences, Chinese Academy of Science. Her research interests include knowledge-based systems, artificial intelligence, requirements engineering, ontology engineering, etc. Her current research focuses on ontology-based requirements elicitation and analysis. She has got about 60 papers published, including co-authoring one book.
Ruqian Lu is a professor of computer science of the Institute of Mathematics, Chinese Academy of Sciences. His research interests include artificial intelligence, knowledge engineering and knowledge based software engineering. He designed the “Tian Ma” software systems that have been widely applied in more than 20 fields, including the national defense and the economy. He has won two first class awards from Chinese Academy of Sciences and a National second class prize from the Ministry of Science and Technology. He has also won the sixth Hua Lookeng Prize for Mathematics.
Yan Peng received B.Sc. degree in software from Jilin University, Changchun, China, in 1992. From June 2002 to December 2005, he studied for his M.E. in software engineering at College of Software Engineering, Graduate School of Chinese Academy of Sciences, Beijing, China. He was awarded M.E degree in 2006. He is currently responsible for CRM (customer relationship management) and BI (business intelligence) project in the BONG. His research interests include customer relationship management, business intelligence, data ming, software engineering and requirements engineering.
Rights and permissions
About this article
Cite this article
Mu, K., Jin, Z., Lu, R. et al. Handling non-canonical software requirements based on Annotated Predicate Calculus. Knowl Inf Syst 11, 85–104 (2007). https://doi.org/10.1007/s10115-006-0021-y
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10115-006-0021-y