An Aspect-Oriented Approach to Dynamic Adaptation - CiteSeerX

5 downloads 179110 Views 188KB Size Report
Un- fortunately, the software development community currently lacks design methods and tools for rigorously construct- ing dynamically adaptive software.
An Aspect-Oriented Approach to Dynamic Adaptation Z. Yang, B. H. C. Cheng , R. E. K. Stirewalt, J. Sowell, S. M. Sadjadi, P. K. McKinley Software Engineering and Network Systems Laboratory Department of Computer Science and Engineering Michigan State University East Lansing, Michigan 48824

 

         "!! #$   %&# %'" ()*+,! .-/0" 1 ()21 "%,231

ABSTRACT

65.57865," 9:57" ; "%'%RD""8] ;  "2 d7" ._@ %,%M"%,ze()5 !"()"=fe  {""2'V$ 57!+8= 5'_+%,9Es2 !V;o !  " v+()5'&_\B578EG(D "1v|0'; Ea2,. !=' 0EaZ^&?%'"_\"!5 ()"=^"()(:2, V$) 2,"=!V !+8*X%," }()  ,%,z.%~= !yEGy  2 !V   2, ; ,z%''.()+"!!V€% 5,_\NEa$[ 1 4 >5.578?5' 57"> '"(D&)5,5,\8 yEG?5'"5.& R€ w' d5, (UEa % 5,z.%d%, H   :%''.()W %,5' ,"1  w".%' WN w' ]5 5 !&+NW2 5,57B%'' ()[%'; 5,&+N9" ()5,!+&%19‚   +%' =BF2 ,  @ w,()5 !   8w, ) ! ]",Ea "  +,D5,5 !  F , ]5.&+ +5 = (D"L"= R.%M!_\Xe" !!+7_\€  ,Ea "," J" 3 .%y" ,g%' I .&W[),&[=]Y% %z""2,)  ()(:2, &; >"5. !V+ "1BƒP"&_\ [9^=„F7  !9b . … ,  "2,V$X .  ")%, ()!+!VX>2 X+()1PA`(D&#$  .!!+   Y† ‡S"  X2  Ly8 , RN€(D*\d ,P w'; ,d5 5,!+& Jk\h\k8q roˆ  ()(:2, &+31vƒP"&_\8\V9B%'VEa; ‹ !>  = F ,+b2, ^EGW!+!""57  %,","""1

Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. WOSS ’02, Nov 18-19, 2002, Charleston, SC, USA. Copyright 2002 ACM 1-58113-609-9/02/0011 ... Œ 5.00

H. 2 !V3F"%'VEafkBq.‰mo‰m 95," +B"  %,V ,„2  %, F  >  %,5' O , 2,!g%y=""2':.%YF .&> 57   ?&D5,5, 5'V; 1 Ž,F w,()5,! P%' ^>5,  b?",Ea "  +,N"    >_\ %' 5,57 "6€‡S".%'+,P".%'O=""2'IF ," 5.&"5.=bEa (K2 =2,%P W&"()5,FD" ()(?2 ,+" %,2' ) ?" 3„ %zd%, ()!+!Vz% 5,_\? 57  ? EG6 …" 'EG   " @2 5:() (:7 S@  ='2,… ,"V6"  2 ,N" 8,5' 31 A}*\ Y  ]f'"(D!!y(D*',d5' ()] %,5'; %'fF "   " : ^ ,)nj7nu8‰j   ^" %f>^= %'' ()[% 5' Ps 1 ,1=""2'V$=‘0\TS&Es2 !V;o !  "&’9  ;Z 2, )R 2,1 4 ,@5 57 b w'5 !"^ ] ='57  +  .&]57" ;2,:57" 0.%f[_ )D w".%RY w';  b5,(CF : %,5,& >+'Ea2  2'^ %I W57 = =0 F% 5' )*   "!s1vA^92,?()   ,F %,5,& N*\8;   !\8 ,"*' …"  %,V >E, > %,5,& I2 !…@%,8 ()  VE9P %,5,& R , 2 !+%f7]57 EG()%d.%f w'""2, F ,0"; "57.%,,€   :EF ,d".%'†:&H.%S1 4 2 "9  "".%O5, .DO2,:5 5'\8 eIY" "%') D %,5'  ! +f€ ()]EF"  %,V  ? %O8+ ? %XY()5 !"()"=   ?]Ÿ ¡=¢'£¤£  ¡Y.%Y¥\Ÿ¤'£  ¡d"!+ "7Ea (¦F  R #   X ,N %,5' X*\   !B&)!!=&%1D§B"2,N ":" '; %,V f.%)8+d !g"[D7@!\%,%D.%)2 ,!+  %'%)B2 

() 6 ,f % 5,&+c*\   ! V"!VE0: % 5,_\ 1z€d5 5,!+% 2,f5 5,  J€y"Y2.%eJF ,8 J[P2,%e RAb“ ‹ !+  2 ]A@57"8 ”V&•> w" %)>, $ *N",Ea "  +,N5,; 5,!+" †+=X  f .&D%''.()!!Vc %,5':€  57& ,  ""2'ZdEa2'"bb ""%,%S1 4 ,> (D.%' WE… ,?5 57 0W   ""%X@EG!!+F"1?T" ; ^=%,2  "3 ,BAb“ ‹ ;; 2 ()"=[N ,+ Ÿ£f()8 %f 57" _\"!V=1 4 "I7 2,.% _+ !"FF+!!37]_ +!+ !WEG02,WP W %,WEGF ]57"   9["&_ "9+?  J"%'F6 ,+957+="2'16AJ+()!+…57+="2' @%, H  %)EG,¡=¢ 1 ‹  2,z". !e e5'""c%, H  V QE) e5' ( 57RPF ,8 C%''.()X% 5,C(D"M= "2,1¦A 5'; ( +?(D %'P% 5';o %O=O w" %, YV?F c, Š"%'  D’]=%,2,""I.%X8w,5,! V> % 5,&+O,Eg2 82,  .%.->/’B5 ^=I ]% 5' d*\ ,"!s1 4 F w"   W578EG()"%7,@P()%,VEa' ) ,> .!…5' (R7 ,  ; &Ea >!!+"%X Pn‰uIq ‰10‰kl:6,2,W&  I=Y["&_ dO 57" [ ^(D*\"9 @5, (  % 5,;o%'NFV D"57" [ ?5."2,!+@" ," 31BT57""VH."!!V=7P57"8@  ()5,"F"%' Eg()"="!!%€k htmonu8=F  dD7b _ "D+f.%D2 .% &"()"=W .&>)–=2 =VH.%z2  P57 ="2,"1)xZX2,>5,; 5'\8 6 %'_+ N" ()5'"]"%,N ]5'&_'+%'"],Ea2  2' 2,5 57F2  ) z !V$L€+, 2-& ()_ RH.!V "^ .& "d ,"f702 "%D?57 EG(  %,5,& ,;%''.()!!V€,  PH !8IY   '5,W:%," '5'

3 A D

G L P Y

X

` 3/c f3 3 3/A 3/D 3gG 3/L 3/P 3\X 3/Y 3/` Afc hA 3 AfA AfD

Ÿ£)@   ¡!,£# ¥$CŸ¢CB ¤£\Ÿ ¥¤\ =Ÿ¤E(8FB !'¥¤¥H ¥ (I¥=Ÿ ¤ž¢"#.J 2,  ;o;z7 !\%,%†€ %,%† 8¦7" ._DX ,Y %,5,;o%'c5' (R F, ž% 5' f2 !"]ss1  13nj7hmGrsmsj.ˆZk\n rsmojD5 V’BP7  %,%,%NI @ %,5,& P*   "!s= , "=N .  ,? @ %,5'; O!  )EG? >57" 1 4 )8*zFV X ,D % 5,&;  R*   "!.%'+""^ .&b Y%,V‡S  b% 5,R" ,"  () =]+_ ::Rf%,V‡S "=>% 5' X(D  8I %z2,!+ .  F , W  0$ )" ()57 "=^&I !Vf"2 5 !%fEG@  _\ f     31 4 ,@  %'%N7w,  .%'+"F F"!"()"=9 .   …%' H.,%>%,2,,0%'"_\"! 5,()"=„()  2'6(D"]7[!\%,% F2,d()]%, 57".%'+,:P ]  ,@d ,02 !]  1 4 f w'5 !I  :+%,"S[> w".%'%zD, ';$% 5,_\>" '; EG8" ",e5,5 ! MFV M2,5 57)EGf" 2,R"()(:2, ;  1 4 ?  !Fs ,;Z %,5,_\’b5 5 !&+€!!+FI)2 8 I# X %z!_\:f  ,Ea "," P 2,5€.%Rd .%R w2.! ,Ea(DOy  > ! f2  >O )()D 2 51 4  5,5 !z[@ 2 !Vb2  D(?2 !Vb=*\ >so1  17 , _  "!++¤'£\Ÿ ¥¤\ =Ÿ  ¤’]d"()(:2, >&_\ W ,:, $ *71

FV ~(?2 !VY=*\ Y=L y .z=  RFV CH.!V   .,"1  " ; f=%,2  D ,)H.!V N . I .:d%,8; 5  "%IIŽv 2' F35,_…% &F() (:7 SE' 9" "!+"   ¡  =£¡=¤ž %   ¡"!,£"#\¥$GF ,8 X"!+"Y2,%ž   ¡’81BAbEa8 ["&_ > ^57" ^=> ,@ W"%'  #   E"!+   ¡  =£¡\¤RG"57" _\ !   ¡"!'£#\¥$’…F!!7" = e   ,2,z!!% '£"¤"  '¥=£&¡M f z  !I%,8;  , >E[ ,"N")"!+"> "_  ](D+,%X,"%'+,,1DA@% %';   !!V=[7 c"R"!+ y   ¡"!,£"#\¥$c.%   ¡  =£¡=¤’ c w" %,%žFV ~ e57  †H ¤ '£"¤"  '¥=£&¡b@2JQs   FIWH.2,&’  .&382, 3[ EG8" "9[  6£"¤"  ''¥=£&¡ ,2,""1 4 ? %'_+ :yŽv+2,d08w, "2,% S T58>)9)w " X_\=&;  ) .&[(D&8 ,"… , Ÿ£?57 ="2'1 4 ^%,_"@()"   .&9 :_\=& NE* Ÿ=£] :@(:2,!V+"9=*\ … #"8 P 0"]"%']@ ‡S  _\"!VD"5 !+ %dFV P 0!+,"







 





Ÿ&¢ H ¤ '£¤"  ''¥=£&¡7  (R1PŽ,>"!+V$=„[D2 D57" "92   '£¤"  ''¥=£&¡   ¡=¤  """ S>[_\Wd+'Ea2  2'W2 5'; 57DEaP%''.()+R % 5,&+ fEGP%,V‡S  D      "b2  I" 2,V$€ %O‘0=T71„xZX ,N  wI"8+3v D%,"8+7) ,  %,5'; ,BH  2,’„+=  9%,V"8!IFV ,¤'£ Ÿ ¥¤  =Ÿ ¤ '#$" "… f %,5';?TV 58q 5*9Fq\VTV9)=7:9?U k4)4C[O7:="S.; 7O5*9

!

"

  m F9?S

 

7:="S.[:[

wFS.4); Vw



2.4 Phase II: Achieving Dynamic Adaptation

3 A

4C>

D G

[:7:=‡S8N 4bV=";

L Y

"¡=¢" £"¤"  ' ' ¥=£&¡  ¢"ba:(*6aŸCa ¡?aŸ  ¡ba   ¡  =£¡=¤ba\'£¤"  ''¥=£¡ ¡"?d # '£¥¤ =Ÿ" £"¤"  ''¥=£&¡  ¢"ba:(*6aŸCa ¡?aŸ  ¡ba   ¡"!,£#\¥$ba\£"¤"  ''¥£&¡ ¡"?d

X



` 3gc \3 3 3gA 3gD 3WG 3gL 3gP 3/X 3gY 3g` A\c A 3 A\A A\D

¤= 



# '£¥¤ P

£"¤"  ''¥=£&¡   ¡=¤ = "" 

   '£"¤ =Ÿ''¥\£&¡~ ]"Ÿ&¤†¤"''¥¤L¤ ¥#    ¢¥#=¤=¥¤'£  ¡"'¥¡'¥H"  

 Ÿ£E#' =£&¡=¤Ÿ=¤ aaa

 ¥## 

¢"£&¡,£¤'£ ¡

=£¢ ¢

  žŸ  E#  H ¥ (_ Ÿ£ž #\¡

-

S T58>)9)w @

  &¡"!,£#\¥$~Ÿ¢CB ¤'£\Ÿ ¥&¤\ =Ÿ ¤ (8FB !'¥¤=¥H ¥ (I'¥=Ÿ¤ ¢#8J K\ =Ÿ£?@Ÿ¢CBn(*FBf¢"#8J LŸ&¢ba\H ¤ '£"¤  ''¥=£¡b@2JFTV?lv[:7:wFV w

nN 4bV="; !

557 ; & RE9  W % 5,&+R(D   , 2,[[] .!!„" ""=& ) F2  2'b.%N57 dE„]" "8,;8 ,"8*?"  %,V ,F.%)57 Ea(   ,"19 "N 057*)E 5,)y Y% 5,L*\ ,"!s  Y()c d+_\="  E… "¥'¥¤P57 X€D _\"y% 5' y(D  1 4  "=¥'¥¤f57  Yb()5 !"()"=%D2  ? NrZu8l0q.pkrZu lDu8r  hfq'krsrZu8‰j 6F ,+ O() IV>+>R"  8)()  %z . _\ *\ ?     œ  578 ,"…F ,8 c&d%' H.,%€c%,8; _\%f"!+">” •o1BA@[ @H. 2'W!!+2,"".?" "8,;h=u8tu p8q.l)u8j r[rsmalDu8'[I%, _\"! 57%dY57" > '£"¤"   ''¥\£&¡   ¡\¤  " ’R .P Ea()YJ5,(  .&Y8; 8WF X=8*  ]f ,: .&]=  WFV yH.!V ] .+,"  8"=W"  ! ^ ,…,  IEH.!V EG6""2'B, $ *0';    31 4 ,^57"8^%,8H. V )  =   %,5,& D,Ea; 2 82,["%' \2,8 ?6H !89+,  N()8 %,"  %>(D">!+ "P5,b=: ,] %,5,& R*\8 "!7EG £"¤"  ''¥=£& ¡ 

1 A[znl0q msp+uPrsmGlDu8[ P[&_\d D57"8P%' H ;   ¡\¤  "  V c=R D"d5' ( R'"!+%cc %,5'; ,"  \¡,Ÿ $"#=¤'£ ¡  DF  RI()"W .^7"" "" +_ %~Q%' z %,8 () OVEf= E) ,e" 8,5' ,; .%†2,!+ d &_ R7""M&H.%S1~x?TV

l nw?S.4?; S.;7 5*9

&S89FS.U8VTkN ; T>)="; >?TV Dynamically Adaptive Process

Core Program

cd.getFilterChain().receive(..) DESDecoder

cd.getFilterChain().receive(..)

Filter R1

cc.getFilterChain().send(..)

cc.getFilterChain().send(..)

FilterChainController cd.getFilterChain().receive(..) cc.getFilterChain().send(..)

SenderFilterChain

...

... ... ...

DESEncoder

...

...

Filter S1

Development Time

FTV

3.

Compile Time



=M)7OV F7:9?U

RELATED WORK

 

m ?9?S

Ž,Y"!+&Zž %ž%,"2 ~5 2'57 ""@[X ._\z+%,"=VH.%  '"f,\%O  "NEaN % 5,&+3B!!^" 8%e2 .%  ,b%,V‡S "=…$'57"…E"!+ , 5 B7 $ "") F+ !75'; (K %f ,] %,5,&  "1 4 ,]H W""=. ()"% rF 8 ” •?EG!!€=† , ,r>,!+])2,?57" bN" "5 2,!+?!!„"%'  !g&%Oz "_ zc % 5,&+3….%€ N2,,;o()N",; H  2' !? %,5,& y*\   !v02 "%YD(D.> ,>%''.()+ % 5, "1











4.

CONCLUSIONS

4 ,^57  ;5 5,  31DŽ,2,2,>[*zF!!B! 8w,5,!]%'"_\"! 5, >()FH. 8;Z "%DEa(D!75' 57 ZD57""V; H  bE9%, ()W% 5,31BŽv.!!V='[] ._\W%,"2 "%  !Vf %,5' f"!+%D?" 2,V$=,2,  ,05' 57 "%d()  '; %'?"e7D2 %yY2 5 57>"!VEa;< !+,y.%e% 5,e+   b ;

Suggest Documents