• 検索結果がありません。

自動車制御ソフトウェアにおけるアーキテクチャの構築

N/A
N/A
Protected

Academic year: 2021

シェア "自動車制御ソフトウェアにおけるアーキテクチャの構築"

Copied!
4
0
0

読み込み中.... (全文を見る)

全文

(1). 

(2)    !" #%$'&)( 687:9:; <>*,=4 +.?A-)@ / 02143)5 XvVv±Z²:³‹¤W´†µZ{w–vè  h¡|½:¾3254 ô,õ »Z¼2k mb¡ 1 B>C:DFE GIH8J:K:LNMPO,QSRUTWV:XZYZ[]\_^U`baPc8dWebfhgjilk 68a 7:nqƒ9<;8=?>?@BACDFEHGHI M_O2Q]R_T:VPtvuw^Wx:ybzwe|{w}_~A gZmofAnqpZ‚ rhn„sbƒ x:r yoz„eo\† wXq‡:ˆv‰_Š8e‹uh^lMPO,QSRWTWn€ V ˜KS H8JlÂvX  ÃZn„Äv5ƒ ÅvThÆ 5m ˆZUhdžm uWX ^ Ã:¾ ÄWfZÅjabÆ ŽMˆ8LšÇ|ÕO{œNoÀ:±ZÁ Ôo‘:{<’ Püj ”RQ “ Œ:‹ŽqjA nq‘W’)“ \,”•^NMPO2Q]R_T8VWX„–8—|{q˜8™  œ¡ ü:ýv nqƒ8Ã8ÄWÅAÆ ˆ:Çouh^ V8ˆ Ã8Ä,R“ W e Ã:Ä f ŽP MPO2Q]R_TWVqŒ:šŽqjA {œ›8v Ÿ “Wnq œƒ¡ ^‹VP¢W£b¤2Q¥6o¦ ž Ÿ fPn§2‘8¨U’ k mj¡ a nqnœƒ ž ‚NŽw^ ”•[‹^‹XÐPÃ8¢:Ä8³HÅ:XOYjÆ HKˆ8ÇZZŽBV:ˆ LZÃ:\Õ ÄNA±:ŽW\ÔAn„{ ]&ƒ V8^qíˆ Ã8nbÄ _“ WX8eZ ©U¤¯ª Q°t_6†^W¦|«:M8¬8O)­8Qq®ZR8tvTAuwVA^ VApZ±Arw²8so³šr ¤_MP´†O,µUQS¢†RU¶_TW·8V8¸ X:VU¢W£ ^ Ã8堀 {]üjŽWÁ\ n„ƒ^U5öW e`3V8Ã8ˆÄ)ôl“ \ õ ŽZnbûv“ ^ Ã8Ä8Å:À8ÆÁ‹ˆ8Ž„HjǚÂAu T X„H {]»8¼  œ¡o½h¾wƒ tAuw^]VP¢W¹Z£bº ¤ ÄWÅ:Æ ˆ8Ç|  {]ü:ýv n éjÃ8ÄêoŽ_úja ¡n„ƒ^ ¹jº bX aZdÒ co±bnÃ Ò Q¿6|¦šM8O)QqRWTAVjVA±A²8³‹¤_´šµ ^ { À8Á‹Ž„H:ÂA nqÃ8Ä8Å:Æ ˆ8NjXqÈjÉ “W ¹Z¡hº ÊjË  nqƒ À 3f eHf|k gmj¡aAa Ò cbnqƒ±bÒ ÁoŽwH8Âv nqÃ8Ä8Å:Æ ˆ8Njuw^8À8Á ‘8’ ^ Ã8ÄWÅAÆ ^‹V g À8Á ‘W’ aAÒdcb±bÒ Ì†ÍÏÎ ±:Ð|ÑhÒPÓWÔbÕh¤UX:VP¢W£b¤,QÖtP–8×|k monqƒ cb±bÒ hHi Ã8aAÄ8Ò Å: tAuh^Uxjybzwe‹ŽAØh n‘8’ {WVP¢8£b¤)Q “ ÆÎ ±:aAІdÒ cbÑh±bÒPÓWÒ ÔbÕh¤ avdÒ cb±bÒ  e‹œ¡:ŽjÙØhÔjÚU±w¸8ÛAuw^8 ÞAnÜjßApZà:r\ {]»jÝ  œ¡ a8MP\:O2a Q]ƒ R_x:T:ybVŒz V | Ì Ï Í À8ÁoŽwH8Âv nqÃ8Ä:Å:Æ ˆ8ÇoŽUú:a ¡ ^8À8Á ‘:’ <u jk oŽq: n ‘W¡†’  há [ ƒ ‘8’,“8 œ¡ Žw^Wx:ybzwešŽ:ØP n„‘W’ lt_^m Ã:\óÄW _ÅjX Æ Ì5ˆ8n NjÕóŽ:Q]Ø_O: oUnq±p‘WXo’)ŽF“ qb›8r   _ w¾_¾w‘Aƒ ’ ›W“ \  wn¾„ÃX «:¬:­oXš¨àjuw^ {8VU¢j£‹¤¯Q ÔvÚ8±_¸:ÛZ {q»AÝ ^ â:ãWäv‰_e‹ŽPåA“:a  q¡ ¡j}hÙ æb nvçA“ tj‚ n„n„Ü:ƒ p‹x:r yoz„e†Ž:  Ø ÄWØhÅ: Æ nqˆ8‘W’ÇZtAfPÞvuh^ßAÃ8àAÄ:Ž:Å:vØ ÆuvŽ:ØPn„ƒW Ã8nqÄ8‘WÅ:’)Æ “ H^Ž:sØ_\n t nq‘Waj’ Ž  nq‘W’ {UVP¢8£b¤,Q “: œ¡:Ù ÔjÚU±w¸8Û   ^oVW±A²P³ “ F^ s Bn t aZŽAØU n„‘j’ Xhbö wAã:eN{q`‹ð n ¨„à:tW^ ¤w´bµ–WèšXqé:êvthë8싎qíF”Öî)[ çA“ {]äv‰vŽP nqƒ Ã8ÄWÅjÆ ŽjØh n‘:’,“ ^Fs nvt ajŽjØh n‘:’ {›W «:¬8­ouw^ ¹jº XZYv[Žqïbð nqƒ  „¾wƒ Žqñvò ^óGIH:J:K:LóMPO,QSRUT:VWX VP¢W£b¤2Q X:\Ø u|<{ x vŽ yv ƒ V8±:²P³Z¤w´bµUBX jk X„–Wè ½ Ž8uw^W«:¬8­8®ZtP»8¼ók mA¡ a n VP¢8£b¤,Q¥6š¦oM_O2Q –:è  h¾ U ^ v x ‹ y P z † e Z Ž _ Ø  { w n : ‘ ’ VW¢v£†¤¯Q “A „¡Zô2Ù õ ÔvÚA±U¸jÛ   ^ XPö R_TWV8VW±:²P³b¤w´bµUFX z<{H|8ý {ãva ¾hƒ –Wè }~€ ‚dƒ„d ö:–Wè  „¾ { ©_÷ Û  œ¡ ^ { »8¼ ‡ˆ8‰‹Š\ŒHސR‘d’O“_” X„â:ãUäv‰Pe‹Ž_åja ¡ }hæ «:¬:­vtvuw^ ŽqxAybzwe‹ŽjØh {8VP¢ †† † •—–™˜›šœ £š¤FQ “j h¡vÙ ÔbÚj±_¸vÛo nPÜvp‹r {„»vnÝ ‘8’ _¾Uƒ †† † •—–™˜›šœŸž¡ ™¢ £ {qãZa nZçZ“ t8^oV8±A²_³o¤P´oµw–8èšXwéAê t_^Wx:ybzwe‹ŽjØh nq‘W’ {UV_¢W£o¤2Q “W œ¡ íF”•î)[ À8Á ‘8’ u Ã8Ä8Å:Æ)“ ^ Ã8ÄW¤BÅj¥d¦Æ §Fu:¨KV ©‹Ì†¤BÍ ª¬Î « ±AІÑPÒPÓ çA“ fhäv‰ “ \ nqƒ øšùWu_úšûhŽ‹GÏHWJjK8L2MPO2Q]R_T8VWXjVP¢8£b¤2Q¿6o¦ ?mÔbUhÕhm¤ \ؓ u^‹V  ‚|̆[Í ƒÎ ­±AІVP¢8ÑP£bÒPÓ8¤,ÔbQ <ŽÕPj¤UkZuwÀ8 Á n„‘W‘W’,’ {q“ ^^ ¹T ü8ýA^Uþ8«šu_úšûhŽjVW±A²P³Z¤h´bµWXqöj–WèA^8ÿ šu_ú º Žvyv ƒ ûhŽ Xq»8¼|{   „¾wƒ À8Á ‘W’ VP¢W£b¤2Q Ã8ÄWÅ:Æ ˆ8VPdž¢W£b{œÀ8¤2ÁoQ Ž„H8Â|\k ® nq‘W’ 2  

