Abstract
The work relates to formal verification of requirements models using deductive reasoning. Elicitation of requirements has significant impact on the entire software development process. Therefore, formal verification of requirements models may influence software cost and reliability in a positive way. However, logical specifications, considered as sets of temporal logic formulas, are difficult to specify manually by inexperienced users and this fact can be regarded as a significant obstacle to practical use of deduction-based verification tools. A method of building requirements models, including their logical specifications, is presented step by step. Requirements models are built using some UML diagrams, i.e. use case diagrams, use case scenarios, and activity diagrams. Organizing activity diagrams into predefined workflow patterns enables automated extraction of logical specifications. The crucial aspect of the presented approach is integrating the requirements engineering phase and the automatic generation of logical specifications. Formal verification of requirements models is based on the deductive approach using the semantic tableaux reasoning method. A simple yet illustrative example of development and verification of a requirements model is provided.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
References
Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21(4), 181–185 (1985)
Barrett, S., Sinnig, D., Chalin, P., Butler, G.: Merging of use case models: Semantic foundations. In: 3rd IEEE International Symposium on Theoretical Aspects of Software Engineering (TASE 2009), pp. 182–189 (2009)
van Benthem, J.: Temporal Logic. In: Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 4, pp. 241–350. Clarendon Press (1993–1995)
Chakraborty, S., Sarker, S., Sarker, S.: An exploration into the process of requirements elicitation: A grounded approach. Journal of the Association for Information Systems 11(4), 212–249 (2010)
Clarke, E., Wing, J., et al.: Formal methods: State of the art and future directions. ACM Computing Surveys 28(4), 626–643 (1996)
d’Agostino, M., Gabbay, D., Hähnle, R., Posegga, J.: Handbook of Tableau Methods. Kluwer Academic Publishers (1999)
Emerson, E.: Temporal and Modal Logic. In: Handbook of Theoretical Computer Science, vol. B, pp. 995–1072. Elsevier, MIT Press (1990)
Eshuis, R., Wieringa, R.: Tool support for verifying uml activity diagrams. IEEE Transactions on Software Engineering 30(7), 437–447 (2004)
Hähnle, R.: Tableau-based Theorem Proving. ESSLLI Course (1998)
Hurlbut, R.R.: A survey of approaches for describing and formalizing use cases. Tech. Rep. XPT-TR-97-03, Expertech, Ltd. (1997)
Kazhamiakin, R., Pistore, M., Roveri, M.: Formal verification of requirements using spin: A case study on web services. In: Proceedings of 2nd International Conference on Software Engineering and Formal Methods (SEFM 2004), Beijing, China, pp. 406–415 (September 28-30, 2004)
Klimek, R.: Proposal to improve the requirements process through formal verification using deductive approach. In: Filipe, J., Maciaszek, L. (eds.) Proceedings of 7th Int. Conf. on Evaluation of Novel Approaches to Software Engineering (ENASE 2012), Wrocław, Poland. pp. 105–114. SciTePress (June 29–30, 2012)
Klimek, R.: A Deduction-based System for Formal Verification of Agent-ready Web Services. In: Advanced Methods and Technologies for Agent and Multi-Agent Systems, Frontiers of Artificial Intelligence and Applications, vol. 252, pp. 203–212. IOS Press (2013), http://ebooks.iospress.nl/publication/32843
Kotulski, L.: Supporting software agents by the graph transformation systems. In: Alexandrov, V.N., van Albada, G.D., Sloot, P.M.A., Dongarra, J. (eds.) ICCS 2006. LNCS, vol. 3993, pp. 887–890. Springer, Heidelberg (2006)
van Lamsweerde, A.: Requirements Engineering - From System Goals to UML Models to Software Specifications. John Wiley & Sons (2009)
Pender, T.: UML Bible. John Wiley & Sons (2003)
Rauf, R., Antkiewicz, M., Czarnecki, K.: Logical structure extraction from software requirements documents. In: 19th IEEE International Requirements Engineering Conference (RE 2011), Trento, Italy, August 29-September 2, pp. 101–110. IEEE Computer Society (2011)
Schneider, G., Winters, J.: Applying use cases: a practical guide. Addison-Wesley (2001)
Wolter, F., Wooldridge, M.: Temporal and dynamic logic. Journal of Indian Council of Philosophical Research XXVII(1), 249–276 (2011)
Zhao, J., Duan, Z.: Verification of use case with petri nets in requirement analysis. In: Gervasi, O., Taniar, D., Murgante, B., Laganà, A., Mun, Y., Gavrilova, M.L. (eds.) ICCSA 2009, Part II. LNCS, vol. 5593, pp. 29–42. Springer, Heidelberg (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Klimek, R. (2013). From Extraction of Logical Specifications to Deduction-Based Formal Verification of Requirements Models. In: Hierons, R.M., Merayo, M.G., Bravetti, M. (eds) Software Engineering and Formal Methods. SEFM 2013. Lecture Notes in Computer Science, vol 8137. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40561-7_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-40561-7_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40560-0
Online ISBN: 978-3-642-40561-7
eBook Packages: Computer ScienceComputer Science (R0)