Slicing Synchronous Reactive Programs

Slicing Synchronous Reactive Programs

                               ...

804KB Sizes 0 Downloads 50 Views

               

          



                



                                   !                                                                            "                 !                 #    !            $                    

                                    

       ! 

               " #  

          



     

          " #        !

 $         %  !    ! &            '                     !     %         '  (              "                                 &     &     " ½ ¾

      

­           50

   

#                         

   

" )     &       !

       *++$             



                 " , !                    "  -.       &    

  ! 

            &   %  $              

              %   " #              &     !    "               

&     %                 

     /

    0" #      

                   %              !     " 1       %                " 2     %           " 3         

 

                              "        3   4   %

(%            

          " 5   

        

   6               %

     Æ       7 "            .  %                      " #   %        &    !   -899" 2

    (   &                " #  7        

% $ :   9 %  6       " :   8 %              " #                   " #      %   +"



 

                % 

  

%    

     " #           "    4         ! 

 %      " #

        4    %  

     $      

      " ;                                   ' %             

 '   !

51

   

    %        (         " 3   %          8!   " #     *   ." :        *         " #         

  %     /   0  %         "              < ! %=" #       (   %        " #                

          

 "        %       %         ( " :



 

    7          * 2* 5*"  

                /   

    0" 1               

              %                     2*  2'            *" #                      " :         %

            2  2*" # %

         % %

       5*  5  

     " 1 

 <    =          %           "             >           " #                        " Count Not Counting stop.end V end

init

Counting S1

S2

S3

C0 lt2

B0 lt2/end

C1

lt1

A0 lt1/lt2

B1

tick

tick/lt1

A1

lt1 lt2 end

% & !    

   



          

%          

     " :  

 %  8               Æ    %   "

52

   

       ?          &          %      $      

    '     

      -" #  %                                                         %            

           %           

" #       

       $   !                      

               %   " 4                 :@) &  "                 

" 1 %    %            

      "            (  %    %                 

             "

       

     

     %    "



                          

#       %          %   (     %     " ?     

               " :                 

      ! '  A             "               %        ' %                 " #  

      %  

!  (%                                    " :              %

 

             &                  "

   

B                  4   %""           4    $ /0 4        7      /     0  4" /0 #     4              4              "

53

   

#     



                    4   / 0  / 0£    %         

 &       "      / 0£     &  " B      %    %      (    &      "        &               " C% %   

    $ 4     %""     >         7       4 

   / 0£ $ /   0  / /   0  / 0 D /00

%  /   0         %    4         &                 &            " C                          "    

        %    9" #  !                  %        $ 5

                        " S

A1 a/c

B1 c/d

A

A2

C1 B

a/e

B2

D1 C

C2

e/b

D D2

c, e

S

C1 a/e

D1 C

e/b

C2

D D2

e

% '   ! ( :         % %

      "

       #    

       %(             " B    4    !    4                " :  

(   $ ¯

3                  !                             "

54

   

¯

¯

#           2      !         

        2" :      

      2  2     "                     !      " 5          %" ,          9 %   (  %         2  29    ( " #                          %     ! %  3  8" :   

     2  29                  %

        ( " :                     " #    %     A   A                " :            %                " S A

B

A1

B1

a/b

b/c

A2

B2 b

% )    E        %    $ ¯

¯

¯

¯

        $ #         

                 "           $ #        %                 

          "                       %                   " :   

   8           2             "                                    

                      '                  " 3  

  3  8    ! 

!       

              %       2"                         " ""    8             

" 1 %

  

%     $

55

   

¯

¯ ¯

3    # !  /#0           %       # /#0           %  #   (  /#0         

     #    /#0      %       #" 3     / 0           " B          "       

    "             "               "

     :    %        %    " 2  %    %      

     &   " #               "       % #     /   4 C  /!  /40 D  !  /C00 /40  /C00 

 / 

, % #    4  C

 

#   %        " :                   

  " 2  %           %!        "

          1 %          (            %



      %" #   

            !    4     

       !         " #             %        

                     %"""    " #                     

     " 1 

  &    

          

                             

 " 3           %   !           

  &         " #     

     

  %    

                   

                " #          9" #   %                     

        %"""    " 

56

   

  %

          

        ! " '            " 3  (             " #                                        "   # 4    ?  $   /4

 $D    #!!2 /   0  / D /400      !# !  /   0  $D "   

   0



 $D  /40   # ! !  /40 !  

  #$% &  #     #    (   %               " :  (            " :                  %        " : %            

                      

       "    #!#!2 /   0

 $D     /   0    /   "   0    #!#!2 /    0

   

  #$% &  #  ! "  :                   

    %           

"      

                     #!#!2    

      

   "  #$% &  #   

#        %   >         " :  

    %    >    

57

   

  "   !# !  /   0

"% $D   /"   DD GC,!   G0  "% D "  



"% $D "%   /"   0 /   0 /  H0  H"% 0

    /  "% 0    #!#!2 /   

 $D 

 0



     /       0        " # 

    %   >                     " #      %     %      "   # # ! !  /40

 !  $D     #    //   ! 0  /   /  /00  0  /   /  /00

 00    #!#!2/  ! 

!  !   /0  !   /00 



   $

3  + %   

              " #        " #  %     

     ,        " :           

  " #       ,         " 2                  %           9   ( " #                        %         9       %

  " #                     

   " '       &                    " #   

%           $

 #  /   0)      %           

    (  %

  % 

58

   

M A

A1

B1

y/c

B S

a/m

D

m/d

B2

A2

D1 x/b y/c

x/b C1

y/c

D2

C2

D3

C m M A

B1

B S

a/m m/d

B2

D

D1 y/c

x/b

D2

D3

m

% * !  

3 %      %                    '      " #               " 2        " 5     

%  3  9" )                              /                0" I%      

 !             " 4 

  !                  " 3  

         J %          %  Æ  % A        J   2     %     

   " I%    J %         %   %  

   J                     

     J" X A

a/b

B

c/d

C

e/f

D

g/h

E

% +      *

  $ %

# 

                  B  !      4"   B           " #           ( )/0  " # ! !     %     

           B"

59

   

#  

     )/0" # %     %           %     " +

$    , # 

#    

 

           ! 

                %   

   "        (               %                  %           " :        %     " #      %              

"    7      % 



          # 

%  

         

    ?  :::   % +42 E4"  " "   #  

 

@

 " 5?; ; "



**



*"

-K

9

**

8

*"

9K

8

***

8-

*"

8+K

+

9***

.-

*"+

K

%                          "

    :     %      %                 " 2             " #        

  " #     %   Æ     " #     

                  

   " #  

       F %         5  E    4  /5E4 0   

    ' 5E4     

%  5?! (    %

   " #             LI,  L                    "

  ,&- . /  . .        (   0 1     !      2  (  &34'5

60

   

&33' ,'-  6 2   (    7  1    (  2833 &333 ,)- 1 1   1 7 9       7  1     " 2!1 : ; 4<5 &3;3 ,*- = .  1    6  2   6  :   "      ! : +'< >2   &33& ,+- > 7       "#  ?  !  ( &33) ,@- 1 7     0 ! : !  2   " 

     ')&'<* ;4)5 &3;< ,<- 1 7  ! >           " $     %       +4*5  '3)))) =  &33@ ,;- . A 7B       "     %  6 &33< ,3- A ?          ( " ( !   

       4(! 3;5 !26=% &33; ,&C- D ( ?  2   :   2     ( (   9   ( &33+ ,&&- % 6    !   0 . D    !    1   D    "         &  '  &33& ,&'-  " 6       (        6  2     (       "   *    !     :     (">    > &33; ,&)- 6 . >    D   2  ( " $  ( )*      %   $ +

$ ,---. ! 'CCC ,&*-  D D   Æ :      ( " *$ / 0           1 'CCC ,&+-  D Æ           7  2  (  &'  "  2   : " 1  " ( A  &333 ,&@-  D 2    D     6  0 1  6   "    " *$ / 0               &33;

61

   

,&<- %    (     A  (   : ) &33+ ,&;- . :   Æ :      (   1 "           ! 'CC& ,&3- 6 # (   "     %   )+')+< A &3;*

  &       

I  % %

                    %        " #        
        4             &    %     /   D   0 3      %        ! &     #   "                         " :  ! 

        %          

 " ,                           " 3  

 %    !                "    

                " #  !            

                      % "                        %   "  

          !         

     " 3  

  3                    " )        !          %      " :     

%         (   $              " #         !              "       

               " 1 %

                    %

      ' %                   " #      %  











       



%       " #          

%    $

62

   

                     

  

  4  4            4  4      4  4         4  4           &   " 3  %   

%

 $ $ "

 



-

-

%  #  

    

      "  

 

 "



    D * :    %       4 4 " #    4    

           " 3    %      " .# "   1    

 

 

                     

  "                        

  /(!0    " 3 

 4  4                     " #  %   4 £ C  4  4 £ C  4 " %  4  4       4      " 1 (%   4 4  C C" #             C  4 " #    &                "    D   ½  ¾     4  %                       " 3   %   &  ¼  4               4 $ ¼ D   ½  ¾    4  %   D   4       9     ! " ¼                "      &              $  D   " ½  " ¾   "   4 /"  D    # 0" 5

      4 4      " 1      %    &   

&   4 "  &   !       

      

%     $          ·½                   A             ·½      " # %    

&   4  % 

 

% $ 5         ·½ /%  D ·½ 0"              (    $         "

63

   

5

       $         ·½           " I     

&   !    4     A             ·½         $    " #            $  $"  $      4  $       4 " I    ·½ %

  " #      &                  %

            &        " #  

&   4 " I  

 " ¾   "

  -    

   -    



   #  /#  

  %

    #  /# 

%  #  

    

 

  "

#     /%   D *0       4      " .#       

   

 

  /  0  %           

  "     

  "                %   / 0    / 0             /  0            / 0 %   " 1                        >                     " /0 $     4         (    "                             " 3   

   

%   C C  4 4 " I  C  24       %

  (      4                 " /0 $     4           "                            " : C         %

  

  4 %

                 4 %

" :    

  C  4     

   %    " I     " ¾

64