(3)  !"#

(4) Ã8ÄWÅ:Æ ˆ8ÇoX X Ž:Øh $%uw&^ pZ ')r (MP*%O),QS+% Ã8V ÄW̆Å:ÍÏÆÎ ±:ІÑhÃ8ÒPÄ ÓWÔbÅ:ÕhÆ ¤WVP¢W£on¤2‘WQ ’ RUTW-V8/X:.,V80 ±:1 ²_³Z¤P´bµ h r b s {^8À8ÁoŽwH8Âv nÃ:ÄWÅAÆ ˆ:ÇoX„È:É “W œ¡PÊ:Ë, œ¡ Ã8Ä X ÅjÆ ZAvX s \n t ajŽ:Øh nq‘W’ a n„ƒ uw^U«:¬:­W®ot pbrwsor MPO,QSRWTWV 2002MT071. 2002MT073. 2002MT096. [1]. (. E-AOSAS). E-AOSAS (. AOSA). •. –. •. E-AOSAS. – –. E-AOSAS. • E-AOSAS AOSA • AOSA. 1. [3]. AOSA. <<hook>>. AOSA. •. E-AOSAS+. <<hook>>. • E-AOSAS+. E-AOSAS. <<hook>>. E-. 1 E-AOSAS. AOSAS+. E-AOSAS+. • •. E-AOSAS. •. E-AOSAS. <<hook>>.

(5) 3. Ž_ñš ò

