You are on page 1of 9

The Eighth International Conference on Quality Software

 
           
     



     
   

 % " " $   


) !  % !!  " ! 
  


 


   
     $!     "  #
 

           '  :  " (  #!( !#
 
 
  
        ! -;;)5 -   ! #
 
 
 
  
  
  
! </=5    " >"  % #

 
 


 

 
 
  ! ! ? @ (    
 

   !

    
 

   % ( "  (     
   

   

 
  !
!  "   !  "    
 
   


  
   !  (   #% ! !
      
 

 
  
  -A)5 "   !  " "  #
 
" 


  
  

  !     (  "  
  
     
 
    -  5        #
 
 

   
  
 % ! %  '   <3= *#
    

  

  



 !  ;;) A)     %#


   
 

  

          " $  % 
 
  
  
 
 


     " #! "   ;;)  
  
 
      
" 
 B%#! ! -BB)5 (  
         

       !  " !  !  " 
 
 

 #$%& '     

 " !$ ! !  " ! -% 5
         

   
 <9= A BB)  !  (  "
   


     
  
 % ! !$   !    #
(


 
" 
 
 


  "  "(    % !! ! 

  
   
 
 
 
  !   %      % 
   

   <8=
) ! (  " #! ! 
  % !  ! C( !    #
    % " '    ! $ (
%#! !  % " !   !
  !    "  #   <1 7=        #
$ %     %
    " (   !   "
 !    !  "  ! ! " "   !! %    
!$ " $          " % !    
 % !     %         ! ( !      !#
&   ! $ !       "    !  
       '    ( !  "  ! @ !   ! '  "
  (  !   %  )  " ! 
"(   "     %
*      !   "  ! +#
! " !  %#! ! 
# ! " $ ,  -. /01222345 !  .6*  "      "   #
+ -. 728992/25  "  ! ! % !  )

1550-6002/08 $25.00 © 2008 IEEE 105


DOI 10.1109/QSIC.2008.39
          $   " !#  !   !    "     !#
 !  !  ! '     
!  D <4= (     !  
)
!  !   "  ! 
" D "   ! "     
   
    " "( " 
  ! " %  #
  (           
'          ! !
" '  !  &     #
"   !      " ! 
$
"   !    %  !   
B  D  !  B6
" # !  "    ! ! ! !  
 ! <0=     /0    $   '      (
  " #!   ! $ " #   % ( "    !    
'      ! "         #!( !  !  #
B6
-  ! B%#B! 6
  5  & ( "  #!(    #
   "  "E! ; 6( ;  ! !     !! !      
F;)#
<G /2=  %$      "     ( "'  !$ "  
%#!     <//= ( (      !        %#
  ! &     " #! (     !  !  
  ! $      %#  %     "     #
 !   % !  ! C( !  </=  !
@   (   "(!   ! !  %    ! (    #!(
 %  #!( !  ! !      " ! %   
%#  #% ! ! " '    "          " #
  ! $ % !  ! C( !#   $ !   "  
  H    "E! ! C( !  #    !! "    !
 ! *! ; 6( ;  -*;6;5  ! "   !$   %#
!!  B6
       #  "      H ! 
! ! %  *;6; (   #% ! ! "    %   
  !  " >(  !?  ! C( !# (          !
   >(  ! ?   C( !# !  "    !! "  ! !#
   #!( !  !   " $!   %  !     #
! %     (    (   "  D  
 " '  '   (  # @   ! (   B6
$ #
% ! !  !   " ! %       !$     !  #
   !$ "  $     B6
$     " #
- !  !   !   *;6; ! !  (  *;6; 
 5 !    "  D  ! (  !  *;6;   !!
   #!( !         %   !   
"    "     %   

  ) 
 !    

(    !      % ( (   ! !  & " D  #
"        !      $ "      ! 
(  #% ! !   "   " "        I  ! C(
 "  " ! %  !  " !  !   "    #
 "  !     !$!  I !      ! !  -  
"  D    %$ "   $  !% 5      
 ! !   !    "   F;) </3= %  !&       
 !    $  ! C( ! !     ! C( D 
   "     E!  "(  #       (!   
 3 ! %   ! ! ! !     "   ! C(  %      
(   % !   (  D # "     !  D     
 9 %C ! %  "(   "   !   "     ! C(   -  
!  8 (  ! ( ! #   !         #
  (   ! 6   1 (   !    " ! C( 5 ; C( !

106
   ! % %   *;6;I     (     %  " 
!!    ! !  (  %#   "     !   %  
  !       % ! !# !     " !  *  
 !  $   !      %#   (
C( !  </= %  !&     !$   !       "   
    " D     # !! "     "     
  !      ! C( !    "        ( #
 !$! (  !   !     !!  %  ! " % ! 
 !$!  # !  !   "   B    !  "
@  (    % "    ! %   !      #
*;6; (   ! !   (  % # % %   !   %  " ! % 
! % # !    ( B6
#       !  "
   $!  (   "    !    ! ! "   #
! "        !  "     % ! %  !#
%#!    *;6;   (     ! !   (
 ! !     ! %    
     !   " ! ( 
  !  D "  $! @* !
  "  "  " "      "    (       #
;      " *;6; % !   (   ! % !   '  "
  " >! %? - % !  ,( -,5     %   
 ' ! %   5 ! >$ ? # "           #
! -  ! " D    5   "      (       
B6
       $  # (    @* ! H $  %  
 -% !5  -   </9=5 " !#     #   (  6 #
  !          /  #   %! 2 (
-  ! 5 !    -  # !   >6  ?   ! ! 
(   5 </8=    #  %#  %! / 3 ! 9  #
 ! ! C(  !   !   - #  /   !!   %#  (
   (    5  %  *;6;  3 ! 9   ! !   #
   ! %       %#   6 D  3  ! ! 
 ! % !  -!    #  3/ 33 ! 39 J   (
5 </1= %     %#!   ! %  " "   
    *;6; ! %      %(    !   (   #
%(   % !  ! C(    " '  '  
!     (  " ! C(
@ !!      "    (
 *;6; (  
 ) !  
  !    ! !   !   "
)     ! C( ! %
    (   %    #
 >(?  %   !   ! 
 ! ! 6 D  !   (#
 % ! %    (   ! C( 
 !   >;    ?   "
  >(?  %    %    #
$  6  /      !  
!   ! "  %       #
  *
 ! 
+ !  #
 ! C(  % "    ! #
 !   (   ! 
 (      (   !
  ( !   >*  ? !#
C(  % "    ! 
%         !
(     ! "  B6
  
     %  !I    !#
! !  ! !  <0=
! "   "   !  
    "  '  "  
  
     6 D     %! /
   D    "  % & "  @*
A  #!( ! ( $  %    !  %   /22222    -
    #  !  #  %  "  (  !      5
   !  %  ! (  !   !  !  *
 !  
(    ! %  !!    # 33 ! 398

107
Functions
fail_mesg4
0. An IC card system for buying tickets or charging the card.
ticket_price
1. Select services provided by a customer.
2. Charge card. Check_Buffer
2.1 Select the type of charging the card.
2.2 Charge card with cash.
3 tickets_available
2.3 Charge from the bank account. ticket_price
2.3.1 Authentication.
2.3.2 Check amount.
Update_Buffer
2.3.3 Charge with the amount, which is similar to Charge issue_com
with cash. Issue_Ticket
2.3.4 Update account after the charge.
3. Buy tickets. ticket
3.1 Check the buffer of the card.
3.2 Update the buffer of the card. 1 buffer
3.3 Issue a ticket.

Data resources
6  3   " A   
1. buffer (used by operations 2.2, 2.3, 2.3.2, 2.3.3,
2.3.4, 3.1, 3.2)
2. current_accounts (used by operations 2.3.1, 2.3.2,
2.3.3, 2.3.4)
3. tickets_available (used by operations 3.3)
   % !  ! C(  
Constraints     ! %  *;6;  6  3
1. The amount of the card buffer cannot be greater than   !$      9  6 #
 / !    "( '  D #
100,000 yen (related to data item buffer and operations 2.2,
2.3.4).
2. The requested amount for charging the card must not be
greater than the account balance if the card is charged
 H    ! C(  !
+  
%
directly from the bank account (related to data item %   '
!+,*
 D  ! #
current_accounts and operation 2.3.3).
!     +
 / -"  % &   
   !
+  
5      !
+  
 
6  /    "  " ! %  #
 - 
+,*
    ! 
!(   
 ! C( 
+ - ! "   !5
 
+    !    .

+ !
      !

        !  " !$   "  #
    !  *
 !    
 %#      - (    ! ! C( 5    "#
!     B6
%    !! ( 
 !$    !! "       ,+ !
+#
 0
 !   '  "   (  !# ! 
       (    !
 1  "I
% !  ! C(   @ !  # "
!     "     ( !  *
2 3
" "   !    45 *
      "  
H     $ "        54
 !    !    !  #  !
+  
2 
  
   !
0
 ! %!   " $   45 !
+  
   '   "
%       ! ( !   (    "  KL

     B6
$    "   '
!+,*
  !
+  
2 3 
 $   +
 /2     !
+  
2 3

  !  @* !   "    #  *
2 3
(    D H $  !$     !
+  
1 *

%#      B6
 ( 
  !
+  
1 6 !
+  

 %     ! " #



 +
 / 1 78   
 
$ !  !$   *;6;  # 
  
 !
7
           ! $  0
      -(  ! 5    - 
+,*
  !
+  
2 3  
 " $ 6 D ( !$  
+ 2 3
%   9/ 93 ! 99  6  / 45 
+ !   "  
     '
!+,*
 - 
+,*
 54
! .
+ !
    (    #  *
2 3

108
w_mesg
amount
fail_mesg0 Check_
cash_amount Amount
fail_mesg1
amount
Charge_with_ account_inf Charge_with_
Cash Cash
card_id

succ_mesg1
Authentication
1 buffer
succ_mesg0
pass
fail_mesg0 Update_
account_inf Account

1 buffer succ_mesg2

2 current_accounts

6  9   " *  (  


6  8   " *  " % #
 

 *
 1 6*
   !
+  

$  0 2 current_accounts

  .
+ !
 
+ 2 3   !
2
 !

w_mesg
amount
fail_mesg1
#   !
+  
2 
  
   !
 card_id Charge_from
fail_mesg2
Bank_Account
  !
 1
 !
+  
 
+  pass

succ_mesg2
LK    "   KL acc_charge

$   charge_com


Select_ 1 buffer
$   Charge_Type

 !   ! ,+ !


+#
  !  cash_charge
fail_mesg3
 ! "  ! -  !  5 Charge_
 % ! -  " 5 ! with_Cash

 $   !
 M  "   succ_mesg3

 !
     (     % ! 
       !  % $!  6  1    ! 
  !    !   
  "       $! 
# !  !  6 D  !#
 "   '
!+,*
   -!   (   % !    6  9 
5 !  $     "   33  6  / !  #
  ! C(  !
+  
!   *
  #    (       
' ! %"  D  !   ! !#  6  8  "   39  6  /
%  "  !
+  
    '      (     !   (
% &     ! C(  !
+  
 ! !   #

+'
+
   #
(         ! C(  !
+  
D   6  1  "   / 
-!! %  !! % 6 !
+  
5I # 6  / H      6  3 !
(        +
 /  ! 6  1 (   "     
H     $ "           ! %  *;6;
( !         ! C( !  6  7 6    % !  
  -(%5  " D % "    *;6;  6  4 6   "  (
  !$!    %   H       ! !  $ " 
!      (  $   !     $  ! %
" %  !    D  "  #        (     D#
 "  $  $       D  @ #
 " % & "    - !     "   "  D    % !  
   ! C( ! D % 5  "     !        #
 !    D      - !#  "  %     !  
     "     ! C( ! D *;6;  !$   D    
% 5   $   !    "  D    ! 

109
2 current_accounts 3 tickets_available 1 buffer

w_mesg
w_mesg
fail_mesg1
fail_mesg2 fail_mesg1
Charge_
Card succ_mesg2 fail_mesg2
charge_com fail_mesg3 service_sel
succ_mesg3
service_sel Charge_Or_Buy_Ticket succ_mesg2
Select_
Service 1 buffer fail_mesg3

succ_mesg3
buy_com fail_mesg4
fail_mesg4
ticket
Buy_Ticket
2 current_accounts
ticket_price
ticket

3 tickets_available 6  4  @* !       " #
  
6  7   ! * NBNA N

 !   (       
% ! !$        
 "     "  D #   "    %!   "  #
  %  (        !  ( !  !    !   ! 
 % $ !   %    % !     "      % <0= " ! 
! ! "  ' ! "  "  #
!      6 %   

D  "    6  1 ( $ 
%     6  8      B    %  #!( ! !
 ! '
+ +,!+9  6   %#  #% ! ! "   
1 (     ! C( "   # " $   B6
$   
 ! +   !    !  #   B6
 (  D     
  ! C( "    !      ! " "    6  / H   #
C( "    !  +
 3 +
      %  "  (   #
 +
 : ! +
 ;  !    # ! $       C
  ! C( "          !    "    %    !#
C(  ! ! D  %     ! !  "    "     
% !      ! C(    " >?  "       "
!&     -    ! %      !    " #
(       ! "   $ "          
  "   5   !  " ! %  "  "     
 " "    ! C(   "     ! C( !    !(
   ! C(    " !&       !    !  "   % 
   $  ! " %  #  #    ! !   
 *;6; ! !   % ! " (      " (    
     !       %   ! C( !   @"  "   
* -" %!!!    " D5   %# !  % ! ! "      ! !
!        -" "#    " (        ! 
    " D5 +         !  % !#
 % !   "   * !  *;6;  !
 (    ! !     % # B  %  "   "     %#
!   "   (  "    #% ! !  !  !$  
! H  "  B6
$  %#        
 %#!      % - ! % *;6; 5 ! %  D  #
 B "   "(!           !    
  !     !   !  D       
   !  H      ! C(   #   $   !

110
% ! !   "  ! "   !
! % !     !  #
%  !   </4=       #
 "  J B !  (  !" 
! (  ! (    #
$!  ! %  '   !!
     </0=       !#
$ "  %  !    ! 
E %   '   !  !
  "  ! " !O   % #
! % "(   !   #
!  #% !      
! !  (    '  ! 
 ! $ % "    #
 "  <3=       
!!  )
  D " #% ! #
6  0   "  B6
    </G= %          !" %
  " %         !     "    ! #
    B     #% ! #
     D %#  
  ! !  <32 3/=  !!  #
   &
  !!  ! ! "#
   O ! '  " $# (     " #% ! '  #
              (     
" $ ! !  (  # %#! ! <33=   !
$     % ! 
 

     "  % %    
   

   ! !    !      !  % ' #
 !            !  % '   !
*;6; (  !  $ ! % # ! "           !
          6  0 ( (  % " %  !    !"#
   "  +@ "  B6
   "     H !   
   " %     6  3   #!   !      
      6   "         #! #
(     ! "   '   !  % "       
! D  D   !   " (      !    
  % <39=        ( !
" !   ( ! "   %
 '      " 
& '  ( ) ( !          #
$!  #!  (   %
A #!( ! #% !   !
 ! %! (     I ! #
$ '   % D  #
 "  !      !  !
! %     (   % "
  ! ;  !  % " #
 (    % !
% ! ! #% ! !   !
    6   "    (
 %  "   !     <38=  (
" ! (     !    
!       
    C !       
  " "   %  %(
J B   #!! '  '      (     
'   ! % ;! !
 (!    " !!     #
</7=   "  '     %!  !   (   #
 (  !  "  #  !#  %  (  D     
%   %   !  !#
       %#   ;$ *!   % (    ! !
!     !     "   #  ( H ! : (  #!(

111
!  ! ! #% ! !  !  !  " & #
  %  !& "    (    (   ! "    #
( !   !  !  "       "  ! ! "    %!
  !   ("! B   (    H     !     
#!( !  ! "   !    ( '  !     
   "    !     !   !    ! ! 
     %   (   
$ "   " !     #
, )  
   "  "      
! !   !     H ( !         !  
    !   %#  #   J ) P P  ! A + 
% ! !  !  "    "   %     "
  %  !   !$ "  "(   " B6
 H    
    !    %( D #    !        "  !#
  !      "  (     ! !  % ! 
    !  !  "  *;6;  @* !  
 B6
$     (  D
  " D        
      $    # '
 *;6;   %  !  
  !       *   %# </=  Q ! <
 #
 9  R
!         /G0G

<3= J H!  J R )  !


*      + ( ) R       ;
*  R #
 /1-3598S81 /GG0
#!( !  ! ! %# 
#% ! !    ' # <9= +! A $
$

 9   =

   ! $ @   (     9    !!  H 
 
! % (  ( D  !  % # @ /GG8
!    %$ '   !
$    B   ! ! # <8= ) R #  %
  $

 E     #!( !  $

 =
   -<& ;    R % #
 % !   "     D#   3222
        @   #
<1=     !   +  6  B%#
E   "     ! 
B! ;    , 91 @#
     " $   
 *" ! ,  * " *#
 B6
  !  %   ! !
   H! + /GG3
   !   %(   #
!   %#     ;  <7= " T ! ! A 6!E ! 
  (#!$! " D !  "  H  %! "  ! %#!
B6
$    (  %   "(   "( !   @ >

   
  "   ! (   !# %  .??? .
  '


 ? 


 !  %  A  ! !   ' 
" '   #
   /74S
   % & !     /40 6
 !! 6! .% 7#/2
 " !  @* !   - !  /GG1 @ *   R 
 %#    )   (   
!   5 ! (   "    <4=   @ 
 
- 
 >
 %
 
  D    (    ! ! -<& A   =
  >
  #F 
(   3229
    % "  
! ( (    (   & <0= 
  %  ? 

   .  #

'  " #!(    "    ! =




 -  
#$%& <
  #
  " !"   '  "  !# F  @A. 9#182#32723#4 3228

112
<G=  ;(  
B=<#& C



@ 
 R <32= R  +  6 6!       !
/GG/  ,  #  @!  *   !
! !   @ > #

</2=  F;)#
 +  -
 <  
.??? #    C
 

 ? 

  
.%9= B=<#&   @   " !   /2S/4 @ * R  /GG1
*   6%  /GG8
<3/=  ,   #A ! ;    ,#
<//= 
   B&  * #  Q   ! (   @" *  !  
) B% B6
  6   )!# @ > =.#DK2 =
   .

#

  " @!    .???    394S387 /GG1
   #
? 

   38-/5994S988
  /GG0  @   6 )!  <33=  +  & .  ) )!  )
! ; )    #A ! ,#
</3= * A   #
  #
=


 - '     .???   
 B=< 3! ! R  /GG2 #
? 

   38-/35/243S/200 ;#
% /GG0
</9= ;  *  F  6  "
*D    #

 ' 
 >   <39= J H ! )  *% +#
  0-95394S348 /G04 B!   !   *     .?.'?
   .    #
 04#
</8= 
  )  J J ! Q .  ;-85033S092 3228
 B6
 "  ,( * 
* " @!  @ >

    :DDE <38=    !   ;  ;    


.??? (!  . #
  %  " @ ! #A ! $ 
#
   
 
 F(.%DEG A , .???   $ #
? 

  
6!   B% 32#39 /GG0 @ *# 93-7598GS978 3227
   R 

</1=  + 
  ! )  @  "
; )! )! " 6 "  
(  B6
6 $
   @
>

    # " .??? .


  '



 ? 

   ' 
" ' 
 #

 F.'?''#;333G    //#/8
3222 @ *   R 

</7=  ;! +#;! ,'  ' #


 #

 ' 
 >    32-/#
359S12 /GG9

</4=  ; , ; !  ,"  "#


( T   (  )! " +#
B! ,'   @ > :H .

  '


 #
I #
 ? 


   
 9      *@* -A5
;% 3#8 3229

</0=  @ .B. +#A ! ,'  #


  @ > #
 .??? .
  '



 C
 

 ? 

  F .'C? JDHG
  /97S/88 *!     
/GG7

</G=  , %  @ %  ! + A 

- 
 <
  & 
C



<
!! #H  /GGG

113