SlideShare a Scribd company logo
1 of 240
Download to read offline
!quot;
  #   !$ quot;%


     &(
      '
)* quot; quot; ,
  (+ *-
.                                                         /   & (0( + quot;,
                                                               '  *quot;   *




    1          +
                                       2%         ,
        2% ,           3
        2%                     3
    2%                             1              3
    (                  ,               2 $3
    2% quot;       %+              ,          3
    2%          !3
                quot;

          )                             -     4       )
               -
                   1       %
/      & ( 0( + quot;,
                                         '   *quot;   *

5                            /       & (0( + quot;,
                                      '    *quot;   *




    +                   )+   -
            quot;*




        quot;   %
                    quot;
    '           ,
6                           /   & (0( + quot;,
                                 '  *quot;   *




 +
                       *
     +                 quot;
         *             77
                       quot;
                  74
 8           *
             *
 8
             7quot;
     ,
     !
9                              /   & (0( + quot;,
                                    '  *quot;   *




+                          &



                  : 0: ;
                   :: :
    4
                           $




    <
    ,             ), -
    +   =>   .>    0
/      & ( 0( + quot;,
                                         '   *quot;   *

?                            /       & (0( + quot;,
                                      '    *quot;   *




    +                   )+   -
            quot;*




        quot;   %
                    quot;
    '           ,
@     /   & (0( + quot;,
           '  *quot;   *




 quot;*
A                                   /   & (0( + quot;,
                                         '  *quot;   *




 quot;*       ,
                  )        -
  4
   quot;quot; )       -
              )        -
  quot;&      ,           )         -
                      )     -
          < )+    -
              27            2
       )      -9 >         .>
                           >
         9> 9>
             >
  . 6,      quot;
  =>.>
:                                                                                              /      & (0( + quot;,
                                                                                                       '  *quot;   *




          *                                     quot;*                           quot;%

                                   ATC Internet




                                                           Supervisory                               Recording
  Radar Front      Radar Data           Flight Plan                            Simulator
                                                             Control
                                                         Supervisory                                  Replay
  Processing       Processing                                                                      Recording
                                        Processing
Radar Front      Radar Data          Flight Plan                             Simulator
                                                           Control                                  Replay
Processing       Processing          Processing




      Intranet
                                            controller          controller        controller
                      controller
                                            Working             Working           Working
                      Working
                                             Position            Position          Position
                       Position
/      & ( 0( + quot;,
                                          '   *quot;   *

=>                            /       & (0( + quot;,
                                       '    *quot;   *




     +                   )+   -
             quot;*




         quot;   %
                     quot;
     '           ,
==   /   & (0( + quot;,
          '  *quot;   *
=.   /   & (0( + quot;,
          '  *quot;   *
=5       /   & (0( + quot;,
              '  *quot;   *




     7
=6       /   & (0( + quot;,
              '  *quot;   *




     7
=9       /   & (0( + quot;,
              '  *quot;   *




     7
=?       /   & (0( + quot;,
              '  *quot;   *




     7
=@       /   & (0( + quot;,
              '  *quot;   *




     %
=A       /   & (0( + quot;,
              '  *quot;   *




     %
=:   /   & (0( + quot;,
          '  *quot;   *
.>   /   & (0( + quot;,
          '  *quot;   *
.=       /   & (0( + quot;,
              '  *quot;   *




     %
..       /   & (0( + quot;,
              '  *quot;   *




     %
.5       /   & (0( + quot;,
              '  *quot;   *




     %
/      & ( 0( + quot;,
                                          '   *quot;   *

.6                            /       & (0( + quot;,
                                       '    *quot;   *




     +                   )+   -
             quot;*




         quot;   %
                     quot;
     '           ,
.9                                                  /   & (0( + quot;,
                                                         '  *quot;   *




                           %            quot;       %           0
                                        %
     %                     0
          %                    %        <7%         %
              0
                           %
              0
     *%                                 %               %
     %         %                   %            %
              %                             %
                   %           %       %%
                       0


     !                             ,                  %
                       )                    <       -0
/      & ( 0( + quot;,
                                          '   *quot;   *

.?                            /       & (0( + quot;,
                                       '    *quot;   *




     +                   )+   -
             quot;*




         quot;   %
                     quot;
     '           ,
.@                                                  /    & (0( + quot;,
                                                          '  *quot;   *




                               1    ,
     Functional upgrade Cost
     Functional upgrade Code Size
     Complexity

           Complexity avalanche effect


                      System
                     Complexity
                                          Functional
                                         Changes Cost


                                           Functional Changes
                                               Code Size




                                                           Time
.A                                       /      & (0( + quot;,
                                                 '  *quot;   *




                               1    ,
     Functional upgrade Cost
                                             Functional
     Functional upgrade Code Size             Changes
                                                Cost
     Complexity

           Complexity avalanche effect


                      System
                     Complexity




                                              Functional
                                               Changes
                                              Code Size



                                                  Time
/      & ( 0( + quot;,
                                          '   *quot;   *

.:                            /       & (0( + quot;,
                                       '    *quot;   *




     +                   )+   -
             quot;*




         quot;   %
                     quot;
     '           ,
5>                      /      & (0( + quot;,
                                '  *quot;   *




 ,
     Complexity



                   System
                  Complexity




                            Code Size
5=                                              /      & (0( + quot;,
                                                        '  *quot;   *




 ,
     Complexity



                                          System
                                         Complexity
           Decreases
           Complexity




                                    Increases Abstraction
                                            Level
                        Decreases
                        Code Size


                                                      Code Size
5.                                                          /     & (0( + quot;,
                                                                   '  *quot;   *




 ,
     Complexity



                                                     System
                                                    Complexity


           Decreases
           Complexity




                                    Increases Abstraction
                                            Level
                        Decreases
                        Code Size


                                                                 Code Size
/      & ( 0( + quot;,
                                          '   *quot;   *

55                            /       & (0( + quot;,
                                       '    *quot;   *




     +                   )+   -
             quot;*




         quot;   %
                     quot;
     '           ,
56            /   & (0( + quot;,
                   '  *quot;   *




         %,




     ,
59       /   & (0( + quot;,
              '  *quot;   *




     %
5?       /   & (0( + quot;,
              '  *quot;   *




     %
5@                                                         /   & (0( + quot;,
                                                                '  *quot;   *




     1          +
                                        2%         ,
         2% ,           3
         2%                     3
     2%                             1              3
     (                  ,               2 $3
     2% quot;       %+              ,          3
     2%          !3
                 quot;

           )                             -     4       )
                -
                    1       %
/      & ( 0( + quot;,
                                                   '   *quot;   *

5A                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
5:   /   & (0( + quot;,
          '  *quot;   *
6>                   /   & (0( + quot;,
                          '  *quot;   *




     quot;




         quot;       #




             !
 quot;
6=                /   & (0( + quot;,
                       '  *quot;   *




     quot;



         $
          %




              !
 quot;
6.                    /   & (0( + quot;,
                           '  *quot;   *




     quot;




         *
         &'      ()
             !
 quot;
65                   /   & (0( + quot;,
                          '  *quot;   *




     quot;




         +       !
             *


                 !
 quot;
66                   /   & (0( + quot;,
                          '  *quot;   *




     quot;




         +       !

             *


                 !
 quot;
69                   /   & (0( + quot;,
                          '  *quot;   *




     quot;



         +       !


             *


                 !
 quot;
6?                   /   & (0( + quot;,
                          '  *quot;   *




     quot;



         +       !


             *


                 !
 quot;
/      & ( 0( + quot;,
                                                   '   *quot;   *

6@                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
6A   /   & (0( + quot;,
          '  *quot;   *
6:           /   & (0( + quot;,
                  '  *quot;   *




     quot;




         !

 quot;
9>           /   & (0( + quot;,
                  '  *quot;   *




     quot;




         !

 quot;
9=           /   & (0( + quot;,
                  '  *quot;   *




     quot;




         !

 quot;
9.               /   & (0( + quot;,
                      '  *quot;   *




     quot;




         +   !




             !

 quot;
95               /   & (0( + quot;,
                      '  *quot;   *




     quot;



         +   !




             !

 quot;
/      & ( 0( + quot;,
                                                   '   *quot;   *

96                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
99               /   & (0( + quot;,
                      '  *quot;   *




 ,


     quot;       quot;




     (       (


     4   $   4   $
9?               /   & (0( + quot;,
                      '  *quot;   *




 ,
     quot;       quot;




     (       (


     4   $   4   $
9@                           /       & (0( + quot;,
                                      '  *quot;   *




 ,


     quot;       quot;       quot;       quot;




     (       (       (       (




     4   $   4   $   4   $   4   $
9A                           /       & (0( + quot;,
                                      '  *quot;   *




 ,
     quot;       quot;       quot;       quot;




     (       (       (       (




     4   $   4   $   4   $   4   $
/      & ( 0( + quot;,
                                                   '   *quot;   *

9:                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
?>           /   & (0( + quot;,
                  '  *quot;   *




     quot;




         quot;
 quot;
?=           /   & (0( + quot;,
                  '  *quot;   *




     quot;




         #
         quot;
 quot;
?.                /   & (0( + quot;,
                       '  *quot;   *




     quot;




         quot;,
              #
              quot;
 quot;
?5                /   & (0( + quot;,
                       '  *quot;   *




     quot;




         quot;,
              #
              quot;
 quot;
?6                    /   & (0( + quot;,
                           '  *quot;   *




     quot;



         +


             quot;,
                  #
                  quot;
 quot;
/      & ( 0( + quot;,
                                                   '   *quot;   *

?9                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
??                   /   & (0( + quot;,
                          '  *quot;   *




             quot;
     ,           quot;
     C
         +
?@                       /   & (0( + quot;,
                              '  *quot;   *




             quot;
     ,               quot;
     C
         +


     ( %+        ,
/      & ( 0( + quot;,
                                                   '   *quot;   *

?A                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
?:                        /   & (0( + quot;,
                               '  *quot;   *




 ,                $
 +       %,
     $



              +       !


                  *


                      !
@>                            /   & (0( + quot;,
                                   '  *quot;   *




 ,                $
 +       %,
     $

              $       !   *

              +       !

                  *


                      !
/      & ( 0( + quot;,
                                                   '   *quot;   *

@=                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
@.                                /   & (0( + quot;,
                                       '  *quot;   *




 ,                    $
 +           %,
         $

                  $       !   *

                  +       !

                      *
     !

                          !
/      & ( 0( + quot;,
                                                   '   *quot;   *

@5                                     /       & (0( + quot;,
                                                '    *quot;   *




                 quot;                %,
     2% ,                 3
         *           quot;
             *%       +       8
                          8
     ,                    %


             +
                  &       $
                  1
                 B
@6                                        /   & (0( + quot;,
                                               '  *quot;   *




 ,                            $
 +                   %,
                 $

                          $       !   *

                          +       !

                              *
         !

                                  !

     quot;       quot;
@9                                                         /   & (0( + quot;,
                                                                '  *quot;   *




     1          +
                                        2%         ,
         2% ,           3
         2%                     3
     2%                             1              3
     (                  ,               2 $3
     2% quot;       %+              ,          3
     2%          !3
                 quot;

           )                             -     4       )
                -
                    1       %
/      & ( 0( + quot;,
                                     '   *quot;   *

@?                       /       & (0( + quot;,
                                  '    *quot;   *




             1


             1
     1               %
         1
     1
         1
     +
         1       %
/      & ( 0( + quot;,
                                     '   *quot;   *

@@                       /       & (0( + quot;,
                                  '    *quot;   *




             1


             1
     1               %
         1
     1
         1
     +
         1       %
@A        /   & (0( + quot;,
               '  *quot;   *




 2%   D
      D
@:                /   & (0( + quot;,
                       '  *quot;   *




     +




         1   %#
A>                   /   & (0( + quot;,
                          '  *quot;   *




 ,
             #
     quot;           quot;




     (           (


     4   $       4   $
A=                        /    & (0( + quot;,
                                '  *quot;   *




 ,
              $   %
     quot;                quot;


         !#               !#




     (                (


     4   $            4   $
A.                /   & (0( + quot;,
                       '  *quot;   *




 ,
 +
     ,    1   %
      1


     *
     *
/      & ( 0( + quot;,
                                     '   *quot;   *

A5                       /       & (0( + quot;,
                                  '    *quot;   *




             1


             1
     1               %
         1
     1
         1
     +
         1       %
A6                       /   & (0( + quot;,
                              '  *quot;   *




            0
          0
      %    0
     1    %0 )       -
          %      0
/      & ( 0( + quot;,
                                     '   *quot;   *

A9                       /       & (0( + quot;,
                                  '    *quot;   *




             1


             1
     1               %
         1
     1
         1
     +
         1       %
A?                            /   & (0( + quot;,
                                   '  *quot;   *




            %             0

     Initial Request



         1 Day
!
         After




                 1 Week
$
                  After
A@                                            /   & (0( + quot;,
                                                   '  *quot;   *




            %              0

     Initial Request      Evolution Request



         1 Day
!
         After
                                      Few Weeks Later




                             1 Day
                 1 Week
$
                             After
                  After
AA                                       /   & (0( + quot;,
                                              '  *quot;   *




  %
      #
                 2%   %          2
      %
  *%
      1      quot;            2 %*
  $
      2+     '     %1                2
      %  %       %E
  1
      4
/      & ( 0( + quot;,
                                     '   *quot;   *

A:                       /       & (0( + quot;,
                                  '    *quot;   *




             1


             1
     1               %
         1
     1
         1
     +
         1       %
:>           /   & (0( + quot;,
                  '  *quot;   *




 1   F   G
:=                                        /   & (0( + quot;,
                                               '  *quot;   *




 1            F           G
                  !   &
                      '
     &OLHQW                       Point
                              # int x
                              # int y
                              +print()
:.                                /   & (0( + quot;,
                                       '  *quot;   *




 &
              !   &
                  '
     &OLHQW               Point
                      # int x
                      # int y
                      +print()

     (
:5                                /   & (0( + quot;,
                                       '  *quot;   *




 &
              !   &
                  '
     &OLHQW               Point
                      # int x
                      # int y
                      +print()

     (
:6                                    /   & (0( + quot;,
                                           '  *quot;   *




 1            F
              &       G
                  !   &
                      '
     &OLHQW                   Point
                          # int x
                          # int y
                          +print()

     (

                            3DPoint
                          # int z
                          + print()
:9                                            /   & (0( + quot;,
                                                   '  *quot;   *




 1            F
              &           G
                  !       &
                          '
     &OLHQW                           Point
                                  # int x
                                  # int y
                                  +print()

     (
                              ρ
                                    3DPoint
                      θ
                                  # int z
                                  + print()
:?                                               /   & (0( + quot;,
                                                      '  *quot;   *




 1            F
              &           G
                  !       &
                          '        <<Interface>>
     &OLHQW
                                       Point

                                  +print()

     (
                              ρ
                                       3DPoint
                      θ
                                     + print()
:@                                /   & (0( + quot;,
                                       '  *quot;   *




     %                     %
              !   &
                  '
     &OLHQW               Point

                      +print()




                        1DPoint

                      + print()
:A                                                        /   & (0( + quot;,
                                                               '  *quot;   *




     %                                 %
              !   &
                  '
     &OLHQW                           Point

                                  +print()




                        1DPoint                 2DPoint

                      + print()               + print()
::                                                    /   & (0( + quot;,
                                                           '  *quot;   *




     %                             %
              !   &
                  '
     &OLHQW                       Point

                              +print()




                    1DPoint     2DPoint     3DPoint

                  + print()   + print()   + print()
=>
 >                                              /         & (0( + quot;,
                                                           '  *quot;   *




   %                                   %
              !     &
                    '
  &OLHQW                              Point

                              +print()




                                               NDPoint
    1DPoint     2DPoint     3DPoint

                                              + print()
  + print()   + print()   + print()
==
 >                                                /         & (0( + quot;,
                                                             '  *quot;   *




   %                                  %
              !     &
                    '           <<Interface>>
  &OLHQW
                                    Point

                              +print()




                                                 NDPoint
    1DPoint     2DPoint     3DPoint

                                                + print()
  + print()   + print()   + print()
/      & ( 0( + quot;,
                                 '   *quot;   *

=.
 >                   /       & (0( + quot;,
                              '    *quot;   *




         1


         1
 1               %
     1
 1
     1
 +
     1       %
=5
 >                               /   & (0( + quot;,
                                      '  *quot;   *




         .               /               -
             /               !       *       0
                 *   !                   -


     -
=6
 >                               /   & (0( + quot;,
                                      '  *quot;   *




         .               /               -
             /               !       *       0
                 *   !                   -


     -
=9
 >                                   /   & (0( + quot;,
                                          '  *quot;   *




     .            1

                      quot;#

                      -          1

                       &)
                            &)
                      &)

              2
     2

         &)
=?
 >                              /   & (0( + quot;,
                                     '  *quot;   *




     .   1

                 quot;#

                 -          1

                  &)
                       &)
                 &)

             2
     2




         quot;
=@
 >     /   & (0( + quot;,
            '  *quot;   *




   %
=A
 >       /   & (0( + quot;,
              '  *quot;   *




 1   %
=:
 >                   /    & (0( + quot;,
                           '  *quot;   *




             8   %




         -

&    -       )
                     &quot;     )
=>
 =           /   & (0( + quot;,
                  '  *quot;   *




     8   %
==
 =                                              /         & (0( + quot;,
                                                           '  *quot;   *




   %                                   %
              !     &
                    '
  &OLHQW                              Point

                              +print()




                                               NDPoint
    1DPoint     2DPoint     3DPoint

                                              + print()
  + print()   + print()   + print()
=.
 =                                                /         & (0( + quot;,
                                                             '  *quot;   *




   %                                  %
              !     &
                    '           <<Interface>>
  &OLHQW
                                    Point

                              +print()




                                                 NDPoint
    1DPoint     2DPoint     3DPoint

                                                + print()
  + print()   + print()   + print()
/      & ( 0( + quot;,
                                 '   *quot;   *

=5
 =                   /       & (0( + quot;,
                              '    *quot;   *




         1


         1
 1               %
     1
 1
     1
 +
     1       %
=6
 =    /   & (0( + quot;,
           '  *quot;   *




  %
=9
 =        /   & (0( + quot;,
               '  *quot;   *




  %



      )
=?
 =            /   & (0( + quot;,
                   '  *quot;   *




  %



      )




          )
=@
 =           /   & (0( + quot;,
                  '  *quot;   *




 %




     )




         )
=A
 =            /   & (0( + quot;,
                   '  *quot;   *




  %   %




          )
=:
 =                /   & (0( + quot;,
                       '  *quot;   *




  %       %




$     %       )
=>
 .                                                     /   & (0( + quot;,
                                                            '  *quot;   *




 1          +
                                    2%         ,
     2% ,           3
     2%                     3
 2%                             1              3
 (                  ,               2 $3
 2% quot;       %+              ,          3
 2%          !3
             quot;

       )                             -     4       )
            -
                1       %
/      & ( 0( + quot;,
                                     '   *quot;   *

==
 .                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=.
 .                                    /        & (0( + quot;,
                                                '  *quot;   *




         1
                 3




                              Stat1



     A       B


                     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=5
 .                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=6
 .                                           /   & (0( + quot;,
                                                  '  *quot;   *




                                   +$
                                   3




                                        *'
     A                         B




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=9
 .                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=?
 .                                                       /      & (0( + quot;,
                                                                 '  *quot;   *




 4                                     $) %        -
                                   3




                                              Task A   Task B

     A                         B




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=@
 .                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=A
 .                                     /   & (0( + quot;,
                                            '  *quot;   *




 4
                                   3




     A                         B       3




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=:
 .                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=>
 5                                          /   & (0( + quot;,
                                                 '  *quot;   *




 4                                 +
                                   3



                                       44

     A                         B            3




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

==
 5                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=.
 5                                                 /   & (0( + quot;,
                                                        '  *quot;   *




 4                                 4   )   <   -
                                   3




     A                         B                   3




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=5
 5                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=6
 5                                     /   & (0( + quot;,
                                            '  *quot;   *




 4                                 %
                                   3




                                       3
     A                         B




              Stat1




     State2           State4
/      & ( 0( + quot;,
                                     '   *quot;   *

=9
 5                       /       & (0( + quot;,
                                  '    *quot;   *




                     1
         1
     '#      $
         1
     ,   %
     ,   1
     ,   +
     ,   4
     (           (
 *
=?
 5                               /   & (0( + quot;,
                                      '  *quot;   *




 *

     A                           B




           --    5
         --          !
            --
         --          #




5                        5   3
=@
 5                       /       & (0( + quot;,
                                  '  *quot;   *




 *
             5   3
     5
                     B
         A




                             5         3
 5
=A
 5                                                     /   & (0( + quot;,
                                                            '  *quot;   *




 1          +
                                    2%         ,
     2% ,           3
     2%                     3
 2%                             1              3
 (                  ,               2 $3
 2% quot;       %+              ,          3
 2%          !3
             quot;

       )                             -     4       )
            -
                1       %
/      & ( 0( + quot;,
                                  '   *quot;   *

=:
 5                    /       & (0( + quot;,
                               '    *quot;   *




      ,           $
 1    1
          1   1
     '+
      ,
     +


 1    ,
=>
 6                                                                              /   & (0( + quot;,
                                                                                     '  *quot;   *




 1              1                 )               % B&-




GoF stand for Gang of Four. It refers to the famous books of Vlisside and Co.
Design Patterns: Elements of Reusable Object-Oriented Software.
/      & ( 0( + quot;,
                                  '   *quot;   *

==
 6                    /       & (0( + quot;,
                               '    *quot;   *




      ,           $
 1    1
          1   1
     '+
      ,
     +


 1    ,
=.
 6                                                      /        & (0( + quot;,
                                                                  '  *quot;   *




 1           )' +
               ,-
                              ,QWHUIDFH!!
  O L HQW
                                 6 X E M HFW
                                   *      '




              3 UR [                          5 HDO 6 X E M HFW
               *         '                         *       '
=65                                                               /         (0( + quot;,
                                                                            '  *quot;   *




                                      ), -
                                      '+
                                        ,QWHUIDFH!!
   O L HQW
                                           6 X E M HFW
                                             *      '




                      3 UR [                            5 HDO 6 X E M HFW
                       *         '                           *       '




                                                           #
              +   #

                                                             ,

                                                            %
=66                                                                                             /                     (0( + quot;,
                                                                                                                      '  *quot;   *




                       ), -
                       '+




                                                                       ¦
                                                 ¡




                                                          £
                                          




                                              




                                                                                    ©




                                                                                        ©
                                                 ¢




                                                          ¤




                                                              ¥




                                                                       §




                                                                           ¨¤
      !




                   £
           ¤




               ¢




                                                      




                                                              




                                                                                £
                                                                   ¤




                                                                            ¨
                                                      
                                                     Request()




                                                                                                        
                           




                                                                                            




                                                                                                    




                                                                                                            




                                                                                                                         £
                               ¥




                                                                                            ¤




                                                                                                §




                                                                                                                 ¤




                                                                                                                     ¨
                                    




                                                                                                        
                       Request()                                                                Request()




                       !




                                                                                                                             ,
=69                                                                                                     /                     (0( + quot;,
                                                                                                                              '  *quot;   *




                       ), -
                       '+




                                                                       ¦
                                                 ¡




                                                          £
                                          




                                              




                                                                                    ©




                                                                                        ©
                                                 ¢




                                                          ¤




                                                              ¥




                                                                       §




                                                                           ¨¤
      !




                   £
           ¤




               ¢




                                                      




                                                              




                                                                                £
                                                                   ¤




                                                                            ¨
                                                      
                                                     Request()




                                                                                                                
                           




                                                                                                    




                                                                                                            




                                                                                                                    




                                                                                                                                 £
                               ¥




                                                                                                    ¤




                                                                                                        §




                                                                                                                         ¤




                                                                                                                             ¨
                                    




                                                                                                                
                       Request()                                                                        Request()


  5
                                                                                            5   3
                       !




                                                                                                                                     ,
/       ( 0( + quot;,
                                   '   *quot;   *

=6?                    /        (0( + quot;,
                                '    *quot;   *




       ,           $
  1    1
           1   1
      '+
       ,
      +


  1    ,
=6@                       /    (0( + quot;,
                               '  *quot;   *




          )   -




                      .

                  #
      #
=6A                                /    (0( + quot;,
                                        '  *quot;   *




      )                -
      ,QWHUIDFH!!
          6 HUY L FH




                               .

                           #



              #
               '
=6:                         /    (0( + quot;,
                                 '  *quot;   *




          )         -


                            ,
      !                 !




                        %




              !#
               -!
=9                         /    (0( + quot;,
                                 '  *quot;   *




          )         -


                            ,
      !                 !




                        %




              !#
               -!
=9=                             /    (0( + quot;,
                                     '  *quot;   *




              )         -


                                ,
      !                     !




                  !
                            %




                  !#
                   -!



 !.       !
=9.                    //     0 ( * quot;quot; , *
                             ' ( ( 0+ +* quot; ,
                               ' * quot;(




       ,           $
  1    1
           1   1
      '+
       ,
      +


  1    ,
=95               /    (0( + quot;,
                       '  *quot;   *




      )   % B-
=96           /    (0( + quot;,
                   '  *quot;   *




      #

          !
=99                /    (0( + quot;,
                        '  *quot;   *




   #
 5         5   3
       !
=9?                    /    (0( + quot;,
                            '  *quot;   *




   #
 5         5   3
       !       %




                   %
/       ( 0( + quot;,
                                   '   *quot;   *

=9@                    /        (0( + quot;,
                                '    *quot;   *




       ,           $
  1    1
           1   1
      '+
       ,
      +


  1    ,
=9A           /        (0( + quot;,
                       '  *quot;   *




      +   8


              3

                  .
=9:       /    (0( + quot;,
               '  *quot;   *




      *
      a   b
=?                   /        (0( + quot;,
                               '  *quot;   *




      *           ,




                          3
          +   !
=?=           /        (0( + quot;,
                       '  *quot;   *




      ,   1
                  .


                            3


                      quot;
=?.                                          /        (0( + quot;,
                                                      '  *quot;   *




           ,                1
                                                 .

      .
                    +   !                                  3
       (                                 (




           Server               Client
                                                     quot;
           Proxy                Proxy
=?5                                          /        (0( + quot;,
                                                      '  *quot;   *




           ,                1
                                                 .

      .
                    +   !                                  3
       (                                 (




           Server               Client
                                                     quot;
           Proxy                Proxy
=?6                                                     /    (0( + quot;,
                                                             '  *quot;   *




  1          +
                                     2%         ,
      2% ,           3
      2%                     3
  2%                             1              3
  (                  ,               2 $3
  2% quot;       %+              ,          3
  2%          !3
              quot;

        )                             -     4       )
             -
                 1       %
/       ( 0( + quot;,
                                          '   *quot;   *

=?9                           /        (0( + quot;,
                                       '    *quot;   *




 ++       ,
 ,, ,                 ,
  4       1
  4       1           8
      %       1
 1                1
  1                   !
   11
   1              $
 ,,           1           ,
=??                                                                                            /    (0( + quot;,
                                                                                                    '  *quot;   *




 4    1                                            ,                               1




              /               /                /                   /               /
              #   0           #   0            #   0               #   0           #   0
                      1               1                1                   1               1
                  2               2                2                   2               2
                  3               3                3                   3               3
          4               4                4                   4               4




                                           /
                                          #            0
                                                               1
                                                           2
                                                           3
                              4
=?@                                                                                            /    (0( + quot;,
                                                                                                    '  *quot;   *




 4    1                                            ,                               1




              /               /                /                   /               /
              #   0           #   0            #   0               #   0           #   0
                      1               1                1                   1               1
                  2               2                2                   2               2
                  3               3                3                   3               3
          4               4                4                   4               4




                                           /
                                          #            0
                                                               1
                                                           2
                                                           3
                              4
=?A                                                                                            /    (0( + quot;,
                                                                                                    '  *quot;   *




 4    1                                            ,                               1




              /               /                /                   /               /
              #   0           #   0            #   0               #   0           #   0
                      1               1                1                   1               1
                  2               2                2                   2               2
                  3               3                3                   3               3
          4               4                4                   4               4




 55                                                                                                 6,
                                           /
                                          #            0
                                                               1
                                                           2
                                                           3
                              4
=?:                                                                                                          /        (0( + quot;,
                                                                                                                      '  *quot;   *




 4                   1                                           ,                               1




                             /               /               /               /                   /
                             #   0           #   0           #   0           #   0               #   0
                                     1               1               1               1                   1
                                 2               2               2               2                   2
                                 3               3               3               3                   3
                         4               4               4               4                   4




            55                                                                                                       6,

        /                                                                                                                /
                                                         0100110110
    #        0                                                                                                       #       0
                                                         1100111010
                 1                                                                                                               1
                                                                                         7
                                                         0101011111
             2                                                                                                               2
             3                                                                                                               3
                                                         100111...
4                                                                                                                4
/       ( 0( + quot;,
                                          '   *quot;   *

=@                           /        (0( + quot;,
                                       '    *quot;   *




 ++       ,
 ,, ,                 ,
  4       1
  4       1           8
      %       1
 1                1
  1                   !
   11
   1              $
 ,,           1           ,
=@=                   /    (0( + quot;,
                           '  *quot;   *




 4    1




              Point

          +print()
=@.                                                /    (0( + quot;,
                                                        '  *quot;   *




 ,    1       %                 )%                      1-



                  A                            B


          3       Send Message ( Request )

                      Waiting Loop




                      Send Message ( Reply )
/       ( 0( + quot;,
                                              '   *quot;   *

=@5                               /        (0( + quot;,
                                           '    *quot;   *




  +   +       ,
  ,, ,                    ,
      4       1
      4       1           8
          %       1
      1               1
      1                   !
       11
       1              $
  ,,              1           ,
=@6           /    (0( + quot;,
                   '  *quot;   *



      %   1

          5
      quot;
 +#
=@9                /    (0( + quot;,
                        '  *quot;   *



       %       1
           quot;   5
      +#
=@?                /    (0( + quot;,
                        '  *quot;   *



       %       1
           quot;   5
      +#
=@@                /    (0( + quot;,
                        '  *quot;   *



       %       1
           quot;   5
      +#
/       ( 0( + quot;,
                                           '   *quot;   *

=@A                            /        (0( + quot;,
                                        '    *quot;   *




  ++       ,
 ,, ,                  ,
  4        1
  4        1           8
       %       1
  1                1
  1                    !
   11
   1               $
 ,,            1           ,
=@:       /        (0( + quot;,
                   '  *quot;   *




      1




          3

              .
=A                                                               /        (0( + quot;,
                                                                           '  *quot;   *




       H

                                                           3
                Client : O1                         Server : 02




                                      Request




                               Client request
                              server services



                                                           .          .
           .        )
                                                                      6#
      6#                                        !      -
                         .
/       ( 0( + quot;,
                                              '   *quot;   *

=A=                               /        (0( + quot;,
                                           '    *quot;   *




 +    +       ,
  ,, ,                    ,
      4       1
      4       1           8
          %       1
      1               1
      1                   !
       11
       1              $
  ,,              1           ,
=A.                                                     /    (0( + quot;,
                                                             '  *quot;   *




  1
  43
                                                            .
8 #%3)
         +                         +
                 quot;
                                               %4
                                               3%
             #
 #
                     # (% )                                    # (% )
 #   3
                               +           7

                               '
                     #                 .   7




                         8
                                               I   )I                    -
=A5                                                /          (0( + quot;,
                                                              '  *quot;   *




                                                         Servers
  1                                                    Unix Process


      +                    +                                Operations


                                                              DATA
                                                                and
                                                             Operations
                                                           Implementatio
                                                                 n
                                Operations
            Operations


                                  DATA
              DATA
                                    and
               and
                                 Operations
            Operations
                               Implementatio
          Implementation
                                     n



                                                                           quot;
          quot;
                                                            Operations
                                Operations
            Operations

                                                              DATA
                                  DATA
              DATA                                              and
                                    and
               and                                           Operations
                                 Operations
            Operations                                     Implementatio
                               Implementatio
          Implementation                                         n
                                     n




                                Operations
            Operations


                                  DATA
              DATA
                                    and
               and
                                 Operations
            Operations
                               Implementatio
          Implementation
                                     n




                                                            Operations


                                                              DATA
                                Operations
                                                                and
                                                             Operations
            Operations
                                  DATA                     Implementatio
                                    and                          n
                                 Operations
              DATA
                               Implementatio
               and
                                     n
            Operations
          Implementation



                                                            Operations


                                                              DATA
                                                                and
                                                             Operations
                                                           Implementatio
                                                                 n




                                               .
/       ( 0( + quot;,
                                          '   *quot;   *

=A6                           /        (0( + quot;,
                                       '    *quot;   *




 ++       ,
 ,, ,                 ,
  4       1
  4       1           8
      %       1
 1                1
  1                   !
   11
   1              $
 ,,           1           ,
=A9             /    (0( + quot;,
                     '  *quot;   *




  1
                .

           Operation 1


           Operation 2

           Operation 3

           Operation 4

           .
           #quot;
      #quot;
=A?                         /    (0( + quot;,
                                 '  *quot;   *




  1               $    $



          Operation 1


          Operation 2

          Operation 3

          Operation 4
/       ( 0( + quot;,
                                              '   *quot;   *

=A@                               /        (0( + quot;,
                                           '    *quot;   *




 +    +       ,
  ,, ,                    ,
      4       1
      4       1           8
          %       1
      1               1
      1                   !
       11
       1              $
  ,,              1           ,
=AA                          /    (0( + quot;,
                                  '  *quot;   *




  1     $

  4                4
   %     74             %
   1J
        )7-7
        quot;!        )7-
                  quot;!
                        J K HE
                           Kquot;

        LLM   )
              -
=A:                         /    (0( + quot;,
                                 '  *quot;   *




      !quot;
  !         1
      1K
      !quot;
      quot;     %       %
      quot;)
       ,quot;   %   ,       -
      *
=:                                                     /    (0( + quot;,
                                                             '  *quot;   *




  1          +
                                     2%         ,
      2% ,           3
      2%                     3
  2%                             1              3
  (                  ,               2 $3
  2% quot;       %+              ,          3
  2%          !3
              quot;

        )                             -     4       )
             -
                 1       %
/       ( 0( + quot;,
                                               '   *quot;   *

=:=                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
=:.                                         /    (0( + quot;,
                                                 '  *quot;   *




  , ) A-
    B =: :
            = =: =
                :
                                )-
            . =: 6
                :
                            )       H   -
   '       =0 =: @
               :

            5        =: :
                       :
                        )       -
   .=N                                  %   7   .
                                                 0
       1
/       ( 0( + quot;,
                                               '   *quot;   *

=:5                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
=:6                          /    (0( + quot;,
                                  '  *quot;   *




      !

                        quot;,

               -




          quot;,       3#
/       ( 0( + quot;,
                                               '   *quot;   *

=:9                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
=:?               /    (0( + quot;,
                       '  *quot;   *




              +
              3




      A   B




              3
/       ( 0( + quot;,
                                               '   *quot;   *

=:@                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
=:A                                                      /         (0( + quot;,
                                                                   '  *quot;   *




 1            ), -
              '+
                               ,QWHUIDFH!!
   O L HQW
                                  6 X E M HFW
                                    *      '




               3 UR [                          5 HDO 6 X E M HFW
                *         '                         *       '
=::                                                          /            (0( + quot;,
                                                                          '  *quot;   *




                                 ), -
                                 '+
                                   ,QWHUIDFH!!
  O L HQW $
                                      O DV V %
                                        *         '




                O DV V %                               O DV V %
                                       *          '
                 *          '                           *          '




                                                       ,
                                                       %
/       ( 0( + quot;,
                                              '   *quot;   *

.
                                 /        (0( + quot;,
                                           '    *quot;   *




     !quot;                    #     !$
          ,           B   ), -
                            B
                  !
                      +    )+
                            -
     1    1

         +4
              #   ! $ ) !quot; %
                        -
     !+
     KK
     KH
      K
.=
                              /    (0( + quot;,
                                    '  *quot;   *




     !quot;



          InterfaceName

            Attribut 1
            Attribut 2

          Operation 1()
          Operation 2()
          Operation 3()




                          quot;,

                  -
..
                                   /     (0( + quot;,
                                          '  *quot;   *




 '+
  ,
 ,               '+
                 ,        !quot;

     ,quot;,            quot;%
     ' +1
      ,           !quot;
                               InterfaceName
                                 Attribut 1
                                 Attribut 2
                               Operation 1()
                               Operation 2()
            7+        .
                               Operation 3()
     .      ,
.5
                                          /    (0( + quot;,
                                                '  *quot;   *




         +
     .            1

                      quot;#

                      -         1

                                    %%
                                      %)
                                   %%
                                     %)

              2
     2

         )
/       ( 0( + quot;,
                                              '   *quot;   *

.6
                                 /        (0( + quot;,
                                           '    *quot;   *




     !quot;                    #     !$
          ,           B   ), -
                            B
                  !
                      +    )+
                            -
     1    1

         +4
              #   ! $ ) !quot; %
                        -
     !+
     KK
     KH
      K
.9
                                                                                                               /    (0( + quot;,
                                                                                                                     '  *quot;   *




  ,L
   B                              +
                                                                                    9#



                         :
                                                                                                      (:

:
                                                                                                                       6#
                                                                                     ;#       #   '
                             quot;,             :
         3      :                                    3      :


                                  3    :

                                                                                3    :
       Char                                        Char
                                                                     Boolean
       Wchar                                       Wchar
               String                                      String    Octet
               WString                                     WString
                              Char
                              Wchar
                                      String
                                      WString




    Short                Long                   Long Long                      Float      Char        String        Boolean
    UShort               Ulong                  Ulong Long                     Double     Wchar       WString       Octet
                                                                               LongDouble
.?
                                          /    (0( + quot;,
                                                '  *quot;   *




 'L




          !
                !
              !
                            quot;   quot;
               !

          !
                                quot;

      #                 $      %'(
      #             )       %'(%*'(

      #        +    ,       -
      #        +    ,         ''-     .
.@                                                /    (0( + quot;,
                                                        '  *quot;   *




      +
  /           #

          0   #       .   1

                  $

                          !$

                                       .       1
                          #


                  2   #           !$
                              quot;



                  3
                      #           $
                              quot;            $
/       ( 0( + quot;,
                                               '   *quot;   *

.A                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
.:                                                /        (0( + quot;,
                                                            '  *quot;   *




                   !   %
                               -


                                           .




                                                           quot;,
                           3
               3
                                       *
      #quot;                   -
               -



                                   .           3
           3

                                                      =
/       ( 0( + quot;,
                                               '   *quot;   *

.=                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
.==                                                                 /    (0( + quot;,
                                                                         '  *quot;   *




  , B          #    !$ quot;%
                                                                .
                             -




                         quot;       #



                                                            !
                   !*        #           #             quot;   quot;
                                                            #




        quot; #$                                  %quot; # $

               !    #       #   #   '   ()   (
.=.                                                                      /    (0( + quot;,
                                                                              '  *quot;   *




   ,B               #    !$ quot;%
                                                                     .
                                  -




        #+                                                  quot;   quot;
              #               quot;       #                                  #



                                                                    !
                        !*        #           #             quot;   quot;
                                                                 #




             quot; #$                                  %quot; # $

                    !    #       #   #   '   ()   (
/       ( 0( + quot;,
                                               '   *quot;   *

.=5                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
.=6                                              /    (0( + quot;,
                                                      '  *quot;   *




  K K
                                                          .
                                                     .
            #
  .




        0           #quot; 0    .   0       *   0             0



                0
 .
                                                     .
                           ;(   #   quot;           ;(   #quot;



                                        44   3
                                        # :
                                         quot;
/       ( 0( + quot;,
                                               '   *quot;   *

.=9                                /        (0( + quot;,
                                            '    *quot;   *




      !quot;                    #     !$
           ,           B   ), -
                             B
                   !
                       +    )+
                             -
      1    1

          +4
               #   ! $ ) !quot; %
                         -
      !+
      KK
      KH
       K
.=?                                                                     /        (0( + quot;,
                                                                                 '  *quot;   *




 E               KK
                               .



            3                                                       33
                                   #

                                                         44                         .
                    ? .
                                                                                  .
        .




            0.
            ,     #quot; 0 .
                     ,                 0        #quot; 0       .    0   *       0         0




?.           3                                                      44   3
                                                .
 # :                                                               # :
                  ;(   #   quot;               ;(   #quot;
  quot;                                                                  quot;
.=@                                                  /    (0( + quot;,
                                                          '  *quot;   *




  1          +
                                  2%         ,
      2% ,        3
      2%                  3
  2%                          1              3
  (               ,               2 $3
  2% quot;       %+           ,          3
  2%          !3
              quot;

        )                          -     4       )
             -
              1       %
/       ( 0( + quot;,
                       '   *quot;   *

.=A        /        (0( + quot;,
                    '    *quot;   *




      !4
      quot;
.=:                                                                /    (0( + quot;,
                                                                        '  *quot;   *




      !quot;

                                                           3
           Client : O1                               Server : 02




                              Object Request (IOR)




  @            quot;         quot;,            -
/       ( 0( + quot;,
                       '   *quot;   *

..        /        (0( + quot;,
                    '    *quot;   *




      !4
      quot;
..=                                                  /    (0( + quot;,
                                                          '  *quot;   *




                                !4
                                quot;

          -        3
      A            $
      6##(
                                                  #quot;
                   B
                                                 A          )
#quot;    quot;       A       )
                                5
                                    .
                                                 $


                                             .
                           6#       A   )
...                                                                   /    (0( + quot;,
                                                                           '  *quot;   *




                                   4
      Client                       Naming                    Server
                                   Service




               Client lookup
                                             Server export
               for Interface IOR
                                             IOR




               Client submit
               request to server
..5                                                  /    (0( + quot;,
                                                          '  *quot;   *




  1          +
                                  2%         ,
      2% ,        3
      2%                  3
  2%                          1              3
  (               ,               2 $3
  2% quot;       %+           ,          3
  2%          !3
              quot;

        )                          -     4       )
             -
              1       %
/       ( 0( + quot;,
                                       '   *quot;   *

..6                        /        (0( + quot;,
                                    '    *quot;   *




      !1
      quot;           %
  1        '
      '+
       ,
      1        ! $quot; 2% 1
                 1
  4
      1        ! $quot; 2% 1
                 1
..9                                                                /    (0( + quot;,
                                                                        '  *quot;   *




         '+
         ,

                                      Print
                           Strip                       Printer
                                              1
                 Strip : string
                                                   Print()
                 Print()




                                                    ColorPrinter


                                                  Setcolor()



From Advanced CORBA Programming with C++
Michi Henning
Steve Vinoski
/       ( 0( + quot;,
                                       '   *quot;   *

..?                        /        (0( + quot;,
                                    '    *quot;   *




      !1
      quot;           %
  1        '
      '+
       ,
      1        ! $quot; 2% 1
                 1
  4
      1        ! $quot; 2% 1
                 1
..@                   /       (0( + quot;,
                              '  *quot;   *




               %
                   Printer

          4
      $    #
/       ( 0( + quot;,
                                       '   *quot;   *

..A                        /        (0( + quot;,
                                    '    *quot;   *




      !1
      quot;           %
  1        '
      '+
       ,
      1        ! $quot; 2% 1
                 1
  4
      1        ! $quot; 2% 1
                 1
..:                                      /          (0( + quot;,
                                                    '  *quot;   *




                   %
                                      Printer

          4
      $    #


                                    ColorPrinter



                   4       !4
               /       5   26   7

 $        quot;                 /
/       ( 0( + quot;,
                                           '   *quot;   *

.5                            /        (0( + quot;,
                                        '    *quot;   *




          !1
          quot;           %
      1        '
          '+
           ,
          1        ! $quot; 2% 1
                     1
      4
          1        ! $quot; 2% 1
                     1
.5=                                       /       (0( + quot;,
                                                  '  *quot;   *




      1           %                    Printer
                              Client




                  5
                      .

              -           3
          A           $
          6##(




                  0
/       ( 0( + quot;,
                                           '   *quot;   *

.5.                            /        (0( + quot;,
                                        '    *quot;   *




          !1
          quot;           %
      1        '
          '+
           ,
          1        ! $quot; 2% 1
                     1
      4
          1        ! $quot; 2% 1
                     1
.55                                         /          (0( + quot;,
                                                       '  *quot;   *




      1           %                      Printer
                              Client




                  5
                      .                ColorPrinter



              -           3
          A           $
          6##(




                  0
/       ( 0( + quot;,
                                       '   *quot;   *

.56                        /        (0( + quot;,
                                    '    *quot;   *




      !1
      quot;           %
  1        '
      '+
       ,
      1        ! $quot; 2% 1
                 1
  4
      1        ! $quot; 2% 1
                 1
.59                                                 /          (0( + quot;,
                                                               '  *quot;   *




      1           %                   Client     Printer


                              #   !
                  5
                      .                        ColorPrinter



              -           3
          A           $
          6##(




                  0
.5?                                                  /    (0( + quot;,
                                                          '  *quot;   *




  1          +
                                  2%         ,
      2% ,        3
      2%                  3
  2%                          1              3
  (               ,               2 $3
  2% quot;       %+           ,          3
  2%          !3
              quot;

        )                          -     4       )
             -
              1       %
.5@                      /    (0( + quot;,
                              '  *quot;   *




      %    ,
      , E8quot;quot;
       ,H ,,
       quot;1    )   -


                     0


      ,  ! quot;
      EE
      !
      , H,
Complex Distributed Systems Software Architecture
Complex Distributed Systems Software Architecture
Complex Distributed Systems Software Architecture

More Related Content

What's hot

Catalogo precios hdpe_2013
Catalogo precios hdpe_2013Catalogo precios hdpe_2013
Catalogo precios hdpe_2013Osvaldo Gajardo
 
เล่มที่ 1 2
เล่มที่ 1 2เล่มที่ 1 2
เล่มที่ 1 2krunoot15979
 
Solving Cross-Domain Issues When Building Mashups
Solving Cross-Domain Issues When Building MashupsSolving Cross-Domain Issues When Building Mashups
Solving Cross-Domain Issues When Building Mashupsmehmetakin
 
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisis
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisisDel pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisis
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisisBraveSpinDoctors
 
Laminas punto flotante
Laminas punto flotanteLaminas punto flotante
Laminas punto flotanteKely Galveez
 
L’evoluzione degli orologi biologici
L’evoluzione degli orologi biologiciL’evoluzione degli orologi biologici
L’evoluzione degli orologi biologiciScienzainrete
 
Banrisul identidade visual_correspondente
Banrisul identidade visual_correspondenteBanrisul identidade visual_correspondente
Banrisul identidade visual_correspondente+ Aloisio Magalhães
 
CCU Company Profile
CCU Company ProfileCCU Company Profile
CCU Company Profilemittra15
 
Introduction To Financial Planning And Wealth Advice
Introduction To Financial Planning And Wealth AdviceIntroduction To Financial Planning And Wealth Advice
Introduction To Financial Planning And Wealth AdviceFrank Agliotti
 
សុខចិត្ត
សុខចិត្តសុខចិត្ត
សុខចិត្តVantha Kago
 
第三课:JS-行为控制语言+js架构思想
第三课:JS-行为控制语言+js架构思想第三课:JS-行为控制语言+js架构思想
第三课:JS-行为控制语言+js架构思想Tommy Chang
 

What's hot (15)

Catalogo precios hdpe_2013
Catalogo precios hdpe_2013Catalogo precios hdpe_2013
Catalogo precios hdpe_2013
 
เล่มที่ 1 2
เล่มที่ 1 2เล่มที่ 1 2
เล่มที่ 1 2
 
Litealfsig
LitealfsigLitealfsig
Litealfsig
 
Sifat al-munafiqeen
Sifat al-munafiqeenSifat al-munafiqeen
Sifat al-munafiqeen
 
Hxc9
Hxc9Hxc9
Hxc9
 
Solving Cross-Domain Issues When Building Mashups
Solving Cross-Domain Issues When Building MashupsSolving Cross-Domain Issues When Building Mashups
Solving Cross-Domain Issues When Building Mashups
 
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisis
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisisDel pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisis
Del pecado, virtud - 7 ideas para vivir (y dejar vivir) en época de crisis
 
Laminas punto flotante
Laminas punto flotanteLaminas punto flotante
Laminas punto flotante
 
L’evoluzione degli orologi biologici
L’evoluzione degli orologi biologiciL’evoluzione degli orologi biologici
L’evoluzione degli orologi biologici
 
Banrisul identidade visual_correspondente
Banrisul identidade visual_correspondenteBanrisul identidade visual_correspondente
Banrisul identidade visual_correspondente
 
Pdf 1
Pdf 1Pdf 1
Pdf 1
 
CCU Company Profile
CCU Company ProfileCCU Company Profile
CCU Company Profile
 
Introduction To Financial Planning And Wealth Advice
Introduction To Financial Planning And Wealth AdviceIntroduction To Financial Planning And Wealth Advice
Introduction To Financial Planning And Wealth Advice
 
សុខចិត្ត
សុខចិត្តសុខចិត្ត
សុខចិត្ត
 
第三课:JS-行为控制语言+js架构思想
第三课:JS-行为控制语言+js架构思想第三课:JS-行为控制语言+js架构思想
第三课:JS-行为控制语言+js架构思想
 

More from Emmanuel Fuchs

Distributed Object Systems
Distributed Object SystemsDistributed Object Systems
Distributed Object SystemsEmmanuel Fuchs
 
CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004Emmanuel Fuchs
 
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture DescriptionAnootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture DescriptionEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorEmmanuel Fuchs
 
UBSS : Unix Based System Software
UBSS : Unix Based System SoftwareUBSS : Unix Based System Software
UBSS : Unix Based System SoftwareEmmanuel Fuchs
 
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)Emmanuel Fuchs
 
Distributed Object Computing
Distributed Object ComputingDistributed Object Computing
Distributed Object ComputingEmmanuel Fuchs
 
Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Emmanuel Fuchs
 

More from Emmanuel Fuchs (20)

Distributed Object Systems
Distributed Object SystemsDistributed Object Systems
Distributed Object Systems
 
CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004CARDAMOM_CCM_Tutorial_Draft 2004
CARDAMOM_CCM_Tutorial_Draft 2004
 
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture DescriptionAnootations IEEE 42010 : A Conceptual Model of Architecture Description
Anootations IEEE 42010 : A Conceptual Model of Architecture Description
 
Book Recommendations
 Book Recommendations Book Recommendations
Book Recommendations
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
PLUG : Presentation Layer Universal Generator
 PLUG : Presentation Layer Universal Generator PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
PLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal GeneratorPLUG : Presentation Layer Universal Generator
PLUG : Presentation Layer Universal Generator
 
UBSS2
UBSS2UBSS2
UBSS2
 
UBSS : Unix Based System Software
UBSS : Unix Based System SoftwareUBSS : Unix Based System Software
UBSS : Unix Based System Software
 
ISORC 1999 Panel III
ISORC 1999 Panel IIIISORC 1999 Panel III
ISORC 1999 Panel III
 
ISORC’99
ISORC’99ISORC’99
ISORC’99
 
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
Object-Oriented Real-Time Distributed Computing, 1999. (ISORC '99)
 
Distributed Object Computing
Distributed Object ComputingDistributed Object Computing
Distributed Object Computing
 
Hash map
Hash mapHash map
Hash map
 
ATM system history
ATM system historyATM system history
ATM system history
 
Middleware
MiddlewareMiddleware
Middleware
 
photoISEN 1987
photoISEN 1987photoISEN 1987
photoISEN 1987
 
EUROCAT
EUROCATEUROCAT
EUROCAT
 
Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2Executive Summary ITEA Roadmap 2
Executive Summary ITEA Roadmap 2
 

Complex Distributed Systems Software Architecture

  • 1. !quot; # !$ quot;% &( ' )* quot; quot; , (+ *-
  • 2. . / & (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 3. / & ( 0( + quot;, ' *quot; * 5 / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 4. 6 / & (0( + quot;, ' *quot; * + * + quot; * 77 quot; 74 8 * * 8 7quot; , !
  • 5. 9 / & (0( + quot;, ' *quot; * + & : 0: ; :: : 4 $ < , ), - + => .> 0
  • 6. / & ( 0( + quot;, ' *quot; * ? / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 7. @ / & (0( + quot;, ' *quot; * quot;*
  • 8. A / & (0( + quot;, ' *quot; * quot;* , ) - 4 quot;quot; ) - ) - quot;& , ) - ) - < )+ - 27 2 ) -9 > .> > 9> 9> > . 6, quot; =>.>
  • 9. : / & (0( + quot;, ' *quot; * * quot;* quot;% ATC Internet Supervisory Recording Radar Front Radar Data Flight Plan Simulator Control Supervisory Replay Processing Processing Recording Processing Radar Front Radar Data Flight Plan Simulator Control Replay Processing Processing Processing Intranet controller controller controller controller Working Working Working Working Position Position Position Position
  • 10. / & ( 0( + quot;, ' *quot; * => / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 11. == / & (0( + quot;, ' *quot; *
  • 12. =. / & (0( + quot;, ' *quot; *
  • 13. =5 / & (0( + quot;, ' *quot; * 7
  • 14. =6 / & (0( + quot;, ' *quot; * 7
  • 15. =9 / & (0( + quot;, ' *quot; * 7
  • 16. =? / & (0( + quot;, ' *quot; * 7
  • 17. =@ / & (0( + quot;, ' *quot; * %
  • 18. =A / & (0( + quot;, ' *quot; * %
  • 19. =: / & (0( + quot;, ' *quot; *
  • 20. .> / & (0( + quot;, ' *quot; *
  • 21. .= / & (0( + quot;, ' *quot; * %
  • 22. .. / & (0( + quot;, ' *quot; * %
  • 23. .5 / & (0( + quot;, ' *quot; * %
  • 24. / & ( 0( + quot;, ' *quot; * .6 / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 25. .9 / & (0( + quot;, ' *quot; * % quot; % 0 % % 0 % % <7% % 0 % 0 *% % % % % % % % % % % %% 0 ! , % ) < -0
  • 26. / & ( 0( + quot;, ' *quot; * .? / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 27. .@ / & (0( + quot;, ' *quot; * 1 , Functional upgrade Cost Functional upgrade Code Size Complexity Complexity avalanche effect System Complexity Functional Changes Cost Functional Changes Code Size Time
  • 28. .A / & (0( + quot;, ' *quot; * 1 , Functional upgrade Cost Functional Functional upgrade Code Size Changes Cost Complexity Complexity avalanche effect System Complexity Functional Changes Code Size Time
  • 29. / & ( 0( + quot;, ' *quot; * .: / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 30. 5> / & (0( + quot;, ' *quot; * , Complexity System Complexity Code Size
  • 31. 5= / & (0( + quot;, ' *quot; * , Complexity System Complexity Decreases Complexity Increases Abstraction Level Decreases Code Size Code Size
  • 32. 5. / & (0( + quot;, ' *quot; * , Complexity System Complexity Decreases Complexity Increases Abstraction Level Decreases Code Size Code Size
  • 33. / & ( 0( + quot;, ' *quot; * 55 / & (0( + quot;, ' *quot; * + )+ - quot;* quot; % quot; ' ,
  • 34. 56 / & (0( + quot;, ' *quot; * %, ,
  • 35. 59 / & (0( + quot;, ' *quot; * %
  • 36. 5? / & (0( + quot;, ' *quot; * %
  • 37. 5@ / & (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 38. / & ( 0( + quot;, ' *quot; * 5A / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 39. 5: / & (0( + quot;, ' *quot; *
  • 40. 6> / & (0( + quot;, ' *quot; * quot; quot; # ! quot;
  • 41. 6= / & (0( + quot;, ' *quot; * quot; $ % ! quot;
  • 42. 6. / & (0( + quot;, ' *quot; * quot; * &' () ! quot;
  • 43. 65 / & (0( + quot;, ' *quot; * quot; + ! * ! quot;
  • 44. 66 / & (0( + quot;, ' *quot; * quot; + ! * ! quot;
  • 45. 69 / & (0( + quot;, ' *quot; * quot; + ! * ! quot;
  • 46. 6? / & (0( + quot;, ' *quot; * quot; + ! * ! quot;
  • 47. / & ( 0( + quot;, ' *quot; * 6@ / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 48. 6A / & (0( + quot;, ' *quot; *
  • 49. 6: / & (0( + quot;, ' *quot; * quot; ! quot;
  • 50. 9> / & (0( + quot;, ' *quot; * quot; ! quot;
  • 51. 9= / & (0( + quot;, ' *quot; * quot; ! quot;
  • 52. 9. / & (0( + quot;, ' *quot; * quot; + ! ! quot;
  • 53. 95 / & (0( + quot;, ' *quot; * quot; + ! ! quot;
  • 54. / & ( 0( + quot;, ' *quot; * 96 / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 55. 99 / & (0( + quot;, ' *quot; * , quot; quot; ( ( 4 $ 4 $
  • 56. 9? / & (0( + quot;, ' *quot; * , quot; quot; ( ( 4 $ 4 $
  • 57. 9@ / & (0( + quot;, ' *quot; * , quot; quot; quot; quot; ( ( ( ( 4 $ 4 $ 4 $ 4 $
  • 58. 9A / & (0( + quot;, ' *quot; * , quot; quot; quot; quot; ( ( ( ( 4 $ 4 $ 4 $ 4 $
  • 59. / & ( 0( + quot;, ' *quot; * 9: / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 60. ?> / & (0( + quot;, ' *quot; * quot; quot; quot;
  • 61. ?= / & (0( + quot;, ' *quot; * quot; # quot; quot;
  • 62. ?. / & (0( + quot;, ' *quot; * quot; quot;, # quot; quot;
  • 63. ?5 / & (0( + quot;, ' *quot; * quot; quot;, # quot; quot;
  • 64. ?6 / & (0( + quot;, ' *quot; * quot; + quot;, # quot; quot;
  • 65. / & ( 0( + quot;, ' *quot; * ?9 / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 66. ?? / & (0( + quot;, ' *quot; * quot; , quot; C +
  • 67. ?@ / & (0( + quot;, ' *quot; * quot; , quot; C + ( %+ ,
  • 68. / & ( 0( + quot;, ' *quot; * ?A / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 69. ?: / & (0( + quot;, ' *quot; * , $ + %, $ + ! * !
  • 70. @> / & (0( + quot;, ' *quot; * , $ + %, $ $ ! * + ! * !
  • 71. / & ( 0( + quot;, ' *quot; * @= / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 72. @. / & (0( + quot;, ' *quot; * , $ + %, $ $ ! * + ! * ! !
  • 73. / & ( 0( + quot;, ' *quot; * @5 / & (0( + quot;, ' *quot; * quot; %, 2% , 3 * quot; *% + 8 8 , % + & $ 1 B
  • 74. @6 / & (0( + quot;, ' *quot; * , $ + %, $ $ ! * + ! * ! ! quot; quot;
  • 75. @9 / & (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 76. / & ( 0( + quot;, ' *quot; * @? / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 77. / & ( 0( + quot;, ' *quot; * @@ / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 78. @A / & (0( + quot;, ' *quot; * 2% D D
  • 79. @: / & (0( + quot;, ' *quot; * + 1 %#
  • 80. A> / & (0( + quot;, ' *quot; * , # quot; quot; ( ( 4 $ 4 $
  • 81. A= / & (0( + quot;, ' *quot; * , $ % quot; quot; !# !# ( ( 4 $ 4 $
  • 82. A. / & (0( + quot;, ' *quot; * , + , 1 % 1 * *
  • 83. / & ( 0( + quot;, ' *quot; * A5 / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 84. A6 / & (0( + quot;, ' *quot; * 0 0 % 0 1 %0 ) - % 0
  • 85. / & ( 0( + quot;, ' *quot; * A9 / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 86. A? / & (0( + quot;, ' *quot; * % 0 Initial Request 1 Day ! After 1 Week $ After
  • 87. A@ / & (0( + quot;, ' *quot; * % 0 Initial Request Evolution Request 1 Day ! After Few Weeks Later 1 Day 1 Week $ After After
  • 88. AA / & (0( + quot;, ' *quot; * % # 2% % 2 % *% 1 quot; 2 %* $ 2+ ' %1 2 % % %E 1 4
  • 89. / & ( 0( + quot;, ' *quot; * A: / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 90. :> / & (0( + quot;, ' *quot; * 1 F G
  • 91. := / & (0( + quot;, ' *quot; * 1 F G ! & ' &OLHQW Point # int x # int y +print()
  • 92. :. / & (0( + quot;, ' *quot; * & ! & ' &OLHQW Point # int x # int y +print() (
  • 93. :5 / & (0( + quot;, ' *quot; * & ! & ' &OLHQW Point # int x # int y +print() (
  • 94. :6 / & (0( + quot;, ' *quot; * 1 F & G ! & ' &OLHQW Point # int x # int y +print() ( 3DPoint # int z + print()
  • 95. :9 / & (0( + quot;, ' *quot; * 1 F & G ! & ' &OLHQW Point # int x # int y +print() ( ρ 3DPoint θ # int z + print()
  • 96. :? / & (0( + quot;, ' *quot; * 1 F & G ! & ' <<Interface>> &OLHQW Point +print() ( ρ 3DPoint θ + print()
  • 97. :@ / & (0( + quot;, ' *quot; * % % ! & ' &OLHQW Point +print() 1DPoint + print()
  • 98. :A / & (0( + quot;, ' *quot; * % % ! & ' &OLHQW Point +print() 1DPoint 2DPoint + print() + print()
  • 99. :: / & (0( + quot;, ' *quot; * % % ! & ' &OLHQW Point +print() 1DPoint 2DPoint 3DPoint + print() + print() + print()
  • 100. => > / & (0( + quot;, ' *quot; * % % ! & ' &OLHQW Point +print() NDPoint 1DPoint 2DPoint 3DPoint + print() + print() + print() + print()
  • 101. == > / & (0( + quot;, ' *quot; * % % ! & ' <<Interface>> &OLHQW Point +print() NDPoint 1DPoint 2DPoint 3DPoint + print() + print() + print() + print()
  • 102. / & ( 0( + quot;, ' *quot; * =. > / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 103. =5 > / & (0( + quot;, ' *quot; * . / - / ! * 0 * ! - -
  • 104. =6 > / & (0( + quot;, ' *quot; * . / - / ! * 0 * ! - -
  • 105. =9 > / & (0( + quot;, ' *quot; * . 1 quot;# - 1 &) &) &) 2 2 &)
  • 106. =? > / & (0( + quot;, ' *quot; * . 1 quot;# - 1 &) &) &) 2 2 quot;
  • 107. =@ > / & (0( + quot;, ' *quot; * %
  • 108. =A > / & (0( + quot;, ' *quot; * 1 %
  • 109. =: > / & (0( + quot;, ' *quot; * 8 % - & - ) &quot; )
  • 110. => = / & (0( + quot;, ' *quot; * 8 %
  • 111. == = / & (0( + quot;, ' *quot; * % % ! & ' &OLHQW Point +print() NDPoint 1DPoint 2DPoint 3DPoint + print() + print() + print() + print()
  • 112. =. = / & (0( + quot;, ' *quot; * % % ! & ' <<Interface>> &OLHQW Point +print() NDPoint 1DPoint 2DPoint 3DPoint + print() + print() + print() + print()
  • 113. / & ( 0( + quot;, ' *quot; * =5 = / & (0( + quot;, ' *quot; * 1 1 1 % 1 1 1 + 1 %
  • 114. =6 = / & (0( + quot;, ' *quot; * %
  • 115. =9 = / & (0( + quot;, ' *quot; * % )
  • 116. =? = / & (0( + quot;, ' *quot; * % ) )
  • 117. =@ = / & (0( + quot;, ' *quot; * % ) )
  • 118. =A = / & (0( + quot;, ' *quot; * % % )
  • 119. =: = / & (0( + quot;, ' *quot; * % % $ % )
  • 120. => . / & (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 121. / & ( 0( + quot;, ' *quot; * == . / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 122. =. . / & (0( + quot;, ' *quot; * 1 3 Stat1 A B State2 State4
  • 123. / & ( 0( + quot;, ' *quot; * =5 . / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 124. =6 . / & (0( + quot;, ' *quot; * +$ 3 *' A B Stat1 State2 State4
  • 125. / & ( 0( + quot;, ' *quot; * =9 . / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 126. =? . / & (0( + quot;, ' *quot; * 4 $) % - 3 Task A Task B A B Stat1 State2 State4
  • 127. / & ( 0( + quot;, ' *quot; * =@ . / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 128. =A . / & (0( + quot;, ' *quot; * 4 3 A B 3 Stat1 State2 State4
  • 129. / & ( 0( + quot;, ' *quot; * =: . / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 130. => 5 / & (0( + quot;, ' *quot; * 4 + 3 44 A B 3 Stat1 State2 State4
  • 131. / & ( 0( + quot;, ' *quot; * == 5 / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 132. =. 5 / & (0( + quot;, ' *quot; * 4 4 ) < - 3 A B 3 Stat1 State2 State4
  • 133. / & ( 0( + quot;, ' *quot; * =5 5 / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 134. =6 5 / & (0( + quot;, ' *quot; * 4 % 3 3 A B Stat1 State2 State4
  • 135. / & ( 0( + quot;, ' *quot; * =9 5 / & (0( + quot;, ' *quot; * 1 1 '# $ 1 , % , 1 , + , 4 ( ( *
  • 136. =? 5 / & (0( + quot;, ' *quot; * * A B -- 5 -- ! -- -- # 5 5 3
  • 137. =@ 5 / & (0( + quot;, ' *quot; * * 5 3 5 B A 5 3 5
  • 138. =A 5 / & (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 139. / & ( 0( + quot;, ' *quot; * =: 5 / & (0( + quot;, ' *quot; * , $ 1 1 1 1 '+ , + 1 ,
  • 140. => 6 / & (0( + quot;, ' *quot; * 1 1 ) % B&- GoF stand for Gang of Four. It refers to the famous books of Vlisside and Co. Design Patterns: Elements of Reusable Object-Oriented Software.
  • 141. / & ( 0( + quot;, ' *quot; * == 6 / & (0( + quot;, ' *quot; * , $ 1 1 1 1 '+ , + 1 ,
  • 142. =. 6 / & (0( + quot;, ' *quot; * 1 )' + ,- ,QWHUIDFH!! O L HQW 6 X E M HFW * ' 3 UR [ 5 HDO 6 X E M HFW * ' * '
  • 143. =65 / (0( + quot;, ' *quot; * ), - '+ ,QWHUIDFH!! O L HQW 6 X E M HFW * ' 3 UR [ 5 HDO 6 X E M HFW * ' * ' # + # , %
  • 144. =66 / (0( + quot;, ' *quot; * ), - '+ ¦ ¡ £     © © ¢ ¤ ¥ § ¨¤ ! £ ¤ ¢ £ ¤ ¨ Request() £ ¥ ¤ § ¤ ¨ Request() Request() ! ,
  • 145. =69 / (0( + quot;, ' *quot; * ), - '+ ¦ ¡ £     © © ¢ ¤ ¥ § ¨¤ ! £ ¤ ¢ £ ¤ ¨ Request() £ ¥ ¤ § ¤ ¨ Request() Request() 5 5 3 ! ,
  • 146. / ( 0( + quot;, ' *quot; * =6? / (0( + quot;, ' *quot; * , $ 1 1 1 1 '+ , + 1 ,
  • 147. =6@ / (0( + quot;, ' *quot; * ) - . # #
  • 148. =6A / (0( + quot;, ' *quot; * ) - ,QWHUIDFH!! 6 HUY L FH . # # '
  • 149. =6: / (0( + quot;, ' *quot; * ) - , ! ! % !# -!
  • 150. =9 / (0( + quot;, ' *quot; * ) - , ! ! % !# -!
  • 151. =9= / (0( + quot;, ' *quot; * ) - , ! ! ! % !# -! !. !
  • 152. =9. // 0 ( * quot;quot; , * ' ( ( 0+ +* quot; , ' * quot;( , $ 1 1 1 1 '+ , + 1 ,
  • 153. =95 / (0( + quot;, ' *quot; * ) % B-
  • 154. =96 / (0( + quot;, ' *quot; * # !
  • 155. =99 / (0( + quot;, ' *quot; * # 5 5 3 !
  • 156. =9? / (0( + quot;, ' *quot; * # 5 5 3 ! % %
  • 157. / ( 0( + quot;, ' *quot; * =9@ / (0( + quot;, ' *quot; * , $ 1 1 1 1 '+ , + 1 ,
  • 158. =9A / (0( + quot;, ' *quot; * + 8 3 .
  • 159. =9: / (0( + quot;, ' *quot; * * a b
  • 160. =? / (0( + quot;, ' *quot; * * , 3 + !
  • 161. =?= / (0( + quot;, ' *quot; * , 1 . 3 quot;
  • 162. =?. / (0( + quot;, ' *quot; * , 1 . . + ! 3 ( ( Server Client quot; Proxy Proxy
  • 163. =?5 / (0( + quot;, ' *quot; * , 1 . . + ! 3 ( ( Server Client quot; Proxy Proxy
  • 164. =?6 / (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 165. / ( 0( + quot;, ' *quot; * =?9 / (0( + quot;, ' *quot; * ++ , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 166. =?? / (0( + quot;, ' *quot; * 4 1 , 1 / / / / / # 0 # 0 # 0 # 0 # 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 / # 0 1 2 3 4
  • 167. =?@ / (0( + quot;, ' *quot; * 4 1 , 1 / / / / / # 0 # 0 # 0 # 0 # 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 / # 0 1 2 3 4
  • 168. =?A / (0( + quot;, ' *quot; * 4 1 , 1 / / / / / # 0 # 0 # 0 # 0 # 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 55 6, / # 0 1 2 3 4
  • 169. =?: / (0( + quot;, ' *quot; * 4 1 , 1 / / / / / # 0 # 0 # 0 # 0 # 0 1 1 1 1 1 2 2 2 2 2 3 3 3 3 3 4 4 4 4 4 55 6, / / 0100110110 # 0 # 0 1100111010 1 1 7 0101011111 2 2 3 3 100111... 4 4
  • 170. / ( 0( + quot;, ' *quot; * =@ / (0( + quot;, ' *quot; * ++ , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 171. =@= / (0( + quot;, ' *quot; * 4 1 Point +print()
  • 172. =@. / (0( + quot;, ' *quot; * , 1 % )% 1- A B 3 Send Message ( Request ) Waiting Loop Send Message ( Reply )
  • 173. / ( 0( + quot;, ' *quot; * =@5 / (0( + quot;, ' *quot; * + + , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 174. =@6 / (0( + quot;, ' *quot; * % 1 5 quot; +#
  • 175. =@9 / (0( + quot;, ' *quot; * % 1 quot; 5 +#
  • 176. =@? / (0( + quot;, ' *quot; * % 1 quot; 5 +#
  • 177. =@@ / (0( + quot;, ' *quot; * % 1 quot; 5 +#
  • 178. / ( 0( + quot;, ' *quot; * =@A / (0( + quot;, ' *quot; * ++ , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 179. =@: / (0( + quot;, ' *quot; * 1 3 .
  • 180. =A / (0( + quot;, ' *quot; * H 3 Client : O1 Server : 02 Request Client request server services . . . ) 6# 6# ! - .
  • 181. / ( 0( + quot;, ' *quot; * =A= / (0( + quot;, ' *quot; * + + , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 182. =A. / (0( + quot;, ' *quot; * 1 43 . 8 #%3) + + quot; %4 3% # # # (% ) # (% ) # 3 + 7 ' # . 7 8 I )I -
  • 183. =A5 / (0( + quot;, ' *quot; * Servers 1 Unix Process + + Operations DATA and Operations Implementatio n Operations Operations DATA DATA and and Operations Operations Implementatio Implementation n quot; quot; Operations Operations Operations DATA DATA DATA and and and Operations Operations Operations Implementatio Implementatio Implementation n n Operations Operations DATA DATA and and Operations Operations Implementatio Implementation n Operations DATA Operations and Operations Operations DATA Implementatio and n Operations DATA Implementatio and n Operations Implementation Operations DATA and Operations Implementatio n .
  • 184. / ( 0( + quot;, ' *quot; * =A6 / (0( + quot;, ' *quot; * ++ , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 185. =A9 / (0( + quot;, ' *quot; * 1 . Operation 1 Operation 2 Operation 3 Operation 4 . #quot; #quot;
  • 186. =A? / (0( + quot;, ' *quot; * 1 $ $ Operation 1 Operation 2 Operation 3 Operation 4
  • 187. / ( 0( + quot;, ' *quot; * =A@ / (0( + quot;, ' *quot; * + + , ,, , , 4 1 4 1 8 % 1 1 1 1 ! 11 1 $ ,, 1 ,
  • 188. =AA / (0( + quot;, ' *quot; * 1 $ 4 4 % 74 % 1J )7-7 quot;! )7- quot;! J K HE Kquot; LLM ) -
  • 189. =A: / (0( + quot;, ' *quot; * !quot; ! 1 1K !quot; quot; % % quot;) ,quot; % , - *
  • 190. =: / (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 191. / ( 0( + quot;, ' *quot; * =:= / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 192. =:. / (0( + quot;, ' *quot; * , ) A- B =: : = =: = : )- . =: 6 : ) H - ' =0 =: @ : 5 =: : : ) - .=N % 7 . 0 1
  • 193. / ( 0( + quot;, ' *quot; * =:5 / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 194. =:6 / (0( + quot;, ' *quot; * ! quot;, - quot;, 3#
  • 195. / ( 0( + quot;, ' *quot; * =:9 / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 196. =:? / (0( + quot;, ' *quot; * + 3 A B 3
  • 197. / ( 0( + quot;, ' *quot; * =:@ / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 198. =:A / (0( + quot;, ' *quot; * 1 ), - '+ ,QWHUIDFH!! O L HQW 6 X E M HFW * ' 3 UR [ 5 HDO 6 X E M HFW * ' * '
  • 199. =:: / (0( + quot;, ' *quot; * ), - '+ ,QWHUIDFH!! O L HQW $ O DV V % * ' O DV V % O DV V % * ' * ' * ' , %
  • 200. / ( 0( + quot;, ' *quot; * . / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 201. .= / (0( + quot;, ' *quot; * !quot; InterfaceName Attribut 1 Attribut 2 Operation 1() Operation 2() Operation 3() quot;, -
  • 202. .. / (0( + quot;, ' *quot; * '+ , , '+ , !quot; ,quot;, quot;% ' +1 , !quot; InterfaceName Attribut 1 Attribut 2 Operation 1() Operation 2() 7+ . Operation 3() . ,
  • 203. .5 / (0( + quot;, ' *quot; * + . 1 quot;# - 1 %% %) %% %) 2 2 )
  • 204. / ( 0( + quot;, ' *quot; * .6 / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 205. .9 / (0( + quot;, ' *quot; * ,L B + 9# : (: : 6# ;# # ' quot;, : 3 : 3 : 3 : 3 : Char Char Boolean Wchar Wchar String String Octet WString WString Char Wchar String WString Short Long Long Long Float Char String Boolean UShort Ulong Ulong Long Double Wchar WString Octet LongDouble
  • 206. .? / (0( + quot;, ' *quot; * 'L ! ! ! quot; quot; ! ! quot; # $ %'( # ) %'(%*'( # + , - # + , ''- .
  • 207. .@ / (0( + quot;, ' *quot; * + / # 0 # . 1 $ !$ . 1 # 2 # !$ quot; 3 # $ quot; $
  • 208. / ( 0( + quot;, ' *quot; * .A / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 209. .: / (0( + quot;, ' *quot; * ! % - . quot;, 3 3 * #quot; - - . 3 3 =
  • 210. / ( 0( + quot;, ' *quot; * .= / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 211. .== / (0( + quot;, ' *quot; * , B # !$ quot;% . - quot; # ! !* # # quot; quot; # quot; #$ %quot; # $ ! # # # ' () (
  • 212. .=. / (0( + quot;, ' *quot; * ,B # !$ quot;% . - #+ quot; quot; # quot; # # ! !* # # quot; quot; # quot; #$ %quot; # $ ! # # # ' () (
  • 213. / ( 0( + quot;, ' *quot; * .=5 / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 214. .=6 / (0( + quot;, ' *quot; * K K . . # . 0 #quot; 0 . 0 * 0 0 0 . . ;( # quot; ;( #quot; 44 3 # : quot;
  • 215. / ( 0( + quot;, ' *quot; * .=9 / (0( + quot;, ' *quot; * !quot; # !$ , B ), - B ! + )+ - 1 1 +4 # ! $ ) !quot; % - !+ KK KH K
  • 216. .=? / (0( + quot;, ' *quot; * E KK . 3 33 # 44 . ? . . . 0. , #quot; 0 . , 0 #quot; 0 . 0 * 0 0 ?. 3 44 3 . # : # : ;( # quot; ;( #quot; quot; quot;
  • 217. .=@ / (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 218. / ( 0( + quot;, ' *quot; * .=A / (0( + quot;, ' *quot; * !4 quot;
  • 219. .=: / (0( + quot;, ' *quot; * !quot; 3 Client : O1 Server : 02 Object Request (IOR) @ quot; quot;, -
  • 220. / ( 0( + quot;, ' *quot; * .. / (0( + quot;, ' *quot; * !4 quot;
  • 221. ..= / (0( + quot;, ' *quot; * !4 quot; - 3 A $ 6##( #quot; B A ) #quot; quot; A ) 5 . $ . 6# A )
  • 222. ... / (0( + quot;, ' *quot; * 4 Client Naming Server Service Client lookup Server export for Interface IOR IOR Client submit request to server
  • 223. ..5 / (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 224. / ( 0( + quot;, ' *quot; * ..6 / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 225. ..9 / (0( + quot;, ' *quot; * '+ , Print Strip Printer 1 Strip : string Print() Print() ColorPrinter Setcolor() From Advanced CORBA Programming with C++ Michi Henning Steve Vinoski
  • 226. / ( 0( + quot;, ' *quot; * ..? / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 227. ..@ / (0( + quot;, ' *quot; * % Printer 4 $ #
  • 228. / ( 0( + quot;, ' *quot; * ..A / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 229. ..: / (0( + quot;, ' *quot; * % Printer 4 $ # ColorPrinter 4 !4 / 5 26 7 $ quot; /
  • 230. / ( 0( + quot;, ' *quot; * .5 / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 231. .5= / (0( + quot;, ' *quot; * 1 % Printer Client 5 . - 3 A $ 6##( 0
  • 232. / ( 0( + quot;, ' *quot; * .5. / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 233. .55 / (0( + quot;, ' *quot; * 1 % Printer Client 5 . ColorPrinter - 3 A $ 6##( 0
  • 234. / ( 0( + quot;, ' *quot; * .56 / (0( + quot;, ' *quot; * !1 quot; % 1 ' '+ , 1 ! $quot; 2% 1 1 4 1 ! $quot; 2% 1 1
  • 235. .59 / (0( + quot;, ' *quot; * 1 % Client Printer # ! 5 . ColorPrinter - 3 A $ 6##( 0
  • 236. .5? / (0( + quot;, ' *quot; * 1 + 2% , 2% , 3 2% 3 2% 1 3 ( , 2 $3 2% quot; %+ , 3 2% !3 quot; ) - 4 ) - 1 %
  • 237. .5@ / (0( + quot;, ' *quot; * % , , E8quot;quot; ,H ,, quot;1 ) - 0 , ! quot; EE ! , H,