Improving Software Requirements - Analysis of Petri Net Models for Inconsistency and Incompleteness

Improving Software Requirements - Analysis of Petri Net Models for Inconsistency and Incompleteness

  IJETT-book-cover           
  
© 2023 by IJETT Journal
Volume-71 Issue-2
Year of Publication : 2023
Author : A Keshav Bharadwaj, Vinod K Agrawal, Jayashree R
DOI : 10.14445/22315381/IJETT-V71I2P248

How to Cite?

A Keshav Bharadwaj, Vinod K Agrawal, Jayashree R, "Improving Software Requirements - Analysis of Petri Net Models for Inconsistency and Incompleteness," International Journal of Engineering Trends and Technology, vol. 71, no. 2, pp. 466-492, 2023. Crossref, https://doi.org/10.14445/22315381/IJETT-V71I2P248

Abstract
Stakeholders of most software projects express requirements in natural language. (English is taken as the natural language here). To minimize errors in the requirements, an analysis of requirements is necessary. Direct analysis of requirements expressed in natural language is complex. Hence it is preferable that they be expressed using some formal method before they are analyzed and used for specifications development. In this paper, we have made the assumption that specification documents and Petri net models of the software requirements are available to us. We propose methods to analyze these Petri net models for inconsistency and incompleteness in the software requirements. Results obtained from the analysis are used to redefine the given user requirements such that inconsistency and incompleteness are removed. The example of an Automated Teller Machine has been used to demonstrate our approach.

Keywords
Analysis, Completeness, Consistency, Petri nets, Requirements.

