• Aucun résultat trouvé

Métaheuristiques pour la synthèse de haut niveau

N/A
N/A
Protected

Academic year: 2021

Partager "Métaheuristiques pour la synthèse de haut niveau"

Copied!
108
0
0

Texte intégral

(1)Métaheuristiques pour la synthèse de haut niveau Kods Trabelsi. To cite this version: Kods Trabelsi. Métaheuristiques pour la synthèse de haut niveau. Recherche opérationnelle [cs.RO]. Université Européenne de Bretagne; Université de Bretagne-Sud, 2009. Français. �tel-01096399�. HAL Id: tel-01096399 https://hal.archives-ouvertes.fr/tel-01096399 Submitted on 18 Dec 2014. 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ée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés..

(2)

(3)

(4)   

(5)   . 

(6)  .                                         .

(7). 

(8).                                  .

(9). . . 

(10) .                             .

(11). 

(12) 

(13).                               . . 

(14) .                           . .      .                             . . .                                 . 

(15).                               .

(16).                                    .

(17).  .           !                   . .  

(18). "   #                                . .  $#                                   . %.

(19)  . &     &                       . %.

(20)  

(21).  '  $#                              . .

(22)  .  # !                              . (.

(23)  .     $#     .    

(24) .

(25) 

(26).

(27) .                 .

(28). )        !        $#          .

(29) .

(30) 

(31) .        *+                     .

(32).

(33) 

(34) 

(35).        *+                   . 

(36).  ,        .                        .

(37)   

(38) .                .                                         . 

(39). -  &                                . . . 

(40) . .      !  &                       . /. 

(41) 

(42). 0    &                            . 1. )                                    . /. . "                             . /. 

(43). 2         3  *+              . //. -                                         . %.  . 2                              . %.  

(44). -                             . %.  .                                       . %.               .                                         . . 

(45).   .                                . . 

(46) . 4                                . . 

(47) 

(48).                                  . . 

(49) . - .                                   . .     3                              . . . . /.   

(50) . . 4                                . . 

(51).                                  . /. . -                                    . 1.  5-2+".                                      . 1

(52).  . 4                                . 1

(53).  

(54).                                  . 1

(55).  . - .                                   . 1. 6                                           . 1%.  .     !  . ".

(56)   

(57)   !     . .      . 

(58). 4 7                                 . . +  &  $# 8                           . %. . "! .                              . . /. $    &                        . . %. "   . 1. .  '         .  9   .    &  .            .                       . .                    . .

(59) . :   &         7    &      . .

(60) 

(61). 9  $#                                . 1.

(62) . 5 9  4                               .

(63) .

(64) . :.                                       .

(65) .

(66) /. 4     &  ; #                        .

(67)

(68).

(69) %. <= 495 <= :                           .

(70) .

(71) . 2                                  .

