Integration and analysis of Use Cases Using Modular Petri nets in
Document Sample


Integration and analysis of Use Cases
Using Modular Petri nets
in Requirements Engineering
Woo Jin Lee, Sung Deok Cha,
and Yong Rae Kwon, TSE 1998
2002/2/5
Guem-ja Lee
Contents
Introduction
Related work
Constraints-based Modular Petri Nets(CMPNs)
– Motivation
– CMPNs: Definition
Use Case Integration Based on CMPNs
CMPNs Analysis: Consistency and Completeness
Conclusion and Future work
2/27
Introduction (1/2)
In requirements analysis
– It needs great cost and efforts to rectify
requirements errors later
– analysis and validation difficulty
need a formalism : to analyze and validate
specifications
3/27
Introduction (2/2)
Properties for Formalized Specifications
– support analysis techniques
– be easy to describe and understand
– be insensitive to requirements changes
requirements are traceable in the specifications
4/27
Overall approach
Systematic procedure to convert use cases to a CMPN model
Guidelines to find inconsistency and incompleteness in CMPN
5/27
Use case approach
Characteristics of use cases
– partiality
System behaviors are partially described by users’
viewpoints
Support incremental specification style
– insensitive to changes and traceable
Weakness
– difficult to specify and analyze dependencies
among use cases
6/27
Related work
Developing formal semantics of use case
Developing techniques to integrate and perform
analysis on use case
Classification
Describing each Describing dependencies
use case among use cases
• Natural language
• P/T nets
• Tabular Notation
• Statecharts
• Grammar & State Machine
• Message Sequence Charts
7/27
Motivations
Merits of Petri nets for describing use cases
– easy to describe concurrency
– relatively easy to combine two sub-models
– various analysis techniques are available
Weaknesses of P/T nets
– Do not support modularity
– Difficult to perform selective simulation to satisfy the
specific interests
– Traceability is poorly supported
To support modularity in CPN
– Transition-based approach
– Place-based approach 8/27
Example for P/T nets
P/T net for BCP and CF
9/27
Constraints-based Modular Petri Nets
A CMPN is defined as a set of constraint
nets
– Constraint nets are P/T nets with shared places
and transitions
Shared places and transitions represent dependencies
of use cases
– Each use case is described as a constraint net
traceable and insensitive to changes
– Toggling constraint net
– Provide local and global model
10/27
Example of BCP (receiving part)
name:normal call receiving
Example
11/27
Example of BCP (receiving part)
name:normal call receiving
Example
12/27
Example of BCP (receiving part)
name:normal call receiving
Example
13/27
Use case integration based on CMPNs
fill out an action-condition table
for each use case
clarify event names among use cases
identify Pre- and Post- condition
of use cases
convert action-condition table
to Constraints nets
check inconsistency and
incompleteness
Anomaly Detected
No Anomalies modify of add use cases
14/27
Example : Basic Call Processing
Caller
– U1 = (off hook; dial number; routing; wait for response; call
connected; on hook)
– U2 = (off hook; dial number; routing; wait for response; on
hook)
– U3 = (off hook; dial number; routing; other party is busy; on
hook)
Callee
– U4 = (call arriving; phone ringing; off hook; on hook)
– U5 = (call arriving; phone ringing; the ringing stops)
– U6 = (call arriving; send busy signal)
15/27
Step 1: Fill out action-condition tables
Name : call receiving : U4
Informal Description :
When a call arrives, a user picks up the phone, engages
in a conversation, and finally hangs up.
Actions Event names Preconditions Postconditions
call arriving
phone ringing
off hook
on hook
16/27
Step 2: Clarify event names among
use cases
Name : call receiving : U4
Informal Description :
When a call arrives, a user picks up the phone, engages
in a conversation, and finally hangs up.
Actions Event names Preconditions Postconditions
call arriving t-routing
phone ringing t-ringing
off hook t-activate
on hook t-end-talk
17/27
Step 3: Identify Pre- and Post- conditions
of use cases
Name : call receiving : U4
Informal Description :
When a call arrives, a user picks up the phone, engages
in a conversation, and finally hangs up.
Actions Event names Preconditions Postconditions
call arriving t-routing
phone ringing t-ringing busy
off hook t-activate
on hook t-end-talk not-busy
18/27
Step 4: Convert action-condition tables
to constraint nets
Shared transitions represent the same events in
different use cases
Following places are shared
– the places between shared transitions
– the start places of which use cases are
selectively performed
Toggle places are used to represent binary state
variables
19/27
U4 : Normal call
U5 : Abandoned call
20/27
CMPNs Analysis
CMPN model
Use Cases CMPN Slices
Simulation Consistency Check Completeness Check
environment can
- deadlock detection provide some criteria
be tailored in users’
- liveness of transitions for incompleteness
interest
21/27
Slices of CMPN
Reachability analysis – state explosion problem
CMPN Slice
– Restricted CMPN
Place sharing does not occur
Transition sharing allowed
– A slice is a trajectory of a token with preserving place’s
incoming and outgoing information
– Efficient and compositional analysis of CMPN
22/27
Analysis criteria (1/2)
Inconsistent
– Transition never enabled
– Deadlock
There is circular dependency
23/27
Analysis criteria (2/2)
Incompleteness
– Nondeterminism
Interaction problem
– Missing toggle place references
– Toggle place values never modified
– Slices with no shared transitions
Shared transition – synchronization points
24/27
Slice sets for BCP and CF
25/27
Conclusion
Proposed CMPNs and the formalizing procedure for
describing use cases and their dependencies
introduced Petri net Slices to support compositional
analysis
Developed guidelines if CMPNs are consistent and
complete
26/27
Future works
Software tools to support CMPN-based modeling
and analysis are needed.
Additional analysis methods for detecting
requirements flaws
Extension for system variables to handle non-
boolean types
An efficient analysis method for timing constraints
27/27
CMPNs: Definition
28/27
29/27
30/27
Related docs
Get documents about "