This Article 
 Bibliographic References 
 Add to: 
Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering
December 1998 (vol. 24 no. 12)
pp. 1115-1130

Abstract—It is well known that requirements engineering plays a critical role in software quality. The use case approach is a requirements elicitation technique commonly used in industrial applications. Software requirements are stated as a collection of use cases, each of which is written in the user's perspective and describes a specific flow of events in the system. The use case approach offers several practical advantages in that use case requirements are relatively easy to describe, understand, and trace. Unfortunately, there are a couple of major drawbacks. Since use cases are often stated in natural languages, they lack formal syntax and semantics. Furthermore, it is difficult to analyze their global system behavior for completeness and consistency, partly because use cases describe only partial behaviors and because interactions among them are rarely represented explicitly. In this paper, we propose the Constraints-based Modular Petri Nets(CMPNs) approach as an effective way to formalize the informal aspects of use cases. CMPNs, an extension of Place/Transition nets, allow the formal and incremental specification of requirements. The major contributions of our paper, in addition to the formal definitions of CMPNs, are the development of: 1) a systematic procedure to convert use cases stated in natural language to a CMPN model; and 2) a set of guidelines to find inconsistency and incompleteness in CMPNs. We demonstrate an application of our approach using use cases developed for telecommunications services.

[1] M. Andersson and J. Bergstand, "Formalizing Use Cases with Message Sequence Charts," Master's thesis, Lund Inst. of Tech nology, 1995.
[2] H. Bachatene and M. Coriat, "PAM: A Petri Net-Based Abstract Machine for the Specification of Concurrent Systems," Proc. Int'l Workshop Object-Oriented Programming and Models of Concurrency,Turin, Italy, June 1995.
[3] M. Baldassari and G. Bruno, "PROTOB: An Object Oriented Methodology for Developing Discrete Event Dynamic Systems," High-Level Petri Net: Theory and Application, K. Jensen and G. Rozenberg, eds., Apr. 1991.
[4] F.P. BrooksJr., "No Silver Bullet—Essence and Accidents of Software Engineering," Computer, vol. 20, no. 4, Apr. 1987, pp. 10-19.
[5] L. Brothers et al., "Feature Interaction Detection," Proc. IEEE Int'l Conf. Comm., pp. 1,553-1,557,Geneva, Switzerland, May 1993.
[6] G. Bucci and E. Vicario, “Compositional Validation of Time-Critical Systems Using Communicating Time Petri Nets,” IEEE Trans. Software Eng., vol. 21, no. 12, pp. 969–992, Dec. 1995.
[7] S. Christensen and N. Hansen, "Coloured Petri Nets Extended with Channels for Synchronous Communication," Application and Theory of Petri Nets '94, 1994.
[8] S. Christensen and L. Petrucci, “Modular State Space Analysis of Coloured Petri Nets,” Proc. 16th Int'l Conf. Application and Theory of Petri Nets, June 1995.
[9] W. Damm, G. Döhmen, V. Gerstner, and B. Josko, "Modular Verification of Petri Nets: The Temporal Logic Approach," Lecture Notes in Computer Science, vol. 430. Springer-Verlag, 1989.
[10] B. Dano, H. Briand, and F. Barbier, "An Approach Based on the Concept of Use Case to Produce Dynamic Object-Oriented Specifications," Proc. Symp. Requirements Eng. '97, 1997.
[11] M. Glinz, "An Integrated Formal Model of Scenarios Based on Statecharts," Proc. ESEC'95—Fourth European Software Eng. Conf., Lecture Notes in Computer Science 989, Springer-Verlag, 1995.
[12] P. Hsia, J. Samuel, J. Gao, D. Kung, Y. Toyoshima, and C. Chen, "Formal Approach to Scenario Analysis," IEEE Software, pp. 33-41, Mar. 1994.
[13] P. Huber, K. Jensen, and R. Shapiro, "Hierarchies in Coloured Petri Nets," Proc. 10th Int'l Conf. Applications and Theory of Petri Nets 1989, pp. 192-209,Bonn, Germany, 1989.
[14] Y. Inoue, K. Takami, and T. Ohta, "Method for Supporting Detection and Elimination of Feature Interaction in a Telecommunication System," Proc. Int'l Workshop Feature Interactions in Telecommunications Software Systems, pp. 61-81, 1992.
[15] ITU-T, Recommendation Z.120, ITU-Telecommunication Standardization Sector, Geneva, Switzerland, May 1996 (review draft version).
[16] I. Jacobson, "Object Oriented Development in an Industrial Environment," Proc. OOPSLA '87, Oct. 1987.
[17] I. Jacobson, M. Christerson, P. Jonsson, and G. Overgaard, Object-Oriented Software Engineering—A Use Case Driven Approach. Addison-Wesley, 1992.
[18] M.S. Jaffe, "Completeness, Robustness, and Safety in Real-Time Software Requirements and Specifications," PhD thesis, Univ. of California, Irvine, 1988.
[19] K. Jensen, Coloured Petri Nets. Basic Concepts, Analysis Methods and Practical Use, vol. 1, Basic Concepts. Monographs in Theoretical Computer Science. Springer-Verlag, 1997.
[20] C. Lakos, "The Object Orientation of Object Petri Nets," Proc. Int'l Workshop Object-Oriented Programming and Models of Concurrency,Turin, Italy, June 1995.
[21] W.J. Lee, S.D. Cha, and Y.R. Kwon, "Compositional Reachability Analysis of Petri Nets Models Using Petri Nets Slices," Technical Report TR-KAIST-SE-98, Korea Advanced Inst. of Science and Tech nology, 1998.
[22] S. Leue and P. Ladkin, "Implementing and Verifying Scenario-Based Specifications Using Promela/XSpin," Proc. Second Workshop SPIN Verification Systems,New Jersey, Aug. 1996.
[23] F. Lustman, "A Formal Approach to Scenario Integration," Annals Software Eng., vol. 3, 1997.
[24] J. Mierop, S. Tax, and R. Janmaat, "Service Interaction in an Object Oriented Environment," Proc. Int'l Workshop Feature Interactions in Telecommunications Software Systems, pp. 133-152,St. Petersburg, Fla., Dec. 1992.
[25] R. Milner, Communication and Concurrency, Prentice-Hall, Englewood Cliffs, N.J., 1989.
[26] C. Potts, K. Takahashi, and A. Anton, "Inquiry-Based Requirements Analysis," IEEE Software, Mar. 1994, pp. 21-32.
[27] W. Reisig, “Petri Nets—An Introduction,” EATCS Monographs on Theoretical Computer Science. Springer-Verlag, vol. 4, 1985.
[28] S. Somé, R. Dssouli, and J. Vaucher, "Toward an Automation of Requirement Engineering using Scenarios," J. Computing and Information, vol. 2, no. 1, pp. 1,110-1,132, 1996.
[29] J.D. Ullman, Elements of ML Programming. Prentice-Hall, 1993.
[30] Univ. of Aarhus, Design/CPN, version 3.0, 1996.
[31] A. Valmari, "Compositional State Space Generation," Advances in Petri Nets '93, 1993.

Index Terms:
Use cases, scenarios, requirements engineering, Petri nets, incremental specification, use case dependency analysis, Petri nets slice.
Woo Jin Lee, Sung Deok Cha, Yong Rae Kwon, "Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering," IEEE Transactions on Software Engineering, vol. 24, no. 12, pp. 1115-1130, Dec. 1998, doi:10.1109/32.738342
Usage of this product signifies your acceptance of the Terms of Use.