(72) (.

(73) 1. 4 & 3 &                         . %.

(74) (. 2           :2                    . %.

(75)   2           ):2                   . %.

(76) . 2    &   &                   . .

(77) 

(78)  >            "        8                                            . : &                                    . /. 

(79). : &                                    . %. . 9"52                                         . . . . 6                                        . (. /.    &                           . /. %.    &  3                          . /. . 0    # &   . /.   ?     . .             .

(80)   

(81)  0    # &     ? 3                  0    # &      ? 3                                                   :                                         6  #                                         495   >                             5         &    >          2       &   >                +                                       2       #        e  R2         2       #            A1  A2                                             ( 2       # &@  &           &8   +4                                 . %

(82). :   &               

(83)     :   &           0A+              .  /. 1 (    

(84)     /  %    1.  

(85). . / / / // /% /1 /1 /( % % %.

(86)      .                                 . (.

(87) 

(88) 

(89). A                                             &     B         ).C          .

(90) %

(91).  

(92) .    &                                   %     <       ?  &  =         / -   &         &                                   %/ 5    !     &        &                          %%.   

(93)   / %  1 (. 2         

(94) 3  $#             5          

(95)   3          4 7    & &                '    &  &          !           2    0A+ 3  $#                                         3   8                                         -   5-2+"                                 -   5-2+"                                      7       *+         . .    ( 1 1 1 1/ 1.

(96)     . .

(97) 

(98)        

(99). . .                                                               .

(100)

(101). .  

(102)    

(103)                      . . .        .                . . .  

(104)   

(105)  

(106)                   . .                              .    

(107)   . .    

(108)                            . .                            .                              .

(109). .   

(110)  

(111)  

(112)                  . . . 

(113)                                  . . 4     B          3         .     # 4&  B                   &       B &                   .      4 &         &          &   7    #  .   :>B    #       B           #.

(114) . .   .     #     3        B             &  3     4               B                     .  #      &                B &                     .    .   #    &      &  3            B        !     &7 &  3          # &       :>B   #    >  &@  !    . 

(115).       .  

(116)         5D  3 &              B            B       @ &   ;    @    8       B        !         ; E   !              B > &         3 .     &            B   .   3  "42              "   !                     #8       #  #       8           : 7B       B &             & B     &        3    ;   " B       B  ;                    <F >B :B F 4)2B 5=B      & ?        <)":5B *

(117) % B G":5

(118) B H55B )" B 22 B  =. =

(119) = = = /=

(120). 2               I &.            B &     B      &           B          B  &. #     .

(121)     

(122)    

(123)  4  ! B       8                 3  . .

(124)        "# 3   .      B            B  8         #   8    &        3     &              I                              &7       &    &           &    8  complexité Complexité Algorithmique (~Loi de Shannon) Performance des processeurs (~Loi de Moore). 3G. 2G Capacité des batteries. 1G 1984. . 1988. 1992. 1996. 2000. 2004. 2008.  J      . 2012. 2016. 2020.  !     . # # # $ %    &  &  B    >           8     mm2 B     K     #       < (%= 3      K            #   : 7B    8           #       8   B   &     .                ) <9    =B  #  8        :   )K   (%/ L) ((1MB   &  @               &   &            . # # # &

(125).    "                 &   &   8    <9   

(126) =B    ; I          &    .

(127)                          3 &    &   &@  !          #   7             @   3. Algorithme. Implémentation logiciel. GPP. ASIP. . Implémentation matérielle. ASIC. Implémentation mixte. SoC. 

(128) J 4 7        . $           <5""= 7  !  . &                  &   8     I J                       8.               %      J     & I  N  &      $         J  @ &     &      I   B B       B                          8.     >    &     !            )                           + L-$

(129) M         #                  3       !      2  B         &   @   . $   . 2+         : B  8       !       ?     & ;  2+       O      &   >      B .

(130)     

(131)    

(132)               @     O      # B O  O   !         4   B  O   O 3 &    !     .    : B  8               P  D        3      2         O      >  B  &#    &;          8          $ !   #     B   &        4  ! B     &2+           <Q    #   =B  !     8     4  B  !    O              &                          @                      O #   2+  2                . $       . 2+" L*R

(133) B +@ 

(134) /B G 

(135)  M    8.   E     &     # 2  &2+"             &2+  : 7B          ;         @ &      ;   &     >  3 &  B  B    < - B -

(136) B -=       .   <- ST -

(137) U-= 4 !        B  2+"         8      >  &   &        ! B  O               . $  

(138)  "  &   &   #    ;.    $&    &   $#     L4& 

(139) /M    $# 8   + <9   = : 7B &        & 8             $#         . +    $#        B          #B   B     <? =B     B  . 8    B      & ! B          3       !     . +             8. >  & -+ B &                .    & )"+ . /.

(140)  μP #1. Mémoire partagée. ASIC #1. Interconnexion. ASIC #2. . μP #2. Bloc ReConfigurable. E/S.  J +  &  $# 8 . &2++"                !   8     !         I   &2++"   5+) <H)2"      2-) !    V  =B  &  ! 8.    B             7 !     2  B  2++"    + . $   '  !         B  . !   &    B             8        !          &      3    ! L6W ((%M             <V4+= .    ; @   9"52          O       : 7B  9"52                  !        . >           O         9"52B 8           &   &      & 7  B     B    B    9"52      2  B    &  &    !      B  9"52   & 8         !    $  O      .   > .  L-$

(141) M      ! ?'                >          >      ! &    !       !    '   . %.

(142)     

(143)    

(144)  Performance (MOPS/mW or MIPS/mW) 1000. ASICs ASSPs. 100. FPGAs 10. ASIPs. 1. Microprocesseurs Flexibilité. 0.1.  1.  J "! . Conception.  9    Test. 3 Modélisation. idée. tester. Description RTL. 10000. Synthèse logique. 01001 11100. Description en portes logiques Synthèse physique Dessin du masque du circuit. 2. Fabrication. Fabrication de masque. Fabrication de wafer. . 4. Emballage. Couper. Emboîter. / J $    &    .  

(145)        2         0+ B &       3 &   $       <9   /= L)  (( M >         .     : 7B             .        /(X  B    &,       &    

(146) /X   <9   %= L 

(147) M      B    L.

(148) M B       

(149)  .

(150)      

(151)      B  !    *2        %                      O     3 &           4  ! B &                >                &    &       10.000M. 100.000K. 1.000M. 10.000K. 10M. 1M. 0.1M. 0.01M. C. a ap. é cit. d’i. Pro. gra nté. n tio. nd tio u l o év. e. % 58. n ra pa. 1000K 100K. 10K. de 2 tion u l o : év tivité duc. pa 1%. r an 1K. Productivité 103 Transistors / Homme-Mois. Intégration 106 Transistors / puce. 100M. 0.1K 0.01K. 1980. . 1985. 1990. 1995. % J "   . 2000. 2005. 2010.    &  .   # D        3    #    >#    &       !  3 &  &    8.      *4      B !

(152)   !"#  &            &                !    -V      -V >      < B       = 8    H  B    B &  $#       3 ,  # -V                 K  B          !           :>B    $# $     3     #      #   , 3     > &                  &  3         $    &        B       3  B    &      2       .  B          B        $#    <  =  >B 3 &    B      $#                 !    1.

(153)     

(154)    

(155)   .  J         . 1992. 1994. 1996. 0,6. 0,5. 0,35. 1k. 5k. 15k. 50k. 250k. 750k. 4k. 6k. 9k. ~10. ~40. ~80. 1998. 2000. 2002. 2004. Finesse de gravure (nm) 0,18 0,13 90 # de portes / mm2 30k 45k 80k 150k # de portes / die(50mm2) 1,5M 2,25M 4M 7,5M # de portes / concepteur / an 40k 56k 91k 125k Homme.Année / die(50mm2) ~40 ~40 ~43 ~60 0,25. 2006. 2008. 2010. 65. 45. 32. 300k. 600k. 1,2M. 15M. 30M. 60M. 200k. 200k. 200k. ~75. ~150. ~300. # ## $           $#          !  &              B       -V    L5@R ((

(156) M G   3B    !   3    B         3 !  >        $#                  $     B &  &            >                    "        $#            . # ## $   (                @     *W?+W 8 4     @               &     L) 

(157)  B : ((1B F!

(158) M  >      '        @      > B      84             !  .  &                  <9"52B 2+ B 2++"B  = : 7B      &   >   &           !  B  &              $B    &. # 3   B        B                      !    &   "  > B      84  $   !             . # ## $              "           8 E                  B &        (.

(159)  Caractériser les solutions: • Coût HW (mm2) • Taille Mémoire (Kb, code source) • HW : Chemin critique (ns), • SW : # cycles, ex. profiling. Spécification. Estimations/Mesures. Partitionnement Logiciel/Matériel. Synthèse Sw. Synthèse interfaces. Exploration et Fonction de coût: • Sélection composants • Allocation • Ordonnancement. Synthèse Hw. soc. .  J  '         .  3        &        #            &;     &"        ! I     L  $

(160) M B  B > LAR

(161) M       !              7 : 7B   &"                '                  &"    !              $#       .      B  B  !      B   3   ,8       ;       &   &"      ;     3 &      &     B  &  B       ;  3  $#                 O        !   3    8   . .      .       <-H=B      3    B   #.      $               !        ,             ; !   # & 8       . # &        >    .

(162) $ 

(163) %

(164) % 

(165)   &   2      #             8.     8         < =   !   . O    3       B      ! -    #   3               !    O .     &             "          # &                      7       &     I &     B &    B &       &  &   L* (((M J &        3    3      " &           B    3  3           &   J &        &7           8     #  J &     B                  !        I                 &   =     >         B 

(166) =            O       !   3    >           >           @  &3 &  3       O   !   3         J &  &                &               3 &       &    #    .     ! $           I =                         #  P

(167) =     &    &             3 &        P =     &  .  &   &                     3                      &   &   !            7 I         .            #               &     I          #   ;   :  B &  7    #  ! 3    ,    #   &  &   !            >                    # B     >  .

(168)    &              !             "           B  7        .      &     N        3     2  B          #   #  B               : ; B    # A"8 , .                       @      3         7                      .                          .        &              &         &  >            >    8.  &  >                    & $       @3      >            &            &          : .    B                      <     >  =   !        <  &  >  =. .     .         &                   &       &    &.    &      &              &   : ; B  8  &                            #              2  B           !         #.     '                #          &                    A      3 &               &     9"52       .  !  &     <  =B                        !  .   !  &       9"52

(169).

(170) &     

(171) .                    !  .          @          @  !     "                  !  .          &  <  B    B  B  = L5@R ((

(172) M   !  .    &    8    9"52 .   I J  &    >  .   &              &     J                R                        >         &                               # &       &   &     B   '  $#                     &    9"52.                               $#          &    !     &             7   #      "              !    ,  .  #        #           !       $#                       0                   ! :>B                        . .

(173) .

(174) 

(175)      

(176) 

(177) .

(178) 

(179).

(180) .                              . .  . ! 

(181)   

(182) !                      . ".  .  #

(183) $                               . .  .   

(184)                                . %.  . &  

(185)  $  

(186)                   .        !                                                 . .

(187) . .    

(188)      '(                    . . .    

(189)      '(                  . .  "                          . .   #                '  $#          #  B     &      &            #   $#         #             ,        >   @  !    . /.

(190)  

(191) .

(192) .       .   ! 

(193)   

(194)  !      $#             !      &                  0+ B                       $#      B   @3   K  &B                      8      0+        >      !   B  3 &      $#      @ &              &  8.        &             <      =       < B -2)B  =      &        >        $     .                  3 B      >      -V    D     :       8   O        4  ! B     3         &        #       &       >    $# &     &      >     > &    D    8             3          3    &       <  > 

(195)  = 2  &#      $#      *+ B   $#         $#  &    .      $#            3     $#       $# $        &         !8 > &             $#                      (1      *+    #     #    7  &        L) 

(196) (M V !   @ & B             $#            3   O    $#             & ;                           %.

(197)     %   %   Analyse au niveau fonctionnel Exploration au niveau système Espace de solution. Rapidité. Exploration au niveau RTL. Précision. Exploration au niveau algorithmique. Prototypage. 

(198) . J :   &         7    &  .   "  #   $#        ;  3           4      B  &    &  # 3      &   3  #      #      &     !B      B  &              &         $#                 B      < B   B  =B  @  !   <        ! B   8       B  =  #          -V          $#      <9  

(199) 

(200) =      B    B &  B & B &             -V  &  8    &    &  >    &     3      @  !                 *+   N     2  I. $       >   $                 .              3 &   $8 #             &      B     B  !     L6  (( MB      B               ! 4  #      I   '   495 L5@R ((

(201) M    '     N 495 LH  (1%M    #  .

(202)  

(203)  Contraintes. Algorithme. Synthèse de haut niveau. Compilation. Bibliothèque Sélection Architecture (registres, opérateurs, interconnections). Allocation Ordonnancement. Synthèse logique & synthèse physique. Assignation. Circuit (transistors). 

(204) 

(205) J 9  $#            

(206)  . $    3         &   $  &   .                #    8          &     #      ! B     .           #  L6R ((%M. $  >     $ &       &   3   .  &     > L5  ((

(207) M 8    ! B  B  8  < &    =  &                    &         . $    . 7       &         &8                                 &          @  !              .  &    LFR ((/B )  (( B - (( M H      .   &  I &           &8         4   #  B    . 1.

(208)     %   %         <  ?  = 3         > 3 & B  &@  !   3        &  4    #.  B      &   >B  &@  !              . $     

(209) .      &  3     4   B  &     ;     ; $ &   &       &        B     ;   &             !    # & . $   ! 

(210)       3     . 8.      <=           ;  R                  &   8.        &     &  >              #                 @      ;   &        # &      D              L"   (1(M          L 

(211) 1M.        "   ,   &          B     $#      #    # !   # !       !   &   3          &     2    #    $#        3     >   8     <9  

(212)  8=     B    495 <9  

(213)  8=  # !              B &    &8   >                   &      495       B  $   B      ;    #. ) *   + . 2    495B G(V1 , V2 , E)           $     V1 &                   B V2 &        E  &                  5B                                   <9  

(214) = (.

(215)  

(216)  a. a. b +. b +. 1. e. e +. 1. +. 2. 2. y. y. (a) DFG de base. (b) DFG simplifié. 

(217)  J 5 9  4 . !     !  B   &    &  >       &                    495. a Void example (int a, int b, int y){. b. a. s1. 1. +. int e;. b +. 1. s2. e = a+b;. e. y = a+e;. +. }. e 2. s3. +. y (a) Description algorithmique. y. y. (b) DFG. a. variables. 2. (c) DFG ordonnancé. b. e b. +. a. 1 s1. s2. s3. s4. 2. temps. e (d) Durées de vie des variables. +. y. (e) Graphe de compatibilité des variables. 

(218) . (f) Graphe de compatibilité des opérations. J :. 4 &   > 

(219)         &  &   !  &          &  &    B   B     $  S2  &  &  

(220)       $  S3 

(221) .

(222)     %   %   .     &    , I    &    !           &    & 

(223)  Y &   & & B        >                            [dc , du ]B  dc           du      #      !  #        &       &           ;    !       . )   !  ! I           Gdc. >  Gdc = (Vdc , Adc )B  Vdc &        . ; adc = (vdi , vdj ) ∈ Adc                          4  B    vdi  vdj      &  . &     ; 7   ;    > 

(224)  8       8        # &  > 

(225)  8  Y     B       &    !        B         $  <+

(226)  =             : 7B                          ;  2  B    a     y I             .   #          R    b  e .   7        .   3          B           . )   !    I          . Goc >  Goc = (Voc , Aoc )B  Voc &        . ; aoc = (voi , voj )                 ;     ; $ & B  &  voi & #      voj  4  B    voi  voj           ; 7  3  ;    > 

(227)  8       

(228)    I       ,      .   $    #    

(229)   > 

(230) /         .     3      .  & B            7       8         &      4   #    > 

(231) /8B         3    Z   B                        

(232).

(233)  

(234)                &     &  8. E   !     b   !     eB      R       7 4    #    > 

(235) /8        I    a  y         e  b     #            O   3    O    &         > 

(236) /8   O !   3    > 

(237) /8  8                       > 

(238) /8. {a}. {b}. R1. {e}. R2. {a,y}. {y}. R4. R3. {b,e}. R1. A1. R2. A1. 

(239) / J 4     &  ; # &   @  !         $#                   O    V       & B &  B &           # $   3      . O            O 3     &   .    # "             $#B            &    & L  $

(240) 1M 4  B   &  > 3  >  & &          &  4   B   &  >  !    ;           &  &   !          <  =         .   #    '    ;       & 3           4    &    !  # &                              ;  2  B     & &        '      > . !          &   &      #  A"8  L5$ ((B " (( M :  B     8         8#  #  !  3       

(241)

(242).

(243)        

(244) '  

(245)  

(246)      %   %   #  L 

(247) 1M 2  B     & &       $#B >  &       " B  &       # &   &        B             &      4                            B   &      > >     #    4    B     #               >      &    !         B   B 3       #  2           #              '   *+       # 3  !            #    > .

(248) 

(249).                      . 4      &B              8     $#          !  V#                 #   $#      3  !  4    B       !             &   !   L5@R ((

(250) B "   (1(B - (( B 

(251) %M     L*  ( M  8   ;B  !         &       !  .                   !     &    &   # &   >    3           4    >    I J &    !   &  H       # &8           L5@R ((

(252) M J :         &    !   ;   # &8    #  !           L"   (1(M         B   3 B  !      &          L*  ( M.

(253) .

(254)  

(255)  4    # B        L 

(256)  B 

(257) 1M      O       ;     : 7B   !  &  8  &    <   =     &     &    ".  B                    & 8.      4      B            $#      <     8    3  *+=B                         ;                                 !           # &8    &         B   3 B      &          # &  B &   &                3     '  $#.       % 4   #                  !            4    #            3    # &   &     B      !E     &     !     ;          # &        . # # # $ ,    !       !   "   #           #   $#           !      # &   &    #           <"A:= :   B  8 #       <"= L5 

(258) M   # &    [  !   @  !                    I A     m × n     ,  aij   B c          n     cj     b          m     bi   . ⎧ )    z = c.x ⎪ ⎪ ⎪ ⎨ +     I PL = ⎪ 2T ⎪ ⎪ ⎩ ≥

(259).

(260)        

(261) '  

(262)  

(263)      %   %   + &    "   B             3.    # ) B     &     3   #           #    2         &       H     "     A :    I. ⎧ )    z = c.x ⎪ ⎪ ⎪ ⎨ +     I P LNE = ⎪ 2T ⎪ ⎪ ⎩ x ≥ 0 xj   (j = 1..n) A    # A"8     ;     "A:B              # A"8    .    &  "A: < &  "A:     &  =   "    ;  ,    !       !   "             "A:B      I J &                              &       <6   6 = J       &         "       B       #    &@   !             ;             # < &   &    =  &; #    "        ;  #. # # # *     !   -$.  $/   8    I J 28  !    # &   "A:B J 68      !        # &    8    ;    & B J 8        "A:   & . 0 $/             "A:  # &           $#      # 3          &        !   "A:   #    !  3 &     &      B  88  +      

(264) 

(265)  

(266)   !   @  !

(267)           O      

(268) 

(269)   3        oi          sj    3  !;   [Ei, Li] Ei    &   &8

(270) /.

(271)  

(272)    oi    N  Li   &                 2+2"  &  22"    

(273)       &   $ k  B 3 ;           &       7  j . OP = {oi/i = 1..n} I T = {tk /k = 1..m} I OPtk INDEXtk = {i/oi ∈ OPtk } Ntk Ctk S = {sj /j = 1..r}. I I I I I. &     n   &  &   7 $ &   m    .   &     $ tk &        $ tk   &   $ tk  O &     $ tk       B S  &    r   &.  

(274) . minimiser. J A . m . Ctk × Ntk. <

(275)  =. k=1. ∀i, 1  i  n, (. . xi,j = 1). <

(276) 

(277) =. Ei jLi. . ∀j, 1  j  r, ∀k, 1  k  m, (. xi,j  Ntk ). <

(278) =. i∈IN DEXtk. ∀i, j, oi ∈ predoj (.  Ei kLi. (k × xi,k ) −. . (l × xj,l )  −1). <

(279)  =. Ei lLi. xij ∈ {0, 1}∀i, ∀j.. <

(280) /=.   

(281)          oj B         <  predoj =  #        N        : &      xi,k = xj,l = 1  k < lB  k  l            

(282) %.

(283)        

(284) '  

(285)  

(286)      %   %     i  j  :>B   

Références

Documents relatifs

Lorsqu'une opération se termine (les opérations sont défilées des ensembles EnsC pour les opérations réalisées sur un opérateur non-pipeline et de EnsCC pour les

Pour rendre compte dans nos textes de la situation des clubs de LF2 ayant toujours leur centre de formation agréé, nous proposons une modification de nos textes pour la saison

Keywords: Modeling, parallelism, System-on-a-Chip, embedded systems, formal verification, model-checking, abstract interpretation, SMT-solving, compilation, SystemC, TLM,

Ensuite, dans le chapitre 4, nous proposons une mod´ elisation par splines de l’enveloppe spectrale ainsi qu’une m´ ethode permettant d’obtenir une nouvelle enveloppe ` a partir de

La Française vient de plus en plus souvent conclure ses points au filet... Avoir un grand service est devenu incontournable pour ceux et celles qui veulent atteindre le très haut

๏ La gestion de la dynamique des calculs peut être gérer de.

Le chan- gement de contexte consiste donc `a enregistrer dans la m´emoire de l’ordinateur tous les ´el´ements n´ecessaires au red´emarrage de la tˆache dans l’´etat dans

Les methodes de test en-ligne non-concurrent et semi-concurrent combinees avec la nou- velle methode de synthese de haut niveau pour la testabilite representent une solution