(6) ½ ^:Àv Ál)ŽUHb' ‹(  *%n_,Ãv+/ÄvÅo-,Æ ˆZÇl X. ÈAÉ “j q¡ ^óG H:JAKjL2MWO)QRWT:VjX {q–jè  nqƒ 9<>?@"!$#&%('*)+-,/.10!324 x:yoz„e “ uh ^oÐP¢:³HXZŽ„ybzWf65/7  w¾ khajŽP^Uì/8 \_HjÂN{ 9;:-<&^ n Šjeotv‚ nwƒ «v¬j­btbuhyšz “ u_^ =

(7) > ¾ &· ?|Ò|QÏ{ ]:^qí nAçA“8“I/Ë @  nqƒ x:yoz„el{ 9/Av n /ª B uw^ CbE± D]R_T81V FW1t 9/AZ n /ª RUB T8V&“ ^NF8tUMPxjO2yoQ]zwR_e†T81V ŽjF:ØP6t  9/nqAv‘: ’ n {œ/ª üjB ýbfj ‚ nnqž ƒ MPO2“ Q B  œ¡ ^ ¹jº X ž B fj‚ nqƒ ±:ԆÑPÒ Ì Ó/H n"I Ò6HJ ‡K/L/M ¤ JRQ/<We K/L/M OÍ NG G Í P ÓZÕh NU¸‹Ow´bTZÕh²Z6Ò H Ì / Ó H n"I 6Ò HJ ˆA‰ S e 1‰ K/L/M FOj‹X ž uw^8yb-z 5/7?ZZŽ:Ð_¢8³ XAŽUú‹3Y T_6 UVZf W \ nwƒ B"‡ KLMštv‚ n G ±vÔNÑ_Ò Ì Ó H nXI YÒ H uw/^ Z/[Y\]"^UX„yoz:3X 5Y7‹-Ž _  ¡ ^8ˆA‰v-X ` Z b Xdc m {e7gf nAçv“ \(hÖxjybzwe|{9Avt ½UnwƒYº Q/a < e K/L/Mbtj‚ n OÍ N G Í P ÓbÕh¤Wuw^Wyo-z 5Y75ZAŽhˆA‰ dX ` º 6{ ikjIfU^WˆA‰‹{ l;mw nU¾ ðjFX Z b dX c m 3f 7 f nqƒ ˆA ‰ S ev1‰ KYL/MZtj‚ n N_¸‹O„´bTZÕw²Z6Ò H Ì /Ó H n"I 6Ò HWuw^Wyo-z 57?ZAFŽ Z b X c m uW\8a:f_^ © n‹X„ˆA‰vX-oYp a ^Uev‰vXd` º f37(f nqƒ «:¬:­vtvuw^ CbE± D]R_T:VPfPyozv{ Y çA „d¾ q ÉA^lMPO QSRUTW&V FWthxjybzwe|{ 9/Av {œíFr” Fs ü ý  „¾ GIHWJ:K8LóMPO2QSR_T8VPtAn /ªuw^B G ±:ԆÑhnqÒ ƒÌ Ó H nI &Ò H “ Í N G dÍ P ÓoÕU¤A{qëvã  P¾Pƒ « tbtZu_^ G HAJAKjL,MWO¯QœR:T:VjŽ ±AÔlÑWÒ Ì Ó H nI Ò H:{œü8ý  „¾ q ÉoXh^oVW±A²P³bG ¤w´oµUXw–W—‹Ž_åja ¡ k u nqƒ '|{6}~ ! !€ «:¬:­vvtvw&uwx"^óy6GÏz HWJ:K:LNMUx O2Q]R_T8VW-X  “W ¡ ¸‹8± X ³ Xo{ ” ‚ s ;J ^UX n · Q XwK8Ll{œÁ n ·FQ Ð_¢8H [I¸b8± X n · Q Ðh¢8“ H³ Xjuwƒ^ n„‚ƒ „1 "†jŽ_¢:·‹Õ]´ “ D V„^ ‡-„& $†AŽ n · Q {jû„å ƒ ŽqñZòja ¡ –:è   <{ x BŽ yv ƒ ¾ ¸b8± X n · Q ÐP¢8H³ XAX –:è  P¾ ¸š± X n · Q ÐU¢jb³ XZX uPY^ ‚„j^ ‡ „‹‰{ ˆ ’  n c P Ð_¢8p³ X “ ^lMPO,QSRUTWVŒj†{ ˆ ’  n c P ÐP¢8³X8t_–8×  „¾hƒ ­ c P Ð_¢8³HXo{œÀjÁoŽ H8Âv nqÃ8ÄWÅjÆ ˆ:Ç “: œ¡ ü8ý   H^ c P ÐP¢:H³ X b X \Ø ul{UV_¢W£o¤2Q jk†BŽ jHkv ‚„W^ ‡-„‹{ ˆ  n c P ÐW¢jp³ Xbb uP/^ Cš± DœR8T:nqVjƒ X ÃjÄ { ˆ ’  nh’ ƒ MPO,QSRUTWVŒj†{‰ˆ ’  n c P ÐP¢8³XAuh^Y‚„†{ˆ ’ X  n c { ˆ P ÐP¢:H³ XvX ÃjÄ {Aû “ Žw^lM_O2QSRUTWV„Œ: Ã8Ä ’ nqƒ '|{6}~ !324 –:è  P¾ XŠ1‹3{vŒû r“ Ž&Ž_v^Uw&xAx"y‹y6zPz eN{_}_~  Px ¾ ¸‹H± X ³ Xo{]ü:ýv nqƒ ÐP¢8³ XAŽ„x:ybzwe‹ŽAØh n ·FQ Ð_¢8H n‘W’ { ü8ýv n /ª B “U œ¡ ^ ¹jº X /ª B fW}  õ mbnqƒ. E-AOSAS. ’‘. “•”—–•˜. DoorSystem. <<hook>>. Door. <<hook>>. [4]. • N • • N. N. N. N. N. 3.2. <<hook>>. DoorSTM. ž Ÿ—¡£¢¥¤§¦©¨’ª§«­¬œ®­¯ <<interface>> DoorAction. <<interface>> DoorState. AOSA. 3.1. ™—šœ›—. µ ±·¶§¸. •“ ”—–•˜ ™•š•›— ž§Ÿ©¡£¢¥¤§¦—¨´ª­«§¬œ®­¯ ž Ÿ—¡£¢¥¤§¦©¨’ª§«­¬œ®­¯ ™—šœ›— RLSystem. <<hook>>. SwitchSystem. <<hook>>. RLSystemSTM. <<hook>>. <<interface>> RLSystemState. “•”—–•˜. <<interface>> RLSystemAction. LightSystem. °œ±³². <<hook>>. RoomLightSystem. <<hook>>. Light. <<hook>>. LightSTM. <<hook>>. <<hook>>. <<interface>> LightAction. <<interface>> LightState. ¹º¹¹ ž§»­¼•£ ¯©½. º¹ ¹¹ ž­»§¼œ¯©½£Ä’Å§Æ ¹º¹¹ ¾•¤À¿ÂÁ§Ã­ž ¹º¹¹ ¯§Ç´» È1ÉOÊ1ËOÌ:©ÎÍ ¦ωÊO¤ Ã8ÄWÅ:Æ ˆ8ˆ8ÇoÇoŽUŽU·&·&†?†? Ò|Ò|QÏQÏ{{PP n‘8’ X3ÐZ† ŽÑ/ҏ • Ã8ÄWÅ:Æ n‘8’,“ ½OÓ n • ·&?†ÒlQÏ{P nq‘W’ X3bÐ ŽÑ/Ò  œ¡ ü8ýZ nq Éj^Ux:y z„e‹ŽjØh n‘8’ X-Ñ/|Ò {d_Ð » “W w¾ –W—btšMUO2Q]R_T Vj{]ü:ýv n€ gZfv‚ n„ƒ ©Uª t_^Z·&†? ÒlQÏ{\P nq‘W’ “ † ½eÓ  ¡ ü:ýv nq É:^FPjc/oÔ XW·&|? Ò|QS{&ÕdAQ  n?†–WÒ|— Q {“WP  ¡ ^Wx:ybzh† e‹ŽjØh n‘8’t_^W{Ñ/x:oÒybtzhe‹½UŽjn„ƒØh· n‘8’,“ ½eÓ nvçA“ nx:„yb‘j’zwe‹{-Žj8Ð Øh»  “j  \jaU{q–:^o—‹ÐPt_¢:üj³Hý‹X8t f ½:nwƒ «A¬Aˆ8­bNjtbŽUuP· ^ n‘:’ Ã8Ä8Å:Æ ?†Ò|QÏ{P n‘8’,“ † ½OÓ  ¡ ü8ýv n„ƒ ü8ý  w¾ ¸o±8X n · Q Ð_¢8³HX:tAuh^/bC ±SD RWTWV8X:V ̆ÍÏÎ ±:Ð|ÑhÒ_ÓWԋÕh¤hfZÐP¢:³HXvŽd‚š„ {œÁ¯[Öjn ›oŽ ±:ԆÑhÒ Ì Ó/H n"I Ò6:H {]ëjã ±:ԆÑhÒ NG Ì Ó/H n"I Ò6jH {d× P Ô:T:¤2Q 6o¦wü8 „ýv¾wƒ Nn GaW±ED X„– <<hook>>. <<hook>>. 2. AOSA. —|{|8ý  „¾ ¤ n ¢ zZ{<x ŽByv ƒ 3. N_VersionMachine -instance:N_VersionMachine +getInstance(): N_VersionMachine +put(Event):Event. AOSA. E-AOSAS AOSA 2. AOSA. 3.3. AOSA. <<interface>> Version. SelectionAlgorithmMachine -instance:SelectionAlgorithmMachine -ht:HashTable. £. Version1. Version2. Version3. +put(Event):void. +put(Event):void. +put(Event):void. +getInstance():SelectionAlgorithmMachine +regist(Event):void +getEventt():DoorEvent -researchMaxCountEvent():DoorEvent. ØYÉdÙ/ÚrÛOÜÝމË6߉ÛOށ¤O¨‰Ë ¦ £ ¤ n ¢ZuU^ Version × P ÔATv¤)Q “ N VersionMachine × P ÔZTb¤ Q{6ˆ ’  nUƒ SelectionAlgorismMachine ¤ Z ¢ P u Y ^  ‚ „ † k n b m ¾ ·|? Òl¤ Q n XP¢A×uw†à ^ {h´‹TbÕ Version ¤w nqƒ SelectionAlgorismMachine × P Ô8T8¤2Q XY‡-„  „¾ ·&†? ҆QÏ{‰á&â   ^ƒãY|ä Version {Ovå  ƒ 9< >?@"!-æç 3.4  ü8ý  w¾ ¸o±8X n · Q Ð_¢8³HXvŽ_úja ¡ ^Ux:y‹z„ešŽ:Ø 3 N.  n‘W’ fPÞAßvà:ŽBr8  œ¡ a nAçA“ {\eHf  „¾wƒ !ëì x:ybzw e‹ŽjèØhéeê" wn‘:é ’ uh^/Cb±DSR_T8VPf Ã8Ä:Å:Æ ˆ8Ç ŽU&· ?|Ò|Q { P ÞAßAàjŽ:Øvu a x:ybz e‹Ž:ØP nq‘W’ uwn‘:^b’,·&?†“ ÒlQÏ{P n‘8’, ¡ “ † nq½Ӄ  ¡ ü ÁA n„ƒ ü:ý  „¾ ¸b± X n · QIÐP¢:H³ XvŽ_úAa ¡ ^Wx:y z„e‹ŽjØh n‘8’ fW^W˜ Jš6X × P Ô:T:¤2Q Ž„ÞZß  ¡ a.

(8) n {<x Žvyv ƒ. –:è  h¾ ¸š±FX n · Q ÐU¢j³bXZX tbuP^/Cš±D R_TWV_fvÐ_¢8³XAŽ3‚„‹{Á,[ n:›‹Žqx:yoz„e|VP¢8£b¤ QÏ{]í ” ‚ a ‚‡3„bÐ_¢8³HX M_O2QœR_T8VŒ N3{ ˆ ’  mjn ¡ Ð8¢vnwK³ ƒ XZtW–Z×2k m†n G]“ HAJZKZL,M:O Q R_TWVWX:VW±:²P³Z¤w´bµWuw^ x XZYv[Žqx:ybz„ešVP¢ b £ ¤2QÏ{]ëjãAt ½Unqƒ   4 E-AOSAS+ Z_L`  £  xoylzWeóVj¢Z£l¤ Qq{hí ” ‚ m|¾ “Z P¡ ^   

(9) Bª ¤  œ { : » b ¼  8 – è o ¸ HX n ·FQIÐU¢:³ ± „ n ƒ w   ¾ 9<>?@"!æç x:yoz„ešŽ:Øh n‘8’ {„^oÐP¢:³HX:f Ã:ÄWÅ:Æ ˆ8ǚŽU· XZ¤,X Q “8 q¡jÙ Ž8ÔjúAÚ8a ±h¡ ¸8^UÛ xA yš¡ zha e|n„ŽAƒ ØP n„‘:’ uAVWXA¢:V_£¢ ?†ÒlQÏ{P nq‘W’ ôNõ ^šVP¢W£o¤2Q “W ¡ ›8v nqƒ V £b¤2Q X:\Ø u|O{ x vŽ yv ƒ × P Ì|Í Î ±jÐlÑPÒ_Ó8ÔoÕ_¤ ^ Ô:T:¤2Q ŽU·&?|Ò|Q {P nôN‘8õ ’ uh^oVP¢8£b¤2Q b jk‹Ž gihijek acbedcf ÓH  Û  „¾wƒ VP¢8£b¤2Q b jHk “ ^ G ±:ÔlÑhÒ Ì  zc{}|v~ n"I Ò6HUŽjØh n‘W’ X:ÐW± Πҁ¢pzZ{<x Žvyv ƒ AOSA. 4. DoorButton. SwitchButton. open(). on(). void open() { DoorEvent ev;. void on() { SwitchEvent ev;. 6. ev = new DoorEvent(DoorEvent.OPEN);. ev = new SwitchEvent(SwitchEvent.ON);. N_VersionMachine nvm; nvm = N_VersionMachine.getInstance(); nvm.put(ev);. N_VersionMachine nvm; nvm = N_VersionMachine.getInstance(); nvm.put(ev);. }. }. E-AOSAS. 4. E-AOSAS+ AOSA. E-AOSAS+. 7. N VersionMachine. <<hook>>. N. <<hook>>. 5. £. // pointcut atDoorButton_to_NVersionMachine(): call(void DoorSTM.put()) && within(DoorButton); pointcut atNVersionMachine_to_DoorSTM(): call(void DoorSTM.put()) && within(DoorButton); // void around():atDoorButton_to_NVersionMacine(){ N_VersionMachine nvm = N_VersionMachine.getInstance(); nvm.put(DoorButton.getInstance().getEvent()); } after():atNVersionMacine_to_DoorSTM(){ N_VersionMachine nvm = N_VersionMachine.getInstance(); DoorSTM stm = DoorSTM.getInstance(); stm.put(nvm.getEvent()); }.  &'&(& !#"%$. }. :7;=<?>=@=A. DoorButton. N_Version Machine. Version1. Version2. Door Selection Algorithm Machine. put(ev). put_open(). stm: DoorSTM. put_open(). x:ybzwešV_¢W£o¤2QIuw^ g g¤vav¥dÒd¦\cb§8±o¨5ҁ©‹¤vtAª¬‚ « n À8Á ‘W’ Ž VP¢W£b¤2Q ú2”•^U»:¼v ú:a ¡ hHi ôNaAÒ#õ cb€ ±‹ œÒ ¡ “ †Uò?^ n„ƒ x:n yoz„e|VP¢8£b¤ Q uw^‹V Ì†Í Î ±jІÑ_ÒPÓ8ÔbÕP¤WVP¢8£b¤,Q ôóõ Ã:ÄWÅ Æ Ð†V:Ñh¢AÒ_OZ£|ÕP¤¯¤jQSvk Žj® · ?óÒ,x:Q]yo<{ z„P e†n VPL‹¢WOÕ £oNo¤2±ZQ ÔAfhŽüA×AÁ|£ƒk ‚„± nwƒ mon ‘W’ X „ m <{ x vŽ yv ƒ. start(). put_open(). <<Aspect>>. wait(). regist(ev). getEvent(). 7 E-AOSAS+. 2†ˆ‡=‰8Š2‹5ŒU8Ž82'‘ ’,“2”U•  2¡'¢2£. regist(ev). put(ev). <<Aspect>>. <<hook>>. <<hook>>put(ev). trans(). {call(void {call(voidDoorSTM.put()) DoorSTM.put())&& &&within(DoorButton)} within(DoorButton)} {advicetype {advicetype==after} around}. ¤8¥ §¦ ¢,£. <<hook>>. Ø&ÉÙÚ ÛeÜd݉ÞË6ßÛeÞB

(10) Bª% C#D !€ ,1}FEHG' 3.5  –Wè  „¾ AOSA Žqx:yvz„ešŠJILVh¢WKNMP£bO¤2Ž QI{]AOSA íF” ‚ m ^ ¸b± X n · QIÐP¢8³XAXjVW±A²P³b¤w´oµ:{]öj–WèZ nwƒ x:y z„e†VP¢8£b¤2Q {]í ” ‚ m ö:–8è  w¾ V8±:²_³Z¤w´‹µ:{ x. 6. Žvyv ƒ. ’‘. “•”—–•˜. DoorSystem. <<hook>>. Door. <<hook>>. Q,R,SUT. <<hook>>. <<interface>> Version. <<hook>>. SelectionAlgorithmMachine. <<hook>> <<hook>>. <<hook>>. £. <<hook>>. ž§Ÿ©¡£¢¥¤§¦©¨’ª­«§¬œ®­¯ <<interface>> DoorAction. SwitchSystem. “•”—–•˜ Light. <<hook>>. •“ ”•–—˜ ™•š•›— ž§Ÿ©¡£¢ ¤ ¦—¨´ª­«§¬œ®´¯ ž§Ÿ©¡£¢¥¤§¦©¨’ª­«§¬œ®­¯ ™•š•›— RoomLightSystem. RLSystem. <<hook>>. <<hook>>. RLSystemSTM. <<interface>> RLSystemState. <<hook>>. <<interface>> RLSystemAction. LightSystem. °œ± ². DoorSTM. <<interface>> DoorState. N_VersionMachine. µ ±·¶§¸. ™•š•›—. <<hook>>. LightSTM. <<hook>>. <<hook>>.  % ¥¦§¨5©WVXZY\[C] ^. È&ÉÊ. ËOÌ:©ÎÍ ¦ωÊO¤. AOSA. 8 E-AOSAS+. E-AOSAS+ E-AOSAS+ AOSA 5.1. <<hook>>. œ8. ¤d͉ÉB¨/ې¦ £. x:ybzwešV_¢W£o¤2QIuw^‹V Ì†Í Î ±:Ð|ÑhÒ_ÓWԋÕh¤8VP¢ £b¤2Q tPÁ)[I^ Ã8ÄWÅAÆ V_¢W£o¤2Q ^UX„–:×Wgª©oŽW·&? ÒNQ]\{ P /{ Õ-Qb xAy‹zPe|VW¢:£‹¤¯QIŽAuP^ V Ì†Í Î ±jnwІ‘:’ÑPÒPÓ:ÔbÕh¤8nhVPƒ ¢8£b¤,Q ^_Xw–8×:g© ôlõ X LZ\Õ NA±jÔj{ ]:^wí n kwajXh^Ux:yoz„ešŽ:Ø_ nq‘W’ p {jkZ x:yoz„e|VP¢8£b¤,Q ^UX„–:×Wgª©ouw^Wx:y z„e‹ŽjØhn„ƒ n‘8’ {qÁ > ¾ ãYäl{^ Ã8ÄWÅjÆ VU¢W£o¤2Q ^_X„–8×Wg ©oBŽ P nqƒ 5 ¬« »j¼  h¾ XhâvãWäb‰We†ŽUåZa }Uæb {qãZa ¡ ^[‹XšG H8JjK:L,M_O,¡ Q]RUT:V8nwŽ ƒ ¦^  {œ–Wè “ F^ [oXwâ:ã ­®‹ŽW¦ ^ ¾  nqƒ¾. <<interface>> LightAction. <<interface>> LightState. 6. £. š8›,œ8. <<Aspect>>. <<hook>>. {call(void {call(voidDoorSTM.put()) DoorSTM.put())&& &&within(DoorButton)} within(DoorButton)} {advicetype {advicetype==around} around}. 5 N. –(—,˜2™. <<Aspect>>. <<hook>>. ž2Ÿ. <<hook>>notify(). £. <<hook>>. 8. regist(ev) put(ev). <<hook>>. E-AOSAS+. Version3. open() <<hook>>put(ev). lim npoNqcrs!tvuew#x!y <<hook>>. )'*,+.-0/212- &'&(& 354768*'9. public aspect FaultToleranceAspect{. ¯€. AOSA. !±°\;H²P³µ´ #% '‰)+/,59H¶H· Ž. »Z¼  U¾ QœR8T:V:X. AOSA. !. {oû ŽW^[|XNGœHvJbKvL¯M:O {üjýo “ hn ƒ [|XšGSH:JAKAL2MWO)Q. E-AOSAS+ AOSA.

(11) RWT:VAX3 ^ {„ü ýZ n„ƒ GSH8“:Jš „X¡ P ‚±j²v{qK:Lb n uh^/‚„Y †jŽ„J5NšÒcb±w^WJ?NšÒcb±h^ P ‚œ±:²P£„¸š{ 6û :w^‡-„& $†AŽ P ‚]±A²„ S  $†b{jûqå x:ybz ešV_¢W£o¤2Q uw^U J ?N|dÒ cb±h^UJ  ?N†dÒ coƒ± ôóõ Ð ¢8³ X

(12) Z-X ‚„bŽqí ” ‚ mo¾wƒ ü8ý  „¾ X <{ x vŽ yv ƒ ABS(Anti-lockBrakeSystem) ABS. ABS. %&'(.  A$BCD. <<hook>>. HSensor. HSensorSTM. %&'(. <<hook>>. N_VersionMachine. <<interface>> Version. AntiLockBrakeSystem. SelectionAlgorithmMachine. ABSystem. <<hook>>. <<hook>>. SSensorSystem. BPedalSystem. <<hook>>. <<hook>>. -./10$2$34657896:. <<hook>>. # $%&'. <<hook>>. <<hook>>. %&'(.  $;<=>?@ £. Brake. <<hook>>.    . <<hook>>. ABSystemSTM. <<hook>>. BrakeSTM. <<hook>>. <<interface>> BrakeAction. <<interface>> BrakeState. <<hook>>. 9 ABS. ¤. E-AOSAS+ ABS AOSA. AOSA. ABS. E-AOSAS+ AOSA. O PRQS

(13) TVU !W X YFZ\[¶· ] 5.2 ¯ hKi j^VkV_ l ` E m nIh op e abdcVe E-AOSAS+ fg MAOSA TU jkVl E m nIkVudM crv ixwyz { AOSA frq sRt |}~K€‚„ƒ† ‡ kVˆ {ЉK‹ Œ fŽ‘x’“ TU ˆ {I‰ ‹Œ ”MV•–i

(14) w yz {IkˆF{—R˜ fr™š›t T ‰†‹Œ Q œFTU ˆ {I‰K‹Œ •–ižŸ›h† \¡F¢„ir£ ¤R¥ ¦€F§ ¢„i ‡›¢Œ ¨‚©r‰ª–«\ª fg

(15) ¬ iI­–Ÿ›h

(16) ‹I®Kª ¯ª–i›°\±–‹ ² ©„¤KiI‡›¢³Œ¨ ´Š¢†µ ª U · ¸\¹ Gº‡†‹ »I¥d •–iR \¡F¢FMV‡\¢³Œ ¨‚©r‰ ª–f«g¶ª†¼N½‰†‹Œ ¾›k¿Ÿ kVÀÁIh Ž‘ F e¿U q s cVe wy z { |}N~†€drƒ† ‡ k AOSA f–à 10 hÄ t U abdcVe E-AOSAS+ hÅRÆL v i · ¸\¹ Gº‡K‹ »¥d wyFzF{ |F}d~

(17) €Èƒ ‡ k AOSA fVq f³ŽÇ  ReKU wFe y h ÊRL º Q. S sv i‡ ªËKŒ\¥–zFÌ\{Í |}d~ k€É΁³Ï ƒ QK · ‡¸k ¹ AOSA º G † ‡. ‹ I » ¥d g q TU

(18) s a bdcVe  M H ¿ •. i j  Q

(19) S E-AOSAS+ ÒKÓ h oFp e k¿fŽ‘ lFԐÑÐÈ m n” › L h. i R l Ô T›Õ g AOSA fqs\t Ö ˜KG›H¿JLŠM O PRQS

(20) TU ܛݛה Þ ØÚ Q • ٛi Û E-AOSAS h†ÅºÆIL eNß³àFá |\}È~ €‘ ƒ ‡k AOSA fqs c i ·F¸I¹ GŠhRâ t T–ã ä fŽ  e

(21) U

(22) ·›¸”¹ GNh›â t TKãä •›‡‹R»Š¥‘¿M c¿v å\ æFç ªKèé cv L T¿U

(23) ·F¸I¹ G”‡ ‹ »I¥ÈêhÊFL v i. <<hook>>. PhoneSystemSTM. <<interface>> PhoneSystemState. ö÷!øúùûüý þ. <<hook>>. SpeakerSystem.  . <<hook>>. AntennaSenderSystem. î!ï!ð!ñ. <<interface>> PhoneSystemAction. ö6÷øúùûüýÿþ. ò!ó!ôõ. <<hook>>. . <<hook>>. DisplaySTM. <<interface>> DisplayAction. <<interface>> DisplayState.  

(24). <<interface>> ABSystemState. ò!ó$ôõ. <<hook>>. Display. »8¼  „¾ Žqñvòja ¡ ^Ux:ybz„ešVP¢W£o¤2Q {qí ” ‚ X {w–jèšt uU^ ÐW¢Z³KX mš“ ‚ ¾ ‡1„

(25) †oX T8m&UWm f ÃAÄv½WÅZ¾UÆ ƒ ˆAÇ2{bû å_–8— “8  ^Y‚„ZX n‹Žwx:yoz„e†VP¢8£b¤2Q {]í ” ‚ mZRW¾wT:ƒ Vj»:X ¼  „¾ Xh–j© 蚎Wúva uP^û][oFâ X‹E:GIäbHW

(26) ‰J:GIK8HKLNJIM_LNO2M Q ¡. 6. . <<hook>>. MicroPhoneSystem. DisplaySystem. -$./10!23465789:. )*+,. <<hook>>. í. <<hook>>. AntennaReciverSystem. )*+,. <<interface>> ABSystemAction. BrakeSystem. PhoneSystem. <<hook>>. <<hook>> <<hook>>. î!ïð$ñ. PhoneSystem. <<hook>>. <<hook>>.   !". <<hook>>. <<interface>> ButtonAction. <<hook>>. <<hook>>. SelectionAlgorithmMachine. í í. <<interface>> HSensorAction. <<interface>> HSensorState. <<hook>>.   !"$#. <<hook>>. <<interface>> Version. í. . <<hook>>. ButtonSTM. <<interface>> ButtonState. N_VersionMachine. AOSA. ö6÷øúùûüýÿþ. ò!ó!ôõ. <<hook>>. Button.  

(27) . -$./10!23465789:. )*+,. <<hook>>. <<hook>>. <<hook>>. 9. HSensorSystem. î!ï!ð!ñ. ButtonSystem. ëìí. <<hook>>. (. )+*+,.-0/+132046587:9<;0=. 10. AOSA. h IH œ e i ·F¸º¹ GŠhRâ t T–ã ä k ™š ·f R¸”¹ G ‡ ‹R»Š¥ „h Fé Q S T†U qRs é c¿v i cKe ßràá |R}‚~ € ³ƒ F‡Rk f M cKv i ·¸ ¹ G‡‹›» ¥  f¿Ž  I AOSA e E-AOSAS k–lÔ. a d b ¿ c ¿ e

(28) U. a ‚ b – c e E-AOSAS+ f M c¿v i j k ߏàFá |RE-AOSAS+ }È~€ Vƒ ‡Rk Ö ˜G k Mxixwyz {|}N~K€„ƒ† ‡ kˆ {I‰K‹ŒFk AOSA cVe–U AOSA frq s k ÉM c³v i F¢K€± ç ©ª‰ K¢–k k H ž ½  d u M  i   Ÿ  k º h œ  T U ³ c v –v ™‰Kš‹Œ Fk“ M. | N } ~ T V T  U ê ß. à á €d„ƒ

(29) ‡q h†” ÊLf v F¢K€±Ó çf ©rª ‰ K¢–k f ÒKÓ M Q i‰†‹ŒFk q Šf ä t TVU 3>3?. @6A6IHJ. .@BA. DC. FEHG. LK6J. NMBO. BPRQ. SRT. FUWV. YX. [Z. ]\. Lcbd. ^3_Da. Rh. [Z. Rh. kWl. Ü ÝÞ f L e. T h F œ e i  i Šk Õ i Õ i Õ i Ut e i Ý Þ k f †„h g :mbn +xzyR{0|W}`~. †+‡R}`~. WˆR‰DŠN‹ F. .. R–R¢`£R¤. F. `¥. WoRpbq. r¯. W·. x¶y. M3¸. 6° .¹ªº. »½¼]¾À¿. i. U. i. i U. ]\. .^`_ba. IhV} L e «R¤ ‹ f L e Lf e Õ i Õ i i Õ i Ü ”Õ h eIc ›c –vISKe ec t U. [oRprq.s`t. R‡ Õ h g. RuRv. Rw. Rw. L„L . ƒ‚. .ŒRRŽR. RŒRš`›Rœ. C. :j. R`€6. –R—R˜`™. 6g. PBa. X. i. .^`_ba. FeRf. F. .. W. xR¦B§ .±. x. W‘R’D“N”. .. ™Wž. `ŸR `¡. F¨ª©¬«R­b®. F. ¯. «R­6®. ³². .. a. G. ®N´. W•. N¯. „µC. N¯. i U U i U i U i i U i U i U U Šo”~ €ÈVƒ ‡›‡FªRË Œº¥ T Ý Þ i i i U x¿© R¢” F¢ ® ç ª†Œ\± U i U i U U. [1] AspectJ http://eclipse.org/aspectj/ Dec 2005 [2] T Elrad M Aksits G Kiczales K Lieberherr and H Ossher “Discussing Aspects of AOP,” COMMUNICATION of the ACM Vol 44 No 10 pp 33-38 2001 [3] Java http://java.sun.com/ Dec 2005 Äu [4] Á3Â6à “ WÅÇÆ`È ˆ`‰`ˆ`‰bŠLË`Ì ,” ÉbÊ ‰ RÍRËRÌR‰RÎWÏBÐWÑ`ÒWÓ p 67 2004 FÔWÕ3Ö R× 0Ø R×ÙX [5] ÇÚ rÛ0Ü`ÝRÆ`ÞRß p 248 1989 [6] UML http://www.uml.org/ Dec 2005. i. i. U. i U i ‡ ‹R»º¥  ÌÍ k š hâ t. ÝÞ o i¿€F§¿ªè  ¢ i. i i i. U.

(30)

参照

関連したドキュメント

チャオプラヤ川(タイ)は 157,927km 2 という広

Key Words : CIM(Construction Information Modeling),River Project,Model Building Method, Construction Life Cycle Management.

occurs vehicle preparating.. of

糸速度が急激に変化するフィリング巻にお いて,制御張力がどのような影響を受けるかを

実験は,試料金属として融点の比較的低い亜鉛金属(99.99%)を,また不活性ガ

position by processing the image of preceding the cost function is concerned with the errors control.. of

平均車齢(軽自動車を除く)とは、令和3年3月末現在において、わが国でナン バープレートを付けている自動車が初度登録 (注1)

自動車販売会社(2社) 自動車 自動車販売拠点設備 1,547 自己資金及び借入金 三菱自動車ファイナンス株式会社 金融 システム投資 他