From a Solution Model to a B Model for Verification of Safety Properties

1 downloads 0 Views 731KB Size Report
Sep 23, 2013 - (Univ Lille Nord de France,F-59000 Lille, France. IFsTTAR, EsTAs ... direct transformation of the Petri net model into abstract B machines.
From a Solution Model to a B Model for Verification of Safety Properties Philippe Bon, Simon Collart-Dutilleul

To cite this version: Philippe Bon, Simon Collart-Dutilleul. From a Solution Model to a B Model for Verification of Safety Properties. Journal of Universal Computer Science, Springer, 2013, 19 (1), p2-24. .

HAL Id: hal-00865039 https://hal.archives-ouvertes.fr/hal-00865039 Submitted on 23 Sep 2013

HAL is a multi-disciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destin´ee au d´epˆot et `a la diffusion de documents scientifiques de niveau recherche, publi´es ou non, ´emanant des ´etablissements d’enseignement et de recherche fran¸cais ou ´etrangers, des laboratoires publics ou priv´es.

Journal of Universal Computer Science, vol. 19, no. 1 (2013), 2-24 submitted: 18/10/10, accepted: 28/12/12, appeared: 1/1/13 © J.UCS

        B                          !""  #

              !$   " %"% !""  #



               

                               

                                                                                        B  

                                    B                             

               

     B                           !" !#     $

"!  ! " !  " & ' "   $ &  (

 %  !("  ! "  !!!! )  * "  $"  +) !  !"  "+ "+ " %!%  !" "! " &) !)!"$! & & !  !  !"  %!"   "*" " %!  " %" ""  "!  %!"   "*" "   + " ) ,"

B , !  !   !

 & "

B

$ 

!   "  !  "! !  " ! ") 

! !" " "   + 

B

$   "  !!!!  -"  "!   " "  & $"$"!  " *" +  

!""   " $!$! !% !  !$! !) ." !  !  $%"% *%! !  + %! %  )+ $"$" $  ! %! %

  + $ 

! ! $     "! /"  +! !  " / $ + %!%)  "    $ 

! %! / ! )

Bon P., Collart-Dutilleul S.: From a Solution Model ...

3

 !$ $ +%+ " %!  " %" "& " " !"+  " !"!

-"  "!  ( !"  ! "" " +!   " !" " !""  "!  *"  ! ""  !) ."  ! ! )   "+ & " %!  ! %    $%"% *%!  !" %"%  ! ! ")  !0%!  !   ! "" -"  "!    "    )$ !(" ! !% !  "  $%" "  $$%$ ) % " !  %" + $ +! 1 '! 2334 ! !" !%"!   $  5%" "  %!+ "

B

$" 1  264

*$  "!! $ !" " 0% $"!   5%" " * !!  " !!!! %!+ $ $" !  ! $  %!"   ! !% ! &) !)!"$! " %!

%$ * "!  "     17 !!. "  824  +  $  ! )   "+   %!"  * " & $)  "  $ &" $" $" $!$! /    $ +  & !     "      $* %"  ! $  & &  & " * !!  " ' & &

" * " 9 !  + "!  " & + -"  "!      ) !" + $ +  &  & ! ")  "  " $"$"   "!

 ) -"  "! 1:!   . + 224 !  ! " "  &+  $ ; " $  !   " )  * " %!+ ! $ $ 

!  "  &  "  " !" "  $  &    ( &" !" " " !(" !  %" $") $$" < /   !) " " !"  ! "     !%  &) "" " * " !!!!$" !  !    " &)  "*" "

B

$"

!  $ $" & ! " !  +

$!$ !!!!$" 

B

$"    !! %"  *%"   !  %  9 !0%")

"  $ "  !  ! " " !"   + -"  " +%+ "

B

$!$  ( !" !"   !"! " + -"  "!  "   ! 

 " "! & ' ! &" "

B

$"   " !"  !  " " "

$  " %"  "!   "  !  ! "  % + $"  +)

" !"  $ + -"  "! "

B

!" " $!  !" !" 

  !! ! $ % "  ! !     % +



     

    

 $ "! !"  ! "      & " +    (+%  2# " !" " &" " ""  ! &  !  ! " " ! &   0% $"!    "(  "  $ !("   " 0% $"!   $    "  )!  7% + "  0% $" )!! -"  " $)  %!   " %  $  %  )!!  $  " 0% $"! $)  %! "  $ " !)"!!

   "  19  " 7%"% " 64 17 '  =%.. 84

Bon P., Collart-Dutilleul S.: From a Solution Model ...

4

  7+ $

" 0% $" + +  

 " &) %!+ " 0% $" $  ! " ' !)!"$") "  "!!  & %  ! %"   "! !  $ "

 $)  %! "

$'   $ !  "& "  % " & %  ! %"  $   " 0% $" $  17 !!. "  824 > &  " "  " )!! ! " !+  !! ! *" "

 &" " !("    ! %"  ?  " *%"  " $$""  "!'  %"   ") )  * " " $ ! " !"+  "! !   $"   +  $  ! %! % >+ -"  "!   " " 0%")

$ $ +

 +%+  &  ; " ! %"   " ) " * " ! * !! &" + -"  "! !  1-64 " "  $ " !" 

"! $  "  $$""   ! "    ! !  !) " !%@" "!  A "  $ ! "      %" " "  !! $$""  ! %"  % + ! " 5)

"

B

 !!  %+  $""  ! &' & " " !" 

+ -"  " " !" "



B

$! ! )  " !"+ +

     

-"  "! &    ) 9  -"  1-"  2684   " $   "!

!)  %!   % " " ! -"  " " )  &! $  "

! ) )$  %  !)!"$ %" ! " %  !"  !!!! "  "! !"  & !" " "  !" " ! " )  " &  !" + -"  "!  $   !)   %  -"  "

Bon P., Collart-Dutilleul S.: From a Solution Model ...



5

    

-"  "!   %!   " $  "  % ! " )$ !)!"$! 1/% " 2B4  -"  " !   "% !!  " + ! &"  " !"" 

     

 -"  " !   "" +  " ! "& ")!

 !A !  " !" !  ! ' )   "  " !"   " !"  "   = ) " !" !    !" )  !  *!  ! )  !  %! $" ) -"  "! " $   $*  $! ! $"  %! " !. " $   )  !%  ! " ! !! ) " %! + -"  "!  !. " $" ) -"  " ! % " " " "" " '!  "  C "" 

    !  D) $"   &  $" ) -"  "! " '  "  C  ""  > &  !" $ + "  ! " !%!! " "%   " ! $" ! " '!   & "! + -"  "    )  ( !"  +%+  " '!  $ +%+ * !! !  " ! $ " ! $  !"" "  "    !  ) $% + " !" !  $ '+ !  $%"!" " '!  " !" ! ( +  !  ! "  $%"!"! " ! $"   ! " + -"  "!   !" %"%  "  '!     )  ( !"  +%+   $! + -"  "   !"+%!   $ !"  $$   A

  

  "!E" !" ! -"  "! 1=  2B34 !  ( !"   +   %  -"  "! 1:! 284 !   %"  +%+ +  -"  "! 1!+ 224 !   0%"  +%+   % " !. $   ! %! *"! ! -"  " ! %$ 

-"  "!   ) )$ ! 1)$ ! 23B4 F) "   %  -"  "!    !"   ?%"   " %+ "$ ! $ !  "  $%!"  (   !"  +%+!  !! " ( "     &  !" 

       +%+ ("   !!"!  ++  $!$

 "







 !!++ 



 

% + %!+

" "! !"! " $

! %! !" % + 





!! !!++ 

 " ( ( !"  +%+! "%")  % " $"$" +%+ ! %! 

Bon P., Collart-Dutilleul S.: From a Solution Model ...

6

 " %!  !   !" !)$ !

  !" !)$ !

   

" !   !)$ 

! !! "  )$ 

"

0

  

 !" !)$ !

  

! !"!   !!%$ "  !@ " $ 

%" !   "!#   !" "+ 

 

  ( !"  +%+

  !)$ 

 

%" ! &"   ") 0%





  %" % !) $  !""!

 !)$ !  ! &" !)$ !

%" ! !"  % "

$"$" +%+  !

x



y

2 ∗ x + f (y)

&" %"  !)$ 

 ""  &"    ")

'&! 

!  * !!  %" $  !""





 ") 2#

f

+





2



 ") 8  %(*

+#

! %" $ * !! ! &" !)$ !   "!



2∗x+y > z −3 !  " $ %" $ * !! ! 2∗x+y  z −3 &"   " !)$  >  ") 8  %(*  "" # )  ! !!) %" $ " $! &" 0%"( ! ∃  ∀   +  " ! !  @%"  ∧ !@%"  ∨ +"        (x = 3) ∨ ∃y((x + y > 2) ∧ (x − y < 3)) ! *$

 $%  * !!  ! ! " 

 

 "  !    !  

 $% !  !   "!  !     0%"( (  !"   %! $% !  "  ! %!

x

!    0%"( ) 





∀# 

 

   

 ( !"  +%+  !!"! A

!! "+ "   !""  %  " !! "+ "  !)$ 

     

%"   % %"   " "  "" 

$



!! "+ "  !)$    "   



 " & !  



%" #  * !! !  $%   !!) "  "  !"  " "  ""  $ " ! &" " "  "" 

+  ∗ !  

"   $%""  " * !!  2∗4+5   %" ! 13 '&! &" " "  ""    "!

=<  > ! 0%")  !!  " ! $% ∃x∃y((x + y > 2) ∧ (x − y < 3)) ! " % " %!  " ""  "  ""   !  " "  ""  $ $% ∃x(2 ∗ x − 1 = 0) ! " %  " "  $ %" !  " "+ $  " ""  $  !""  ( !"  +%+! ! $ !! "  " !   $  $) ( 

 !    " & !)"*  " "  ""   ( !"  +%+   $) ( 

#   Π

 !"

"

V

  !"  !

   

"+ 

 

Ω

 !" !)$ !

    "!  !)$ 

! !! " 

   



%" !   !"

Bon P., Collart-Dutilleul S.: From a Solution Model ...

#   % # 

  

(Ω, Π)







  ")

  #

$

v

  !" %" 

e1 , ..., en

%" 

!A

Ω

  #

f (e1 , ..., en )

& 

f

!  %"  !)$  &"  ")

n

  * !! !

! ! ! "  %" 



 

V

 !" * !! !

# 

V

%"   

0

  



!  

7

L

!  

 

 * !!  &" %"  

 

(L, Π) !   !" %"  p(e1 , ..., en ) &  p !     n  e1 , ..., en   * !! !  " $ &" %"

" !)$  &"  ")  ! ! ! "  # 

! " A



 

 " $   !" %" 

(F ), F ∧ G, F ∨ G, ¬F, F ⇒ G

  !" %" 

∃x(F )



∀x(F )

 !"

Ψ



$% !  

#    !" %"    

 

∃x(F )

!

x !    ∃x(G) ∀x(G)#

! !

∀x(F )#

 

 



F

x  +  F

  $% &" %" 0%"( ! ! ! " 

 



 $%

! ! "

 $% &" %"   ! ! ! " 

T

 

!  !"  ! $%

a, b, d %! f, g, h %"  !)$ ! p, q A, B, C " $!  F, G $%



F

     

 "  &+ *"  "  "  "" ! !

& 

) " *!"" ! % !# 0%"(     &" %"

) '! ! ! " 

# 

F ⇔G

& 

&  "  !  !% $% !





  $%

G



 

   

x, y, z, u, v, w

 "  

  " !)$ !

e, c

* !

 "  ! ! " %!  " " )  " 

+%+ !  "  ! ! %! % " "  " * !! ! &"  *") 0%"(  ! "%")  !%!""%"   !!"!  +    &"  * !!  $) " ! ( !  &!A

#   # 

   

!

V

σ = [x1 /e1 , ..., xn /en ] ! L !A

" " !" * !! !

 "  $ " !"  

Bon P., Collart-Dutilleul S.: From a Solution Model ...

8

 



σ(xi ) = ei σ(v) = v

i = 1, ..., n

 " !  !

#  !%!""%"   "  ! *"  "   $ !$  " !"

* !! ! $  $)A #   $ !" 

σ1 ◦ σ2

σ(f (e1 , ..., en )) = f (σ(e1 ), ..., σ(en ))

"& !%!""%" ! ! ( )

(σ1 ◦ σ2 )(e) =

σ1 (σ2 (e)) #  "  " !%!""%"  "   $% ! ( !A

  

σ(p(e1 , ..., en )) = p(σ(e1 ), ..., σ(en )) σ(¬F ) = ¬σ(F ) σ(F op G) = σ(F ) op σ(G) ∧ ∨ ⇒ ⇔

#  !%!""%" 

η = [x/a]

& 

& 

a

op

!  "! 

  " !

!   !"" ! 



 



  #

#  !%!""%" 

α = [x/v]

& 

v

!    ! 

#  "   !!+"  η 

  



% !

x

)

a

   

= [x/a] "  0%"(

$% !

A

η(∃x(F )) = ∃x(F ) η(∃v(F )) = ∃v(η(F )) !$

  

v

C "

x

∀

 " "! (" !   %  -"  "!   ( 

 

 

   %  -"  " 1:! 284 !  !! -"  " &"  !"   % !   " !"+%! " '!  * !!   & "! ") -"  "  &! %! " $   !)!"$! 9  %  -"  "!   !   %"  +%+ &  " ")+  "  !  ) $ ""   ") $" "

 (" !" ! !! " "   ! ") !    % "      %  -"  "!   !   ") ( !"  +%+   !  !"

$!  !)$ !

%" !   "  " ! %" ! %! 

"! $! " ! $ "" "  " ""    %  -"  "  &)!  %   "  E" !"  -"  "  $ ("     %  -"  " ! +  &A

Bon P., Collart-Dutilleul S.: From a Solution Model ...

#  

   %  -"  " !  "%

9

CP N = (Σ, P, T, A, N, C, G, E, I)

! #

Σ

 $")  (" !" ")! 

#

P

!  (" !" !

#

T

!  (" !" " !" !

#

A

!  (" !"  ! !A

#

N

# #

  C ! "  G ! "   ! "



P ∩ T = P ∩ A = T ∩ A = ∅,

%"  ( $

A

"

P × T ∪ T × P

%"  ( $

P

"

Σ

%"  (  $

P

" * !! ! !A

∀t ∈ T : [T ype(G(t)) = B ∧ T ype(V ar(G(t))) ⊆ Σ], #

E

! 

$ % 

%"  ( $

A

" * !! ! !A

∀a ∈ A : [T ype(E(a)) = C(p(a))MS ∧ T ype(V ar(E(a))) ⊆ Σ] &  *#

I

p(a)

! 

!  

   

N (a) %"  ( $

P

"  ! * !! ! !A

∀p ∈ P : [T ype(I(p)) = C(p)MS ].       " 1:! 284   "  $  "!  "   ("   (  !)   %  -"  "  %  ! $  " !   $ " )  !" " ("   !  * !!  ! +A

#  & 

∀t ∈ T : V ar(t) = {v|v ∈ V ar(G(t)) ∨ ∃a ∈ A : v ∈

V ar(E(a))}.





∀(x1 , x2 ) ∈ (P × T ∪ T × P ) : E(x1 , x2 ) =

E(a).

a∈A(x1 ,x2 )



V ar(t) !  " !"

(x1 , x2 ) & " (" 

#  ' # #

 !

    

 " !"  '

t

t & E(x1 , x2 ) !  " 



! " % A

!  %" 

b

( 

V ar(t)

!A

∀v ∈ V ar(t) : b(v) ∈ T ype(v) G(t) < b > &  G(t) < b > +% t ) ' b

!   "  "+ " %"  "

Bon P., Collart-Dutilleul S.: From a Solution Model ...

10

 !"  " !" 

t

'! !  " )

B(t)

9 $$" )  " ! ! " '  + $" $ '+  !"    & ( A

#  ( 

 " ' !   %

(p, c)

& 

p ∈ P



c ∈ C(p) T E

 "! " !"  " '!



  + $" !   %

(b, t)

& 

t∈T



b ∈ B(t) BE

 "!

" !"   + $"!



 $ '+ !  $%"!" ! 

T E   " $ '+ M0 ! " $ '+

" ) " %"  " "!"  * !! !A

∀(p, c) ∈ T E : M0 (p, c) = (I(p))(c). M



 "! " !"  $ '+

 !" !   $") (" !  & "

    

BE  Y

 "! " !"  !"!

&  &! %! " !  "  %



  %  -"  "   ( A

#  )

 !"

!  )  $ '+

Y

  ") ! ' A



∀p ∈ P :

M

  )  "  &+

E(p, t) < b > M (p).

(t,b)∈Y

"

 

Y

   !" $ '+

M

A

(t, b) ∈ Y  " !"  t !  (t, b) ! ! ! "   M  



(t1 , b1 ), (t2 , b2 ) ∈ Y



$ '+

'

M

(t1 , b1 ) = (t2 , b2 ) (t1 , b1 )



b

) *"! 

(t2 , b2 )

   % 

")    " t1  t2   !  % ")  

 



|Y (t)|  2



Y (t, b)  2

" "

t

! "!  % ")  

(t, b)

! "!  % ")  

!  "  !"  &! %! " * !! "  !! !$%"") " !"  ( +

#  * +

M1

"

;  !" !   "   (   " " +! $ '

M2

!A

∀p ∈ P : M2 (p) = (M1 (p) −



E(p, t) < b >) +

(t,b)∈Y



E(t, p) < b >.

(t,b)∈Y

 ( !" !%$  !"!  !%$ " '! & " !    !"!   % " '!

Y

M2

! ! "   ")  $

 " ! $)  " !  &!A

M1 [Y > M2 

M1

) " % 

Bon P., Collart-Dutilleul S.: From a Solution Model ...

11

) "  "  ( + !0% %  &  &! %! " (  $ '+ ! ( !  &!A

#  +

 %   (" !0% !  !0% $ '+! 

!"!  " A

M1 [Y1 > M2 [Y2 > M3 . . . Mn [Yn > Mn+1 ∈ N  Mi [Yi > Mi+1  i ∈ 1..n M1 ! ! "  " !" " $ '+  Mn+1 ( $ '+ - !" "+ n ! ! "  " !" %$ !0% ! n

%  ! +"   ""   &) $ '+!   $"" A

M1 [Y1 Y2 . . . Yn > Mn+1

#  ,

 $ '+

M

!  $

%   (" !0% &"    ) 



n ∈ N

M

M

  )  "  ! 

! !" " $ '+ 

M  ! ( $ '+

"  !  !" !0% !A

M [Y1 Y2 . . . Yn > M  . M

! ! "   $

$

M

!  "

M



n

!"!  !"   $ '+!

[M >

! $"   " ++ "!  +     %  -"  "  &)!  %  "  E" !"  -"  "  0% %!    " "   "      " 1:! 284   "  "$

 - . "   % 

 

  " %!" " " C " "

!  !"  "!    " " &) *$ ! %! !  ! !"% ) ! *$ ! + ) 1=  224  ! !"% ) ! !  ) " +   &+ %!A 2 A &) "& ' !  $ !  !%" $" )  "! 

CdVi

&"

i ∈ [0..6]

8 A " ! %  " !$ " 5  "  & ! ") %!    & " % A G2 A & " !  "   " !$ " ' " " !$ $ $" G8 A "  $%!"    " ' !+$" "& "& " !

)   "% ! &) "& ' !  !   A H2 A  &) "& ' !   ! 

 ! " '! %$  $  " 6

Bon P., Collart-Dutilleul S.: From a Solution Model ...

12

  $"  !"" 

" ! !"% )

+%  8 +!  !$"  !""  " ! !"% ) !   &  6 " '!    !"   " (+%  )

CdVi

&"

i ∈ [0..6]

 1=  224 " ! !"% ) ! !( &"  $" ) -"  " ! -"  " ! 0%" )A " !  $ ! 82 ! 2I " !" !  BI  !  %! + -"  "! ! !! ) "  % " !. " $    " "! "& ")! " '

ta



tb

 !"+ " "& ")!

"    " %     %  -"  " (+%  J $ ! " " " &) *$  " $ '+ " -"  "  "! "" " " ' ! % )  " 

0



ta  " " ' 4 )  "  tb $%"!" 1 ta   Busy0x  1 tb  Busy4x# " $! "" " $ '+! " " '! 1, 2  5    $%"!" 1 f ree  ! F ree1 F ree2  F ree5#  -"  "    %  " " '!    " $ ' ) !$ " '!  " " ' %$ !   "' "  %"   !!"" !$("  " " !  !!A   & "  -"  " )  $ ! 8 !  2 " !"  ""  

%  (+%  I  $ '+  $!   %$ !

 "+ "  " '!  " "   %! ""  " ""  "  !    "( " '  !!+  "  $  " ' " " *" ! $  ) " " !"   " +% +! "   "  " !" ! ") 0% $"! G2  G8#  !" 0% $" H2# ! $  ) $ '+! & + " '! %$ !  ) " " !"  +% 

k = (j + 1) mod 7

& $  "  %"

i = (j − 1) mod 7



Bon P., Collart-Dutilleul S.: From a Solution Model ...

13

) * 9    L &" " M " 9  9 N L

&" 

 * A

 

 ) A

9 N

2K"

 

2

2K"

 

$%&'



 ?%!)2*

?%!)*















2

$'&(



2K 

$"&% 



6

2K 





2



 

 



2K 

?%!)6*





2

2

8





?%!)8*





$(&)

2K 



2K  









2K 

J

?%!)J*

 

$+&"



I









$)&*

 ?%!)*



 ?%!)I*



2

2K"

$*&+

 

2K"

  9  %  -"  " $ 

 

&) ! !"% )

9    L &" " M " 9  9 N L &"  M 2 M 8 M J M I M  M 6  * A     A 9 N  @ A 9 N  ' A 9 N 2KO2P 2KO"P 2KOI"P

CdV × T rain @*# ?%!)

2KO"P Q 2KOI"P

2KOP

CdV

 / +

'*# 8

2KO8P

i = (j − 1) mod 7 k = (j + 1) mod 7

 ' J

2KO2P Q 2KO8P Q 2KOP

 & $(    -"  " $ 

" ! !"% )

Bon P., Collart-Dutilleul S.: From a Solution Model ...

14



B  



B

$"  & &!   ) :)$    1  264 !

 $ $  " $" !% !

Z



V DM  ! $" !   !

 "&  $$" ) $ !A " !""  ! ! " !)!"$ ""!  " !! " !""!  " )$ $  ! !  & +!

!"" ) " ! (  ""!  )$ $   &! %! " !    "! &  "  '     " "  !   "!   * !! ) !!  +   "!  ""!  !""!   ! ("  !  $ ! " !)!"$ !"" ! !  ) " !"  %!   "!* !! !# &  "   " !" $ ! " !"" !"  ! "  !"" +! $ ! " )$ !" / !   %" &" "   " !" $"!A

   ! ( ) " !"

!""! $ & " !"" +

!  & 

   !  $ !

" !" $ (" ! "  %!

  "

* !! #

    " !!  !""! ! !%+

$ +!

!  " !    $$  $ $  " $" !  "!! 

B

 ""  "  "  !%!""%"  ! "  "      !"  

"  1  264

B

! C ! %! " "+ "! "  " ($"

& $'!  $"  $" $ " !(" ! " "    !!    !+ $!$ ! $!$ ! 

        

-

+" !   + " "  !"+ "

B

 $"  !! 

 " +% " "  ") " ($"  " !" " $ !  !%" " !  " $+ !" + !+  !" "!  "  !)!"$! !% ! 9 9 !"  ! /    " ? $" !$! "   5" $"  "  %!"  &  &)  " ! "&   $" !% ! /F 1?$ "  24 17 "  284#

& /0      / + "  "   "! ! !  

B

+%+  $"$"

 ""  !!")  " !" " ) > &   "

B

!" " ) "  " 

")+ ! " %   " $"!  !"   " !$ ")    " !" %"% !   A !"!  ) " ! "& !"! %" ! $

 !" "  "    !"! $"!  !" "    " "" 

B

  "!   * !! ) $% $ %%! ( !"    "

&" 0%") " $! "

B

+%+ % ! "   "! &" !!

Bon P., Collart-Dutilleul S.: From a Solution Model ...

  !"   " !



∧#

 0%"(  !

∃x.P



∨#    # ∀x.P #



15

%" ! &" 0%")  "

 !" " $ (+%  # ! " ! $" 

B

 $" "

$ !  !)!"$ !  )  !" "  !  ) "  " ! ! ! " "" $  ) " !"" " %  !" " $ !  $ !

A





!""$"! "A



 $" !



 !



 !""!

  " &  !!"!     "  "   %!)    $"!  +! " ")!

 

 ("  " " !""

 " ! "" ( " " ! $ + " !"" +!   !" " $ $ ! "  % " !( !)!"$

 " & ! "! $  ! (   !" " $ !  $ ! C  " %!!  !"+ " " " !( !)!"$ 

B

 !""! 

!"!  !" %++ " " !)!"$  $ ! ( ) "! $     $" !   +   "!  "!  $" !  

1! 2-/3!2   !"! ! "  !""!#   !(  " %! 42 ! 1! 2/!2 #  "  +    "!  " %! -1 4-234   %! 5/-3/64 +! $ !(  " %!

 ! &  !"   $"! " !)!"$ !  !""!   !   ( )   @%"    "!  %!

3!5/-3/!2 !

%! +! "   "! "" " %! "  !  " !"! ) " ) "$ )  !   %  " %! 

B

3!323/63 /231! 43!3231! " ! )

+%+ "  !  *" %! 

! $  " !

#  

 ("  " %!   "  "%) &"  $

" !    "  * !!   !%!""%"   ("    %!  " %!! "  $ "  %!  ("  !  ) "  !  + "*" &  $  $" ! "' "    $" !  ("   )  %!  "  $ " &  " ! (  & " !""  "  !)!"$   $    )$  ! ! ( )  " ! &  !  " " ! "   $ ) " !)!"$  "  " !  " % $"  " 



      

B

+%+ ! %! A "  " 

Bon P., Collart-Dutilleul S.: From a Solution Model ...

16

& 7   0   + ! !%!""%"   ""   &! %! $ + ! ! &  "   $ ) " !)!"$ " !  ')  "  "

#  

B

" !#  

 + ! !%!""%"  !    " " ! $  &

& " !  "   "!  " !+ "    + !  " "   %! "   "!  " !+ "  " " !  $"  " & ! 

S

!  !%!""%"  

  " " )+

S

"

P

   " "

S[P ]

! "

P

 + ! !%!""%" !    *"!  " $" ) !%!""%"  ( !  &!A

#   !%!""%" 



x x := e

!    

e

!  * !!  " " $" )

 "    "

" ) !%!""%"+

P

" ! $! 

P

    (  " !%!""%" ! %!  "

B

e

"   % !

P

x

    "

P 

+%+  "

! "   1  264  1 264

& -#         ! $"    "

B

$" %!! "  " ($" &  

 !  $"  $" $ " !(" ! " "     !+

$!$  ($"  !! ! " !" !%!! " ! $" ! " " $  ! " ! $" !   $    " %"    " $ " $%" !" %"% !  !   " $!$   " "  ! " &  & ""    $$   + $$+ +%+     !  !

($"  " !"  !  $$"" 

+%   +!  &  ($"

N

$  !" "

M

 " C 

! "& " "&  $ "!

) "

B

$"    !! ) %!+ "

! &  & %! "

+ " %" $") " 

+" !  !" " $ " " !" ($"  " $$""  & "  !  ! "&  1

                           ,

 

  - ,..  .  - ,.. .

Bon P., Collart-Dutilleul S.: From a Solution Model ...

  M (p)   C  St   k  B    v   D    I    T  1 /0 !"#$   S   

P

17

  N   M  St1   k1  B1    w   D1    J    T1  1 /0 !"#$  P 1  S1   

%& ' 23 2         

     

&  " ! $"  + "$ !  " " -"  " $    "

" !" " " 

B

!" " $    !   +! ) % 

+ " !" " $  !  + " "  !   -"  " $   !  !"  ! ! $  $$" )  $"  !%+ $ " !" %"% 

) "  %    "! " -"  " $    " %  "

B

$ 1?  84

' 8 #  ! + -"  "! $ '+  !  ! "  $%"!"   $ ) "!' !  " " " !("  $%"!"! !  " !  " (  "   "! !! " &" $%"!"       " 1?  84 "  $   $"  

B

")+ ! ! " !  "  !! " (  !" " $

& "'! "  %"  ")! $%"!"!   $%"!"!  " !!  "   "!   " !   !( &"  $" ! (" ! ! (" !  "  %  ! !! ) +%  6 +! " !" " $

)  $ !

B

(" ! ! )+ $%"!"!

Bon P., Collart-Dutilleul S.: From a Solution Model ...

18

  M ultiset   M s(ss) == ss ↔ N AT 4

M s&Empty(ss) == {elt|elt : ss × {0}} M s&In(elt, ms, ss) == ∃n.(n ∈ N AT1 ∧ (elt → n) ∈ ms) M s&Subset(ms1, ms2, ss) == ∀elt.(M s&In(elt, ms1, ss) ⇒ ms1(elt)  ms2(elt)) M s&Add(ms1, ms2, ss) == λee.(ee ∈ ss|ms1(ee) + ms2(ee) M s&Less(ms1, ms2, ss) == λee.(ee ∈ ss|ms1(ee) − ms2(ee)



5  ",          

        

 " !" %"%     "! "  %( ) " -"  "!  $ "    !" 

' "   %  %     0  B  

 !" " " !"  " !" %"%  !"! " -"  " $  ! !    !""    !  "   " -"  "  " " !"   -"  " " !"  " 

B

 "  ! $

$"  ! " ! $"  "'! "  %" " " "" " $" 

 "   " !""   ! " !$ ! "  !  + " !"  ( +

'

    % 

 $ ! ! " !" %"% 

" -"  " $ + "  !  

!)!"$ " !$! "  "%  " " !" " $ '+   )  !""   "

B

!" " $ ! " $ '+ !  $%"!" " '!  

" ' !  "%  $ !

s $"! &   "   % ! "!    p  !""   StateRp !  %  !   ! ( !  $%"!" !  "   ColorF Rp !! " " "  p 9 !0%")

  p "  &+ !$ ! " % A

5/-3/64

StateRp

3!5/-3/!2

StateRp ∈ M S(ColorF Rp) ! "    "& C " !  "  !   &) *$ "   !  ! " A

Bon P., Collart-Dutilleul S.: From a Solution Model ...

19

5/-3/64

StateRBusy  StateRF ree

3!5/-3/!2

StateRBusy ∈ M S(ColorF RBusy) ∧ StateRF ree ∈ M S(ColorF RF ree) "    " "" ! " ( !"  " " !"  ! &! " " ! $ "   !!"!  !$ !)"* " ! $"  $ -"  " ! "

B

+%+ $ " !" %"%  ("     %  -"  "  " ! $"  % !      %!  "  !  " A #

Σ

!   $") (" !" ")! 

#

P

!  (" !" !

#

T

!  (" !" " !" !

#

A

!  (" !"  ! !A

#

N

# #



P ∩ T = P ∩ A = T ∩ A = ∅,

  %"  ( $ A " P × T ∪ T × P C ! "  %"  ( $ P " Σ G ! "   %"  ( $ P " * !! ! !A "

∀t ∈ T : [T ype(G(t)) = B ∧ T ype(V ar(G(t))) ⊆ Σ], #

E

! 

$ % 

%"  ( $

A

" * !! ! !A

∀a ∈ A : [T ype(E(a)) = C(p(a))MS ∧ T ype(V ar(E(a))) ⊆ Σ] *#

I



   

%"  ( $

P

"  ! * !! ! !A

∀p ∈ P : [T ype(I(p)) = C(p)MS ].     $

Σ   ")

" !" " $ ! !! "   " !

!"% ) " !" " ! ! %$ "  " '!   ( &"  !" "  $ "% !A

8/ 3!4 RdP train 3! 694 M ultiset

42

T rains = {ta, tb}

1! 2/!2

CdV

-1 4-234



CdV = {elt|elt ∈ N AT ∧ elt  0 ∧ elt  6}

Bon P., Collart-Dutilleul S.: From a Solution Model ...

20 "!

P T



$ 

A

 %" 

N

 " *")   " !" "

" " $ "! " ! $"  ! " "%  "  %

" $    " " !" %"%    " !$ ) " " !"  " !" %"%  !  " " !" 

%" ! " %" 

I

C G



E

  !( ) $!

! !(  "

B

3!323/63 /231!

(" !   () %!

'    %   $ "! " !"  ! !!") " "%  "  % " !)!"$ ?  ! )+ "  %  ! $  $"   " !"   ! ! "  " %   !"  ! !! " "  " !"  !  $ ! )  !  +  " " !"  +%   ! %! ) * !! 

 ! ' " " " !" A

∀t ∈ T : V ar(t) = {v|v ∈ V ar(G(t)) ∨ ∃a ∈ A : v ∈ V ar(E(a))}.  !"  ! ! " !" "  !"  "( ! !  !   ") ) $!  ("  &"  ") )+   "   " !"     " EnabledRt  "+ " " !"  t +  " % " !"" ! !(   " ! !"% ) "  ! )  " !"  &" "& %"  !A

 





Enabled&M oving == ∃V ar &M oving.( T ype&V ar &M oving ∧ Guard&M oving ∧ M s&Subset(ArcExpr &F ree&M oving, State&F ree, Color &F ree) ∧ M s&Subset(ArcExpr &Busy &M oving, State&Busy, Color &Busy)) 

; " !"  +   " !   !(  "  "   &+ " -"  "  %"    !(  ! $"    +  J8J " " '  !%$"  !  %" # ! 0%" "  !%" "  !  " #

$%"!"!   "  " !"    "  ! + " $ '+  %"  % + " " !"  ( + ! !(  ) (+%  3 +! " " !" 

"   %  -"  " $  " ! !"% )  "! !"  " % $" " )  & " " !"  $"  +) ! ! !  !"  ! " !"  ! %!" "   $" ) &) *$ %" " 

! " " ! $"     "  !"  > &  " $"$" !"! " 

     1?  84  "!  " %"  " 0% $" + +  " & ! "     9 !  + "! !"  " & " $ !" " !"+  " %"  ! "  !!") " ! $+   "

B

I

"   ( )  -"  " " 

!" " $  "  %! %" $" 

"

! !! " &"

Bon P., Collart-Dutilleul S.: From a Solution Model ...

21

MACHINE RdPtrain INCLUDES Multiset SETS Trains = {ta, tb} CONSTANTS CdV PROPERTIES CdV = {elt | elt ∈ NAT ∧ elt  0 ∧ elt  6} DEFINITIONS Var Moving == i, j , k , x ; Type Var Moving == i ∈ CdV ∧ j ∈ CdV ∧ k ∈ CdV ∧ x ∈ Trains ; Guard Moving == i = ((j − 1) mod 7) ∧ (kk = (jj + 1) mod 7) ; ArcExp Busy Moving == Ms Empty(ColorF Busy) 1 ∧ (j − i) mod 7 < 6) !  " "'! "  %" "" " &) *$ !  %   $ ! 3 " '!  

"    " &      ) "

B

"

!  & %! " $ "  "!! " -"  " $  &"

+ ! " "  !   ! ") 0% $"

B

"

!   !! "  +

"

 !  >    + ! "

 & + " 

+" ! !%+ $ "  "  ! $ ! " "

 ! "  !!!" ) %$ * "   "      " $"$" ' & + )&)

B

"

 * "! %! "

$%"  "!   "  "  + "

 " !% 



  

/ "" !  $*   !  " %! C " $ + "

!  "  "*" ! ") 0% $"! + + !  !"  " ( !"  "

"!   ! !%!!  %" $!!  "  " "!' & "'! " !"! "  $ $ " 0% $"! )!! " & !   $$"" 

   !)!"$ "%) "  !  !&"+  " &  $$""   !  " !   " %  - !) " "! !"+ " !+  !! "  %!!  $  " ! $"  ! "!' $) !!!" " !+  " &) $ )!! " $$""  9 !  + ! ") 0% $"!  +%  " ! "! " ! $"  $ + -"  "! "

B

!" " $!

!  !    ! !  &) '+ " !$ 0% $"! & !&"+  "! &! !" " "

B

B

$!     %" " )!! ! "

 !! $$""  !)"!!

?!   !$ *$ !"  $%"% *%!  &)  $ " + -"  " $   & %!! ! %!" "  /    " !")   !!! "  % $    *  % $" (" !

 " -"  "! 

B

!" " $!    !"  !%  &) ""

 !)!"$" " !"    " %  ! " !"  !  !"  %!" "  " !$ *$ & !" "+ $ " *$ "+ "+ "$"  !" "! " "   &      $ $ "  " & " +  + +  !! (+%  2# (+  $$""   $" " " $  )!! !" !  "  " " @%!" ! "" + -"  "! %! "   (" $! ! !  "  !  " " (" %$ %! &   !!+ "   "% %!    ++ "  "   " ! "$  !" "! " !"( " "%    ! ! $    !" ! " %+ ! $ " !"+  !"! 1?  "  8B4

Bon P., Collart-Dutilleul S.: From a Solution Model ...

23

/    " " "%   "!  %  )!! !%"! " & ! +    "% %!  $" ! 17 % "  8B4    + "  %"

$

" )!!  !! " & !   $$""   !! !  " )     " "$  $"  F %!)  $ !(" !  " 0% $"!   + "$  !" ! $! !  !"! !  " )   !  "

%! "  *") ( " " $$""  ! $  " "  " & + &" "! '  !" "! " " $ !("  " $$""  !$! " *!" > &  % " !  ! "    %"  !  + $   " !"!

    6   '77"8    ! 9, 2 --, 



   $  2 :    ;  

 '77" 6-   '7778 -  -  5    $   ! $, 2$

Suggest Documents