Towards Monitoring-Oriented Programming: A ...

2 downloads 0 Views 410KB Size Report
A prototype has been implemented for Java, which currently supports requirements expressed using past time ... frameworks on top of a target programming language. Based on .... This part lists as variables those program states which should.
             

 

           

                              



               



                                                            

                                                     !"                       #  $ 

          

                %Æ                                    &        '      $                         $     (                                                   )       *       $                             

           

                                                                                                    ½ ¾

                 !"!# $ %    



         

  

                

                                                                                                                                                         !                            "        #                 

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

     $                              $        +     ,    (        ,             -                              .                      ,         $     !        /    

                   0          , (         !              ( $  12 2  34 .   ,      ) "               "   .                   &  

 

 

   



  

  

¯

¯

  

        

  

        

  

         !                 5      )                     "                     !       ,           $         2  &        $        ,  2  6    ,       2  3               2  7       8   8( , 2  9   ,                           $    2  :       ¯

     

 





 

             

            , 

   

" ,           !                 ,  (

          $      $   (                ;        ;       ?             "      $            =                   $        ,             $(

*                   $              (                  !                   (   !   *     !    

                   (     .                !              @                  ,         6

   Programmer

Requirement Analyzer

Annotated Programs

: Software Artifacts



  

Mathematician

Domain Expert

Formal/Informal Specifications

Domain−Specific Logic

+ , #    -  : Impacts of Roles on Artifacts

: Inter−Communication Between Roles

   

"             (      !                         $            !          ,          " ,  ;        /    !         .   $                (                 

         $                   $   

  "           (   $     ,                       8           

  

!

"  # $     % 

.  !         ,   (   ! ( .            !         $         (  (   (     ### (               "               (        #                   (              ;        ;          $      +          (  $                 $            /                      1   

    2  64    /                  ;           #                           5  3

   &

     '(  

=                (       A       (             $                                (          !         +          ?      

    $       .      A        

                                  .    A        

 ;                    =           A        ,                     )

"  *  %  

      $                                              

   ,        $         $                         (       

 ! .                    )        !                          ,                       #        ,         !   Æ     $            

        

 &          6    !5   ,               8  2  7                                                                 

                        $   (       $          

                                  7  

 

   

 

  

Interface Level Process Controller

Process Controller

Process Controller

Language Level

Code Generator

Code Generator

Code Generator

Code Generator

Logic Level

Logic Engine

Logic Engine

+ . )  !              (    (  -                     !    $            $   ;                                                            /                $               ,    0     Æ         $     !                       (                           

             $                                  (                 (            5                  (     "2-         B     ;  !  ,          Annotated Programs

Formulae

Logic Specifications

Code Generator

Process Controller Code Fragments

Monitored Programs

Logic Engine Abstract Computation

+ / 0  !     9

: Software Artifacts

: System Modules

: Dataflow

  

               (  $ $           ( $              

            2  3      (      #           ?  B                   ="             (                

        1 2  34 0          ) 

  !        * 

  $           * 

   $                2  76          ,  0       )  ))E  K            $      14  $      1 4 E  14 E   14 E   1 K  4 E 1 4 1 4 1  4 E    1 4   1 4  1 4 E 1 144  1  4 E 1 4 1 4 1 4 E L 14 @& 











 

 









  















 

 











 











 

 





  

H  0>0  $      M  -                (              = ( ? 0   (     $  1="4  0>0 %G'                (     0>0   (  $  1N"4 ;   N"   ="     ="    ;               0>0            (                

  (         0>0       N"((="            ( *         ;    N"  ="        .         /(2  1  (   4   0>0       /5                             C          (                                         0           $                 ) 1 K  4 E  K 

1@4 1  4 E 1 4  K  1  4      1&4 1 4 E 1 4  164 1 4 E 1 4 134  E  1 EE 4      174  E 194

E 1:4    0>0         0>0                $   ;      ;    0>0 +       0>0         #  !      0>0                                   /(2   /        @6  





 

 

  



   



 

 

   

 

 



 









 



 



 



 





  

    0 11 4 1  4 1 44     Æ  (                0>0       7      0>0   ) 





yellow red

~((green + red + yellow)* (green red) (green + red + yellow)*)

green green

0

yellow

1

+ 3 &   2&&+#    "    "  ""

     E F          )  1 4 F )   E 1  4 J F )  J @ ) @* @ )   E  J @ )   J F ) @*      E @    







"   #$  %

#     ,                   !   (               1H 4                   -                    ,   H       0     8 )

'

       (                     /     (    !       C                       $     $                  8 $        $                             8 $                                         

              $      8 $      $        $        8 $  #             !    $        $        $  @3 



  

+ 4 #

   )*%                                       .      H              ,  . H       (   0    %@7'          8 =0 + 0     (            8 $             1"804   0  

!   !   8    9        "80        $                     $                       !   ! "        0       ,       !          !          )

  

            :      ;         &             $  8 2        (         $            ,  2          Æ  (                          H       8 " $                 8   $    ;  $             0    $      (   $  @7

   Interface Level Batch Controller

GUI Controller

Language Level

Java File Processor

Java Generator For ptLTL

Java Generator For ftLTL

Logic Engine For ptLTL

Logic Engine For ftLTL

Logic Level

+ 5 & )     !       1  4      0    $ $      !       *                         $ $        1 

)!

$

         ,                                        

            

  

          

 ! "    ! 

      

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



-    !              %O'  1O4      ,(8     !      8    $     (   "                      $              $                                    *         $       (                    ( !   . ;             

           ;  

   Æ         

      ;         (                   @9 234  432

 

 



  

            /*         "      !          (         +        (  8               $   

    -  . !"     ! /0/  + !1

 ! /0/+ + !1

 ! /0/ 

 .    - -  . !"    2 /0/3 /0/+4    !   55      

/0/+0      

/0/+6 

/0/ 2 

7   3 /0/ 6 /0/+6

/0/ 0 /0/+0

/0/ 4 /0/+4

/0/+4    !   55      

/0/+0      

/0/+6 /0/ 6 88 ' /0/ 4 55 ' /0/+0 55 /0/ 0

7 2  ' /0/+63 + + )   2$ 9' 

7  .    -

& '  (!

                              $           5

6  7 

=  -  1=/-4 %@3'           

            ?      !    $      $         (    0  %@G'   (    $                            !      =/-          8 %6'  -  %@'    8(    8              8   /     =/-     (B (           $  !        8    5   -,2 %D'      !  (   -       8                         8     -      @:

  

        8           /      -               8       ((5    (      !      ?   -                (    $            !      -             8           #        B   =/-                 ,                    =/          +   ,      A     $                     =/-          5

  8+  

5!

" 

- %@&'  ,0  1,P4 %7'                    $      !          $    8 8( -  8 ,0      -                  (    8,P     ,??4 6/7    > 2   +   @  *  9                 33 %  #  !   .;;, 617 > >   &   :AA  637 8  @    B -C     9     9     8  @    B -C    !    " #$  %  &'  (%&)*+, ! "  -  .**+  33            %  #  .;;, 647 8  @    B -C              !          /  ( )*+,   ,/3=,1/    %   %  %    .;;, 

         .4.? D .;;, @G

  

657 8  @    B -C  #                     (  )*.,   /1.=/34 #  .;;. B  + 

Suggest Documents