Integration and Analysis of Use Cases Using Modular Petri Nets in Requirements Engineering

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. 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 the 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]  Wolfgang Reisig Petri Nets: An Introduction , 1985, EATCS Monographs on Theoretical Computer Science.

[2]  Laure Petrucci,et al.  Modular State Space Analysis of Coloured Petri Nets , 1995, Application and Theory of Petri Nets.

[3]  Kenji Takahashi,et al.  Inquiry-based requirements analysis , 1994, IEEE Software.

[4]  Kurt Jensen,et al.  Coloured Petri nets (2nd ed.): basic concepts, analysis methods and practical use: volume 1 , 1996 .

[5]  Ivar Jacobson,et al.  Object-oriented development in an industrial environment , 1987, OOPSLA '87.

[6]  Peter B. Ladkin,et al.  Implementing and Verifying Scenario-Based Specifications Using Promela/XSpin : Extended Abstract , 1996 .

[7]  David Chenho Kung,et al.  Formal approach to scenario analysis , 1994, IEEE Software.

[8]  Antti Valmari,et al.  Compositional State Space Generation , 1991, Applications and Theory of Petri Nets.

[9]  Henri Briand,et al.  An approach based on the concept of use case to produce dynamic object-oriented specifications , 1997, Proceedings of ISRE '97: 3rd IEEE International Symposium on Requirements Engineering.

[10]  Kurt Jensen,et al.  Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 2, Analysis Methods , 1992 .

[11]  Martin Glinz,et al.  An Integrated Formal Model of Scenarios Based on Statecharts , 1995, ESEC.

[12]  R. Janmaat,et al.  Service interaction in an object-oriented environment , 1993, IEEE Communications Magazine.

[13]  Wolfgang Reisig,et al.  Nets Consisting of Places and Transistions , 1985 .

[14]  Bernhard Josko,et al.  Modular Verification of Petri Nets: The Temporal Logic Approach , 1989, REX Workshop.

[15]  L.R. Brothers,et al.  Feature interaction detection , 1993, Proceedings of ICC '93 - IEEE International Conference on Communications.

[16]  Giorgio Bruno,et al.  Protob: An Object Oriented Methodology for Developing Discrete Event Dynamic Systems , 1991, Comput. Lang..

[17]  Kurt Jensen,et al.  Coloured Petri Nets , 1997, Monographs in Theoretical Computer Science An EATCS Series.

[18]  Jeffrey D. Ullman Elements of ML programming , 1994 .

[19]  Ivar Jacobson,et al.  Object-oriented software engineering - a use case driven approach , 1993, TOOLS.

[20]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[21]  Enrico Vicario,et al.  Compositional Validation of Time-Critical Systems Using Communicating Time Petri Nets , 1995, IEEE Trans. Software Eng..

[22]  Frederick P. Brooks,et al.  No Silver Bullet: Essence and Accidents of Software Engineering , 1987 .

[23]  Charles Lakos,et al.  The Object Orientation of Object Petri Nets , 1995 .

[24]  Stéphane S. Somé,et al.  Toward an Automation of Requirements Engineering using Scenarios , 1996 .

[25]  François Lustman A formal approach to scenario integration , 1997, Ann. Softw. Eng..

[26]  Peter Huber,et al.  Hierarchies in coloured Petri nets , 1991, Applications and Theory of Petri Nets.

[27]  Søren Christensen,et al.  Coloured Petri Nets Extended with Channels for Synchronous Communication , 1992, Application and Theory of Petri Nets.

[28]  M.S. Jaffe,et al.  Completeness, Robustness, And Safety In Real-time Software Requirements Specification , 1989, 11th International Conference on Software Engineering.