References
[1] Michel dos Santos Soares, and Daniel Souza Cioquetta, “Analysis of Techniques for Documenting User Requirements,” Computational Science and its Applications, Berlin: Springer, pp. 16-28, 2012. Crossref, https://doi.org/10.1007/978-3-642-31128-4_2
[2] Michael Christel, and Kyo C. Kang, “Issues in Requirements Elicitation,” Carnegie Mellon University, Technical Report, 1992.
[3] Robert Darimont, and Axel van Lamsweerde, “Formal Refinement Patterns for Goal-Driven Requirements Elaboration,” ACM SIGSOFT Software Engineering Notes, vol. 21, no. 6, pp. 179-190, 1996. Crossref, https://doi.org/10.1145/250707.239131
[4] Shaoying Liu, “A Formal Structured Method for Requirement Specification Construction,” Proceedings of the 1992 ACM/SIGAPP Symposium on Applied Computing: Technological Challenges of the 1990's, pp. 1055-1063, 1992. Crossref, https://doi.org/10.1145/130069.130130
[5] Shaoying Liu, “A User-Friendly Formal Requirements Specification Method,” Proceedings of the 30th Annual Southeast Regional Conference, pp. 211–218, 1992. Crossref, https://doi.org/10.1145/503720.503802
[6] M. Osborne, and C. K. MacNish, “Processing Natural Language Software Requirement Specifications,” Proceedings of the Second International Conference on Requirements Engineering, Colorado Springs, pp. 229-236, 1996. Crossref, https://doi.org/10.1109/ICRE.1996.491451
[7] Wenbin Li, “Toward Consistency Checking of Natural Language Temporal Requirements,” 26th IEEE/ACM International Conference on Automated Software Engineering, IEEE, pp. 651-655, 2011. Crossref, https://doi.org/10.1109/ASE.2011.6100148
[8] Claudio Menghi, “Verifying Incomplete and Evolving Specifications,” Proceedings of the 36th International Conference on Software Engineering, ACM, pp. 670–673, 2014. Crossref, https://doi.org/10.1145/2591062.2591090
[9] Kirsten Sinclair, “The Impact of Petri Nets on System-of-Systems Engineering,” Ph.D. Dissertation, Durham University, England, 2009.
[10] Jinqiang Zhao, and Zhenhua Duan, Verification of Use Case with Petri Nets in Requirement Analysis, Computational Science and Its Applications, Springer, pp. 29-42, 2009. Crossref, https://doi.org/10.1007/978-3-642-02457-3
[11] C. Vamsikrishna, and G. Padmanabhan, “Role of Petri Nets in Flexible Manufacturing System – A Review,” International Journal of Engineering Trends and Technology, vol. 41, no. 2, pp. 90-100, 2016. Crossref, https://doi.org/10.14445/22315381/IJETT-V41P217
[12] Woo Jin Lee, Sung Deok Cha, and Yong Rae Kwon, “Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering,” IEEE Transactions on Software Engineering, vol. 24, no. 2, pp. 1115-1130, 1998. Crossref, https://doi.org/10.1109/32.738342
[13] K.S. Cheung, T.Y. Cheung, and K.O. Chow, “A Petri-Net-Based Synthesis Methodology for Use-Case-Driven System Design,” The Journal of Systems and Software, vol. 79, no. 6, pp. 772–790, 2006. Crossref, https://doi.org/10.1016/j.jss.2005.06.018
[14] Stéphane S. Somé, “Formalization of Textual Use Cases Based on Petri Nets,” International Journal of Software Engineering and Knowledge Engineering, vol. 20, no. 5, pp. 695–737, 2010. Crossref, https://doi.org/10.1142/S0218194010004931
[15] Edgar Sarmiento et al., “Analysis of Scenarios with Petri Net Models,” 29th Brazilian Symposium on Software Engineering, pp. 90-99, 2015. Crossref, https://doi.org/10.1109/SBES.2015.13
[16] Daniel Sinnig, Patrice Chalin, and Ferhat Khendek, “LTS Semantics for Use Case Models,” Proceedings of the 2009 ACM Symposium on Applied Computing, pp. 365–370, 2009. Crossref, https://doi.org/10.1145/1529282.1529362
[17] Edgar Sarmiento-Calisaya et al., “Towards the Improvement of Natural Language Requirements Descriptions: The C&L Tool,” Proceedings of the 35th Annual ACM Symposium on Applied Computing, pp. 1405–1413, 2020. Crossref, https://doi.org/10.1145/3341105.3374028
[18] R.Sunther, "Simplification of a Petri Net Controller in Industrial Systems," SSRG International Journal of Industrial Engineering, vol. 2, no. 1, pp. 4-7, 2015. Crossref, https://doi.org/10.14445/23499362/IJIE-V2I2P102
[19] W. M. P. van der Aalst, “The Application of Petri Nets to Workflow Management,” Journal of Circuits, System, and Computers, vol. 8, no. 1, pp. 21–66, 1998.
[20] T. Murata, “Petri Nets: Properties, Analysis and Applications,” Proceedings of the IEEE, vol. 77, no. 4, pp. 541-580, 1989. Crossref, https://doi.org/10.1109/5.24143
[21] Ian Sommerville, Software Engineering, 9 th Edition, Boston: Addison-Wesley, 1995.
[22] Philip Meir Merlin, “A Study of the Recoverability of Computing Systems,” Ph.D. Dissertation, University of California, Irvine, U.S.A, 1974.
[23] Thomas Hujsa, and Raymond Devillers, “On Dead Lock Ability, Liveness and Reversibility in Subclasses of Weighted Petri Nets,” Fundamentals of Informatics, Polish Mathematical Society, vol. 161, no. 4, pp. 383-421, 2018. Crossref, https://doi.org/10.3233/FI-2018-1708
[24] B. W. Boehm, “Verifying and Validating Software Requirements and Design Specifications,” IEEE Software, vol. 1, no. 1, pp. 75-88, 1984. Crossref, https://doi.org/10.1109/MS.1984.233702
[25] M.P.E. Heimdahl, and N.G. Leveson, “Completeness and Consistency in Hierarchical State-Based Requirements,” IEEE Transactions on Software Engineering, vol. 22, no. 6, pp. 363-377, 1996. Crossref, https://doi.org/10.1109/32.508311
[26] Ngnassi Djami Aslain Brisco, Nzié Wolfgang, and Doka Yamigno Serge, "Maintenance Modularity Optimization using Clustering Algorithm: Application," SSRG International Journal of Industrial Engineering, vol. 7, no. 1, pp. 12-24, 2020. Crossref, https://doi.org/10.14445/23499362/IJIE-V7I1P102
[27] Olaf Kummer et al., 2016. [Online]. Available: http://www.renew.de
[28] Connie U. Smith, and Lloyd G. Williams, “Performance Engineering Evaluation of Object-Oriented Systems with SPE•EDTM,” Computer Performance Evaluation Modelling Techniques and Tools, Lecture Notes in Computer Science, Heidelberg: Springer, 1997.
[29] W. P. Stevens, G. F. Myers, and L. C. Constantine, “Structured Design,” IBM Systems Journal, vol. 13, no.2, pp. 115-139, 1974. Crossref, https://doi.org/10.1147/sj.132.0115
[30] Imran Sarwar Bajwa, and M. Asif Naeem, “On Specifying Requirements Using a Semantically Controlled Representation,” Natural Language Processing and Information Systems NLD, Berlin: Springer, pp. 217-220, 2011. Crossref, https://doi.org/10.1007/978-3-642-22327-3_23
[31] Jeannette M. Wing, “A Study of 12 Specifications of the Library Problem,” IEEE Software, vol. 5, no. 4, pp. 66-76, 1988. Crossref, https://doi.org/10.1109/52.17803
[32] Lian Yu et al., “Completeness and Consistency Analysis on Requirements of Distributed Event-Driven Systems,” 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering, pp. 241-244, 2008. Crossref, https://doi.org/10.1109/TASE.2008.46
[33] A. K. Bharadwaj, V. K. Agrawal, and J. Reddy, “Transforming Natural Language Requirements into Petri Nets - A Semi-Automated Approach,” International Conference on Artificial Intelligence and Data Science, 2022