Integration and analysis of Use Cases Using Modular Petri nets in

W
Document Sample
scope of work template
							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