application of our approach by defining transformation rules for. Acme using QVT. Keywords-software architecture; architectural evolution; autonomic systems.
7RZDUGV$UFKLWHFWXUDO(YROXWLRQWKURXJK0RGHO 7UDQVIRUPDWLRQV -RmR3LPHQWHO(PDQXHO6DQWRV'LHJR'HUPHYDO -DHOVRQ&DVWUR
$QWKRQ\)LQNHOVWHLQ 'HSDUWPHQWRI&RPSXWHU6FLHQFH 8QLYHUVLW\&ROOHJH/RQGRQ /RQGRQ8QLWHG.LQJGRP DILQNHOVWHLQ#XFODFXN
&HQWURGH,QIRUPiWLFD 8QLYHUVLGDGH)HGHUDOGH3HUQDPEXFR 5HFLIH%UD]LO ^MKFSHEVGGPFPMEF`#FLQXISHEU Abstract—The increasing need for dynamic systems, able to adapt to different situations, calls for underlying mechanisms to support software evolution. In this sense, model-based techniques can be used to automate one of the evolution aspects – the modification of models. However, the use of model-based techniques is tailored to the specific modeling languages being used. Thus, efforts to automate the modification of models can be undermined by the several different modeling languages used in different approaches for software evolution. Aiming to facilitate the use of model-driven development in the context of architectural evolution, we propose an approach to define basic transformation rules. This novel approach relies on a conceptual model and a set of basic operations for architectural evolution, which are used to define transformation rules for a specific architectural modeling language of interest. We illustrate the application of our approach by defining transformation rules for Acme using QVT. Keywords-software autonomic systems
architecture;
architectural
evolution;
, ,1752'8&7,21 6RIWZDUH HYROXWLRQ KDV EHFRPH D NH\ UHVHDUFK DUHD LQ VRIWZDUH HQJLQHHULQJ >@ 6RIWZDUH DUWLIDFWV DQG V\VWHPV DUH VXEMHFW WR PDQ\ NLQGV RI FKDQJHV DW DOO OHYHOV IURP UHTXLUHPHQWVWKURXJKDUFKLWHFWXUHDQGGHVLJQDVZHOODVVRXUFH FRGHGRFXPHQWDWLRQDQGWHVWVXLWHV6LQFHWKHDEVWUDFWLRQOHYHO RI VRIWZDUH DUFKLWHFWXUH LV DGHTXDWH IRU LGHQWLI\LQJ DQG DQDO\]LQJWKHUDPLILFDWLRQVRIFKDQJHV>@LWFRXOGEHRQHRI WKHVRIWZDUHHYROXWLRQSLOODUV>@$VWKHDUFKLWHFWXUHHYROYHV PHFKDQLVPVDUHUHTXLUHGIRUVXSSRUWLQJWKHVHG\QDPLFFKDQJHV >@>@>@7KHUHDUHVHYHUDODSSURDFKHVIRUWDFNOLQJGLIIHUHQW DVSHFWVRIDUFKLWHFWXUDOHYROXWLRQRIWHQUHO\LQJLQVRPHNLQGRI PRGHO WUDQVIRUPDWLRQ +RZHYHU WKHVH DSSURDFKHV GR QRW XVH RI PRGHOGULYHQ HQJLQHHULQJ WHFKQLTXHV ZKLFK SURYLGH XQGHUO\LQJPHFKDQLVPVIRUPRGHOWUDQVIRUPDWLRQ ,QWKLVSDSHUZHSUHVHQWDQRYHODSSURDFKIRUFUHDWLQJEDVLF WUDQVIRUPDWLRQUXOHVZLWKWKHIRFXVRIIDFLOLWDWLQJPRGHOEDVHG DUFKLWHFWXUDO HYROXWLRQ :H GHILQHG D FRQFHSWXDO PRGHO DQG D VHW RI EDVLF RSHUDWLRQV WKDW FDQ EH DSSOLHG WR WKH GLIIHUHQW ODQJXDJHV XVHG IRU DUFKLWHFWXUDO PRGHOLQJ :H LOOXVWUDWH RXU DSSURDFK E\ GHILQLQJ WUDQVIRUPDWLRQ UXOHV IRU DUFKLWHFWXUDO HYROXWLRQ RQD VSHFLILF $'/±$FPH>@ 7KH FRQWULEXWLRQ RI WKLVSDSHULVWZRIROG2QRQHKDQGRXUEDVLFRSHUDWLRQVFDQEH XVHG DV DFR PPRQ YRFDEXODU\ IRU WKH GLIIHUHQW DUFKLWHFWXUDO
448
HYROXWLRQ DSSURDFKHV ±I DFLOLWDWLQJ WKHLU LQWHJUDWLRQ 2QWK H RWKHUKDQGLWFDQJXLGHWKHFUHDWLRQRIWUDQVIRUPDWLRQUXOHVIRU DVSHFLILFPRGHOLQJODQJXDJH 7KH UHPDLQGHU RI WKLV SDSHU LV VWUXFWXUHG DV IROORZV ,Q 6HFWLRQ ZH SUHVHQW WKH EDFNJURXQG IRU WKLV ZRUN 2XU FRQFHSWXDO IUDPHZRUN LVG HVFULEHG LQ 6HFWLRQ 6HFWLRQ LOOXVWUDWHV WKH XVH RIRXUDSSURDFKLQ $FPH /DVWO\ 6HFWLRQ FRQFOXGHVWKHSDSHU ,,
%$&.*5281'
$UFKLWHFWXUDO HYROXWLRQ KDV EHHQ DFNQRZOHGJHG DV D NH\ HOHPHQW IRU DFKLHYLQJ VRIWZDUH HYROXWLRQ >@ $FFRUGLQJ WR >@ WKHUH DUH W\SHV RI VRIWZDUH HYROXWLRQ (QKDQFLYH &RUUHFWLYH 5HGXFWLYH$GDSWLYH DQG3HUIRUPDQFH,QWKH FDVH RI DXWRQRPLF VHOIDGDSWLYH RU VHOIPDQDJLQJ V\VWHPV WKLV HYROXWLRQ LV SHUIRUPHG DW UXQWLPH ZLWK VRPH GHJUHH RI DXWRPDWLRQ $UFKLWHFWXUHV WKDW FDQ HYROYH DW UXQWLPH DUH FODVVLILHG DV G\QDPLF DUFKLWHFWXUHV 2XU DSSURDFK VXSSRUWV HYROXWLRQERWKDWGHVLJQWLPHDQGDWUXQWLPH $ VXUYH\ RQ IRUPDO DUFKLWHFWXUDOVSHFLILFDWLRQ DSSURDFKHV UHJDUGLQJWKHLUDELOLW\WRHQDFWDUFKLWHFWXUDOFKDQJHVDWUXQWLPH LV UHSRUWHG RQ >@ 7KDW VXUYH\ DQDO\]HV WKH DSSURDFKHV UHJDUGLQJ WKH W\SH RI FKDQJHV WKH\ VXSSRUW &RPSRQHQW $GGLWLRQ &RPSRQHQW 5HPRYDO &RQQHFWRU $GGLWLRQ DQG &RQQHFWRU 5HPRYDO $V UHVXOW RXW RI DSSURDFKHV ZHUH IRXQG WR VXSSRUW DOO WKHVH EDVLF RSHUDWLRQV &RPP8QLW\ &+$0'\QDPLF:ULJKW3L/DU*HUHO=&/5DSLGHDVZHOO DV WKH DSSURDFKHV E\ /H 0pWD\HU DQG E\ $JXLUUH0DLEDXP 0RUHRYHUDOOWKHVHDSSURDFKHVKDYHVRPHNLQGRIVXSSRUWIRU FRPSRVLQJWKHVHRSHUDWLRQV7KHQHHG IRUVWUXFWXUDOFKDQJHLV FOHDU LQ WKH DUFKLWHFWXUDO GHSOR\PHQW YLHZ IRU H[DPSOH E\ UHSOLFDWLQJ DSSOLFDWLRQ VHUYHUV LQ RUGHU WR LPSURYH WKH V\VWHP SHUIRUPDQFH$GGLWLRQDOO\WKHXVHRIVXEW\SLQJPHFKDQLVPVWR HQDEOH DUFKLWHFWXUDO HYROXWLRQ KDV DOVR EHHQ VXJJHVWHG >@ )URP WKH DUFKLWHFWXUDO GHVFULSWLRQ ODQJXDJHV DQDO\]HG LQ >@ VKRZ VRPH NLQG RI VXSSRUW IRU HYROXWLRQ WKURXJK VXEW\SLQJPHFKDQLVPV$HVRS&6$'/DQG:ULJKW $V WKH HOHPHQWV DQG FRQQHFWRUV RI DQ DUFKLWHFWXUH HYROYH WKHLUSURSHUWLHVPD\EHPRGLILHGDVZHOO7KHVHSURSHUWLHVPD\ EHUHODWHGWRWKHHOHPHQWLWVHOIHJSHUIRUPDQFH RUWRWKHXVH RI WKH HOHPHQW HJ ZRUNORDG 7KH PRGLILFDWLRQ RI WKH SURSHUWLHV PD\ KDSSHQ DW GHVLJQ WLPH RU DW UXQWLPH )RU LQVWDQFH DW UXQWLPH ZH PD\ FRQVLGHU D FRQQHFWRU LQ D
6RPHPRGHOLQJODQJXDJHVWKDWDUHQRWFRQVLGHUHG$'/FDQ DOVREHXVHGIRUDUFKLWHFWXUDOPRGHOLQJ$UFKLWHFWXUDOEHKDYLRU KDV EHHQ GHILQHG LQ ODQJXDJHV VXFK DV 6WDWHFKDUWV 5220FKDUWV 6'/ = 8VH&DVH 8VH&DVH 0DSV 6HTXHQFH GLDJUDPV&ROODERUDWLRQGLDJUDPVDQG06&V>@)RULQVWDQFH 6WDWHFKDUWV FDQ EH XVHG WR GHVFULEH WKH GLIIHUHQW VWDWHV RI D FRPSRQHQW DV ZHOO WKH WUDQVLWLRQV EHWZHHQ WKHP 8VH&DVH GLDJUDPV FDQ H[SUHVV WKH GLIIHUHQW DFWLYLWLHV SHUIRUPHG E\ DQ HOHPHQWRIDV\VWHPIURPWKHXVHU¶SRLQWRIYLHZ7KXVZKHQ GHDOLQJ ZLWK DUFKLWHFWXUDO HYROXWLRQ ZH FDQQRW QHJOHFW WKHVH ODQJXDJHV 6LPLODUO\ WKH XVH RI JRDOEDVHG QRWDWLRQV VXFK DV .DRV DQG i* IRU DUFKLWHFWXUDO PRGHOLQJ KDV EHHQ SURPRWHG LQ VRPHUHVHDUFKHQGHDYRUV>@>@ ,,,
&21&(378$/)5$0(:25.
%DVHGRQDUHYLHZRIWKHDUFKLWHFWXUDOPRGHOLQJDSSURDFKHV PHQWLRQHGLQWKHSUHYLRXVVHFWLRQZHGHYLVHGDIUDPHZRUNIRU HPSRZHULQJ DUFKLWHFWXUDO HYROXWLRQ WKURXJK PRGHO WUDQVIRUPDWLRQV ZKLFK FDQ EH DSSOLHG WR GLIIHUHQW PRGHOLQJ ODQJXDJHV 7KLV IUDPHZRUN FRPSULVHV D FRQFHSWXDO PRGHO XVHGWRFODVVLI\WKHGLIIHUHQWFRQVWUXFWVRIDPRGHOLQJODQJXDJH DV ZHOO DV D VHW RI EDVLF DUFKLWHFWXUDO HYROXWLRQ RSHUDWLRQV GHILQHGXSRQWKHFRQFHSWXDOPRGHO $UFKLWHFWXUDO PRGHOV DUH FRPSRVHG RI DUFKLWHFWXUDO HOHPHQWV±HJFRPSRQHQWVVHUYLFHVFODVVHVDQGVWDWHV±DQG OLQNV WKDW GHILQH FRQQHFWLRQV EHWZHHQ WKHVH HOHPHQWV ± HJ FRQQHFWRUV UHTXHVWV DVVRFLDWLRQ OLQNV DQG HYHQWV %RWK HOHPHQWVDQGOLQNVPD\KDYHSURSHUWLHVZKLFKFDQEHXVHGWR SURYLGHDGHWDLOHGGHVFULSWLRQRIHOHPHQWVDQGOLQNV0RUHRYHU HOHPHQWVPD\KDYHVXEHOHPHQWVLHHOHPHQWVWKDWDUHSDUWRI WKHP )LJ VKRZV D PRGHO WKDW UHSUHVHQWV WKHVH FRQFHSWV 8VLQJWKHJUDSKWHUPLQRORJ\HOHPHQWVFDQEHFRQVLGHUHGW\SHG QRGHV OLQNV FDQ EH FRQVLGHUHG GLUHFWHG HGJHV DQG SURSHUWLHV FDQEHFRQVLGHUHGODEHOVRIDQRGHHGJH 7KLV FRQFHSWXDO PRGHO FDQ EH DSSOLHG WR GLIIHUHQW DUFKLWHFWXUDO GHVFULSWLRQ ODQJXDJHV DV ZHOO DV WR RWKHU PRGHOLQJ ODQJXDJHV WKDW DUH XVHG IRU DUFKLWHFWXUDO PRGHOLQJ HJ 6WDWHFKDUWV 6HTXHQFH GLDJUDPV 8VH&DVH DQG i* 7KH PHWD PHWDPRGHO RI WKH 930 ODQJXDJH >@ UHVHPEOHV RXU FRQFHSWXDO PRGHO EHLQJ HVVHQWLDOO\ FRPSRVHG E\ HOHPHQWV HQWLWLHV DQG OLQNV UHODWLRQV EXW QHJOHFWLQJ WKHLU SURSHUWLHV 7KDW ZRUN SURYLGHV D PHWDPRGHOLQJ ODQJXDJH ZKHUHDV RXU FRQFHSWXDOPRGHOLVXVHGWRFODVVLI\ WKHFRQVWUXFWVRIH[LVWLQJ
449
ƚĂƌŐĞƚ
ƐŽƵƌĐĞ
ƐƵďͲĞůĞŵĞŶƚ
GHSOR\PHQW YLHZ WKDW LVU HLILHG LQ D SK\VLFDO QHWZRUN 3URSHUWLHV VXFK DV UHOLDELOLW\ DQG EDQGZLGWK RI WKLV FRQQHFWRU PD\ EH VXEMHFW WR FKDQJH RYHU WLPH 7KLV NLQG RI FKDQJHV LQ SURSHUWLHV RI DUFKLWHFWXUDO HOHPHQWV LV RIWHQ LJQRUHG LQ WKH DUFKLWHFWXUDO PRGHOV :H DGYRFDWH WKDW WKH HYROXWLRQ RI WKHVH SURSHUWLHVVKRXOGEHUHIOHFWHGLQWKHPRGHOVDVLWDOORZVXVWR L PRQLWRUWKHHYROXWLRQRIWKHVHSURSHUWLHVZKLFKLQWXUQFDQ EH XVHG WRW ULJJHU DGDSWDWLRQV DQG WR LL DQDO\]H WKH DFWXDO FKDUDFWHULVWLFVRIDV\VWHPXVLQJLWVDUFKLWHFWXUDOPRGHOV7KLV DOLJQPHQW EHWZHHQ ZKDW ZDV GHVLJQHG WKH LQLWLDO PRGHO DQG WKH DFWXDO LPSOHPHQWDWLRQGHSOR\PHQW FDQ KHOS LGHQWLI\ DQG UHGXFH DUFKLWHFWXUDO HURVLRQ >@ $ SDUWLFXODU UHVHDUFK ILHOG WKDW FRQVLGHUV WKH HYROXWLRQ RI WKH SURSHUWLHV RI DUFKLWHFWXUDO HOHPHQWVLVWKDW RI VHUYLFHRULHQWHG DUFKLWHFWXUHV )RULQVWDQFH >@>@ PDWFK VHUYLFHV SURSHUWLHV ZLWK QRQIXQFWLRQDO UHTXLUHPHQWVIRUVHOHFWLQJZKLFKVHUYLFHVWRXVH
)LJXUH&RQFHSWXDO0RGHO
PHWDPRGHOV LQR UGHU WR JXLGH WKH FUHDWLRQ RI WUDQVIRUPDWLRQ UXOHV 7KXV RXU DSSURDFK LVQ RW WLHG WR DQ\ SDUWLFXODU PHWDPRGHOLQJQRUWUDQVIRUPDWLRQVSHFLILFDWLRQODQJXDJH A. Basic Architectural Evolution Operations 7KLV FRQFHSWXDO PRGHO HQDEOHG XV WR GHILQH EDVLF RSHUDWLRQV UHTXLUHG WRV XSSRUW DUFKLWHFWXUDO HYROXWLRQ ZLWK PRGHO WUDQVIRUPDWLRQV $GG (OHPHQW 5HPRYH (OHPHQW $GG /LQN 5HPRYH /LQN $GG 3URSHUW\ 5HPRYH 3URSHUW\ DQG &KDQJH 3URSHUW\ 7KHVH RSHUDWLRQV VXSSRUW WKH GLIIHUHQW W\SHV RI DUFKLWHFWXUDOPRGHO FKDQJHVGHVFULEHGLQ 6HFWLRQ ± VWUXFWXUDOWRSRORJ\ FKDQJHV DQG SURSHUW\ FKDQJHV 7KHVH RSHUDWLRQVDUHGHVFULEHGQH[W 1) Add Element ,QVHUWVDQHZHOHPHQWLQDPRGHO$SDUWLFXODUFDVHLVZKHQ WKHQHZHOHPHQWLVDVXEHOHPHQWRIDQRWKHUHOHPHQW8VXDOO\ DQHOHPHQWKDVDQDPHRUDQLGHQWLILHU 2) Remove Element 'HOHWHVDQHOHPHQWIURPDPRGHO&DXWLRQVKRXOGEHWDNHQ ZKHQ UHPRYLQJ HOHPHQWV IURP D PRGHO DV LW LV LPSRUWDQW WR PDLQWDLQWKHLQWHJULW\RIWKHPRGHO)RULQVWDQFHLIDQHOHPHQW LVUHPRYHGLWLV PRVWOLNHO\ WKDWLWZLOODOVREHQHFHVVDU\WR UHPRYHWKHOLQNVDVVRFLDWHGZLWKWKDWHOHPHQW 3) Add Link ,QVHUWVDQHZOLQNFRQQHFWLQJHOHPHQWVRIWKHPRGHO 4) Remove Link 'HOHWHVDOLQNIURPDPRGHO+HUHDJDLQFDXWLRQVKRXOGEH WDNHQDVHOHPHQWVZLWKRXWOLQNVPD\UHVXOWLQLQYDOLGPRGHOV 5) Add Property ,QVHUWV D SURSHUW\ LQ DQ HOHPHQW RU LQ D OLQN 8VXDOO\ WKH SURSHUW\KDVDQDPHRUDQLGHQWLILHUDVZHOODVRWKHUDWWULEXWHV VXFKDVYDOXHGHIDXOWYDOXHDQGW\SH 6) Remove Property 'HOHWHVDSURSHUW\IURPDQHOHPHQWRUIURPDOLQN 7) Change Property 0RGLILHVWKHFRQWHQWRIDQDWWULEXWHRIDSURSHUW\HJWKH DFWXDOYDOXHRULWVW\SH$VLPLODUHIIHFWFRXOGEHDFKLHYHGE\ FRPELQLQJ WKH Remove Property DQG WKH Add Property RSHUDWLRQV +RZHYHU DV PRGLI\LQJ D SURSHUW\ LV FRQFHSWXDOO\
GLIIHUHQW IURP UHSODFLQJ LW ZH GHFLGHG WR GHILQH WKLV VSHFLILF RSHUDWLRQ :H GHFLGHG DJDLQVW WKH GHILQLWLRQ RI Change Element DQG Change LinkRSHUDWLRQVDVWKH\HVVHQWLDOO\FRQVLVWRIFKDQJLQJ WKHLUSURSHUWLHVRUDGGLQJUHPRYLQJVXEHOHPHQWV 7KHVHRSHUDWLRQVDUHVLPLODUWRWKHILYHEDVLFRSHUDWLRQVIRU JUDSKEDVHG PRGHO WUDQVIRUPDWLRQV >@ FUHDWH QRGH FRQQHFW QRGHV GHOHWH QRGH GHOHWH HGJH DQG VHW ODEHO 2XU QRWLRQ RI SURSHUW\FDQEHVHHQDVDQHODERUDWHGNLQGRIODEHOOHDGLQJXV WR GHILQLQJ WKUHH GLIIHUHQW SURSHUW\UHODWHG RSHUDWLRQV 0RUHRYHURXUFRQFHSWXDOPRGHODOVRVXSSRUWVWKHGHILQLWLRQRI VXEHOHPHQWV ZKLFK LV DQ LPSRUWDQW IHDWXUH LQ VRPH DUFKLWHFWXUDOPRGHOLQJODQJXDJHV B. Model Transformation Rules ,QRUGHUWRXVHWKHSRZHURIPRGHOGULYHQGHYHORSPHQWIRU DUFKLWHFWXUDOHYROXWLRQLWLVQHFHVVDU\WRGHILQHWUDQVIRUPDWLRQ UXOHV IRU D SDUWLFXODU PRGHOLQJ ODQJXDJH ,Q RUGHU WR GHVFULEH WKHVH UXOHV WKH ILUVW VWHS LV WR FODVVLI\ WKH FRQVWUXFWV RI WKH ODQJXDJH EDVHG RQ WKH FRQFHSWXDO PRGHO RI )LJ LH WR LGHQWLI\ ZKLFK DUH WKH HOHPHQWV VXEHOHPHQWV OLQNV DQG SURSHUWLHVRIWKDWSDUWLFXODUODQJXDJH7KHQRQHFDQSURFHHGWR LQVWDQWLDWHWKHEDVLFDUFKLWHFWXUDOHYROXWLRQRSHUDWLRQVIRUHDFK HOHPHQWOLQNDQGSURSHUW\RIWKHODQJXDJH 2QFH DOO EDVLF RSHUDWLRQV DUH GHILQHG WKH WUDQVIRUPDWLRQ UXOHV FDQ EH GHYHORSHG XVLQJ D PRGHO WUDQVIRUPDWLRQ IUDPHZRUN VXFK DV 497 RU XVLQJ D JHQHUDOSXUSRVH SURJUDPPLQJODQJXDJH7KHGHYHORSPHQWRIWKHVHUXOHVFDQEH TXLWH VWUDLJKWIRUZDUG DV SUHVHQWHG LQ WKH QH[W VHFWLRQ +RZHYHU WKH FRPSOH[LW\ RI WKH ODQJXDJH LQ IRFXV PD\ SRVH VRPHDGGLWLRQDOFKDOOHQJHV 02'(/75$16)250$7,216)25$5&+,7(&785$/ (92/87,2121$&0( ,Q WKLV VHFWLRQ ZH LOOXVWUDWH WKH XVH RI RXU FRQFHSWXDO IUDPHZRUNWRHQDEOHDUFKLWHFWXUDOHYROXWLRQRQDVSHFLILF$'/ $FPH>@$FPHFRPSRQHQWVFKDUDFWHUL]HFRPSXWDWLRQDOXQLWV RI DV \VWHP &RQQHFWRUV UHSUHVHQW DQG PHGLDWH LQWHUDFWLRQV EHWZHHQFRPSRQHQWV3RUWVFRUUHVSRQGWRH[WHUQDOLQWHUIDFHVRI FRPSRQHQWV5ROHVUHSUHVHQWH[WHUQDOLQWHUIDFHVRIFRQQHFWRUV 3RUWVDQGUROHVDUHSRLQWVRILQWHUDFWLRQUHVSHFWLYHO\EHWZHHQ FRPSRQHQWVDQGFRQQHFWRUV±WKH\DUHERXQGWRJHWKHUWKURXJK DWWDFKPHQWV 6\VWHPV DUH FROOHFWLRQV RI FRPSRQHQWV FRQQHFWRUVDQGDGHVFULSWLRQRIWKHWRSRORJ\RIWKHFRPSRQHQWV DQGFRQQHFWRUV6\VWHPVDUHFDSWXUHG YLDJUDSKV ZKRVHQRGHV UHSUHVHQW FRPSRQHQWV DQG FRQQHFWRU DQG ZKRVH HGJHV UHSUHVHQWWKHLULQWHUFRQQHFWLYLW\3URSHUWLHVDUHDQQRWDWLRQVWKDW GHILQH DGGLWLRQDO LQIRUPDWLRQ DERXW HOHPHQWV FRPSRQHQWV FRQQHFWRUV SRUWV UROHV UHSUHVHQWDWLRQV RU V\VWHPV 5HSUHVHQWDWLRQVDOORZDFRPSRQHQWRUDFRQQHFWRUWRGHVFULEH LWVGHVLJQLQGHWDLOE\VSHFLI\LQJDVXEDUFKLWHFWXUHWKDWUHILQHV WKH SDUHQW HOHPHQW 7KH HOHPHQWV ZLWKLQ D UHSUHVHQWDWLRQ DUH OLQNHGWRH[WHUQDO SRUWVWKURXJKELQGLQJV ,9
A. Applying the conceptual framework &RQVLGHULQJ RXU FRQFHSWXDO IUDPHZRUN ZH LGHQWLILHG WKH EDVLF RSHUDWLRQV UHTXLUHG WR HYROYH DQ DUFKLWHFWXUDO PRGHO LQ $FPH 7KH $FPH HOHPHQWV DUH Component Connector Role, Port DQG Representation 3DUWLFXODUO\ WKH ODVW WKUHH HOHPHQWV
450
DUHVXEHOHPHQWV±RoleLVDVXEHOHPHQWRIConnectorPortLV D VXEHOHPHQW RI FRPSRQHQW DQG Representation LV D VXE HOHPHQW RI ERWK Component DQG Connector 3OHDVH QRWH WKDW ConnectorLVQRWDQDFWXDOOLQN±LQVWHDGLWLVDQHOHPHQWWKDWLV LQGLUHFWO\ OLQNHGWRComponentWKURXJKAttachment7KHRQO\ OLQNV LQ $FPH DUH Attachment DQG Binding $Q DWWDFKPHQW OLQNVDQLQWHUQDOSRUWRIDFRPSRQHQWWRDUROHRIDFRQQHFWRU ZKLOH D ELQGLQJ OLQNV DQ LQWHUQDO SRUW WR DQ H[WHUQDO SRUW RI D UHSUHVHQWDWLRQ /DVWO\ Property H[SUHVVHV WKH SURSHUWLHV RI HDFKHOHPHQWRURIDSystem 7KXV WKH EDVLF RSHUDWLRQV IRU DUFKLWHFWXUDO HYROXWLRQ LQ $FPH ZHUH GHILQHG $GG &RPSRQHQW $GG 3RUW $GG &RQQHFWRU $GG 5ROH $GG 5HSUHVHQWDWLRQ 5HPRYH &RPSRQHQW 5HPRYH3RUW 5HPRYH &RQQHFWRU 5HPRYH 5ROH 5HPRYH 5HSUHVHQWDWLRQ $GG $WWDFKPHQW $GG %LQGLQJ 5HPRYH$WWDFKPHQW5HPRYH%LQGLQJ$GG3URSHUW\5HPRYH 3URSHUW\&KDQJH3URSHUW\6LQFHDOOSURSHUWLHVLQ$FPHVKDUH WKHVDPHVWUXFWXUHZHGLGQRWQHHGWRGHILQHGLIIHUHQWSURSHUW\ RSHUDWLRQV ± HJWKHUH LVQREHQHILWLQ GHILQLQJ GLIIHUHQW Add Component Property DQG Add Connector PropertyRSHUDWLRQV B. Acme evolution with QVT ,QWKLVVHFWLRQZHSUHVHQWKRZWKHEDVLFRSHUDWLRQVFDQEH LPSOHPHQWHG XVLQJ D PRGHO WUDQVIRUPDWLRQ IUDPHZRUN +HUH ZHDUHXVLQJ497ZKLFKFRPSULVHVDODQJXDJHIRUVSHFLI\LQJ PRGHO WUDQVIRUPDWLRQV EDVHG RQ WKH 0HWD 2EMHFW )DFLOLW\ ± 02)DQGRQWKH2EMHFW&RQVWUDLQW/DQJXDJH±2&/ )LJ V KRZV WKH 497 2SHUDWLRQDO FRGH IRU WKH Add ComponentRSHUDWLRQ 7KHILUVWOLQHVWDWHVWKH PHWDPRGHOWKDW ZLOO EH XVHG LQ WKH WUDQVIRUPDWLRQ ZKLFK LV WKH $FPH PHWDPRGHO 7KH VHFRQG OLQH GHFODUHV WKH Add Component WUDQVIRUPDWLRQ LQIRUPLQJ WKDW WKH VDPH PRGHO DOLDVHG acmeModel ZLOO EH XVHG ERWK DV LQSXW DQG DV RXWSXW 2WKHU WKDQ WKH LQSXW PRGHOV 497 WUDQVIRUPDWLRQV DFFHSW LQSXW WKURXJK WKH PHFKDQLVP RI FRQILJXUDWLRQ SURSHUWLHV /LQH SUHVHQWVWKHLQSXWYDULDEOHRIWKLVWUDQVIRUPDWLRQZKLFKLVWKH FRPSRQHQWQDPH,Q497WKHHQWU\SRLQWRIWKHWUDQVIRUPDWLRQ LVWKHVLJQDWXUHOHVVmainRSHUDWLRQ2XUmainRSHUDWLRQOLQHV FDOOVWKHPDSSLQJRIWKHURRWREMHFWRIWKHPRGHOZKLFKLV 6ystem 7KH WUDQVIRUPDWLRQ LWVHOI LV SHUIRUPHG E\ WKH Apply Add Component PDSSLQJ OLQHV ZKLFK LQVHUWV D QHZ FRPSRQHQW7KHFRPSRQHQWFRQVWUXFWRULVGHILQHGLQOLQHV LWVLPSO\DVVLJQVWKHJLYHQQDPHWRWKHFRPSRQHQW )LJ SUHVHQWV WKH PDSSLQJ RI WKH Remove Port WUDQVIRUPDWLRQ WKH RWKHU HOHPHQWV RI WKH WUDQVIRUPDWLRQ DUH YHU\VLPLODUWRWKDWRI)LJ ,QWKLVP DSSLQJZHWUDYHUVHDOO SRUWV RIWKH PRGHO /LQH VRWKDW ZKHQSRUW ZLWKWKH JLYHQ QDPHLVIRXQG/LQH LWLVGHOHWHGIURPWKHPRGHO/LQH +HUH ZH KDYH GHVFULEHG D VWUDLJKWIRUZDUG LPSOHPHQWDWLRQ RI WKH EDVLF DUFKLWHFWXUDO HYROXWLRQ RSHUDWLRQV IRU $FPH +RZHYHUWKHUHLVURRPIRULPSURYHPHQW)RUH[DPSOHwhere FODXVHV FDQ EH GHILQHG IRU SUHYHQWLQJ WKH DGGLWLRQ RI D FRPSRQHQWZLWKDQHPSW\QDPHRUWKHUHPRYDORIDSRUWWKDWLV VWLOODWWDFKHGWRVRPHUROH 9
&21&/86,21$1')8785(:25.
7KHFRQFHSWXDOIUDPHZRUNGHILQHGLQWKLVSDSHULVJHQHULF HQRXJK WR DOORZ LWV DSSOLFDWLRQ RQ GLIIHUHQW DUFKLWHFWXUDO
5()(5(1&(6
ɨ
ſɐ
ɩɐƀŚ ɩſ
ś
ƀŚ ɪ
śŚ ɫſƀ ɬƇ ɭ
Ŝ
ſƀƃƄŜ ſƀŚ ɮƈ ɯśśſƀ ɰƇ ɨɥŜ
ʫʰ ɨɨſŜ
ƀŚ ɨɩƈ ɨɪ
śśſśƀ ɨɫƇ ɨɬśʰŚ ɨɭƈ
>@
>@
>@
>@
>@
>@
)LJXUH497FRGHIRUWKH$GG&RPSRQHQWRSHUDWLRQ
>@
ɨśśſƀ ɩƇ ɪŜ
ſƀŞʴ
ſƀ ɫƇ ɬſŜŜʰſŜƀƀ ɭƇ ɮ
ŜſƀŚ ɯƈ ɰŚ ɨɥƈŚ ɨɨƈ
>@
>@
>@
)LJXUH497FRGHH[FHUSWIRUWKH5HPRYH3RUWRSHUDWLRQ
PRGHOLQJ ODQJXDJHV RI GLIIHUHQW DUFKLWHFWXUDO YLHZV HJ PRGXOH FRPSRQHQWV DQG FRQQHFWRUV DQG DOORFDWLRQ YLHZV >@ %\ FODVVLI\LQJ WKH FRQVWUXFWV RI WKH PRGHOLQJ ODQJXDJH DFFRUGLQJWRRXUFRQFHSWXDOPRGHODQGWKHQGHILQLQJLWVEDVLF RSHUDWLRQVRQHFDQV\VWHPDWLFDOO\GHYHORSWUDQVIRUPDWLRQUXOHV IRU WKDW SDUWLFXODU ODQJXDJH 7KHVH UXOHV FDQ WKHQ EH XVHG WR DXWRPDWHPRGHOWUDQVIRUPDWLRQLQWKHFRQWH[WRIPRGHOGULYHQ HQJLQHHULQJ0RUHRYHUE\GHILQLQJWUDQVIRUPDWLRQUXOHVEDVHG RQ D FRPPRQ VHW RI EDVLF RSHUDWLRQV WKH LQWHJUDWLRQ RI GLIIHUHQWDUFKLWHFWXUHHYROXWLRQDSSURDFKHVFDQEHIDFLOLWDWHG,W LV ZRUWK QRWLQJ WKDW RXU DSSURDFK LV QRW LQWHQGHG WR UHSODFH FXUUHQW DSSURDFKHV IRU DUFKLWHFWXUDO HYROXWLRQ EXW LQVWHDG WR HPSRZHUWKHPE\IDFLOLWDWLQJWKHXVHRIPRGHOWUDQVIRUPDWLRQV RQWKHGLYHUVHVHWRIPRGHOLQJODQJXDJHVLQXVH 2QH RI WKH OLPLWDWLRQV RI RXU DSSURDFK LV WKDW LW GRHV QRW FRQVLGHUDUFKLWHFWXUDOHYROXWLRQDVDZKROHIRFXVLQJVROHO\RQ WKH PRGLILFDWLRQ RI PRGHOV ,Q IXWXUH ZRUNV ZH LQWHQG WR H[SORUH WKH XVH RI WULJJHUV WRL QLWLDWH WKH PRGLILFDWLRQ RI WKH DUFKLWHFWXUDO PRGHO DV ZHOO DV WKH VHOHFWLRQ RI ZKLFK PRGLILFDWLRQ WR SHUIRUP >@ $GGLWLRQDOO\ ZH LQWHQG WR DXWRPDWH WKH FUHDWLRQ RI WKH EDVLF WUDQVIRUPDWLRQ UXOHV IRU D JLYHQ ODQJXDJH EDVHG RQ LWVP HWDPRGHO 0RUHRYHU ZH ZLOO LQYHVWLJDWH KRZWKLVDSSURDFK FDQ EH XVHGLQ FRQQHFWLRQZLWK PRGHOLQJODQJXDJHVRWKHUWKDQDUFKLWHFWXUDORQHV
>@
>@
>@
>@
>@
>@
>@
>@
>@
>@
451
$OOHQ5'RXHQFH5 *DUODQ'6SHFLI\LQJ DQG$QDO\]LQJ '\QDPLF 6RIWZDUH $UFKLWHFWXUHV 3URF RI &RQIHUHQFH RQ )XQGDPHQWDO $SSURDFKHVWR6RIWZDUH(QJLQHHULQJ/LVERQ3RUWXJDO0DUFK %DFKPDQQ ) %DVV / &OHPHQWV 3 *DUODQ ' ,YHUV - /LWWOH 5 1RUG56WDIIRUG-'RFXPHQWLQJ6RIWZDUH$UFKLWHFWXUH'RFXPHQWLQJ %HKDYLRU&086(,71-DQXDU\ %DORJK $ 9DUUy ' $GYDQFHG 0RGHO 7UDQVIRUPDWLRQ /DQJXDJH &RQVWUXFWV LQ WKH 9,$75$ )UDPHZRUN $&0 6$& SS )UDQFH %DUHVL/+HFNHO57K|QH69DUUy'0RGHOLQJDQGYDOLGDWLRQRI VHUYLFHRULHQWHG DUFKLWHFWXUHV DSSOLFDWLRQ YV VW\OH 6,*62)7 6RIWZ (QJ1RWHV SS6HSWHPEHU %UDGEXU\ -HUHP\ 6 &RUG\ -DPHV 5 'LQJHO -XHUJHQ DQG :HUPHOLQJHU0LFKHO $VXUYH\RIVHOIPDQDJHPHQWLQG\QDPLF VRIWZDUH DUFKLWHFWXUH VSHFLILFDWLRQV ,Q 3URFHHGLQJV RI WKH VW $&0 6,*62)7:RUNVKRSRQ6HOIPDQDJHG6\VWHPV1RYHPEHU &KDSLQ 1+DOH -.KDQ. 5DPLO-7KDQ:7\SHV RIVRIWZDUH HYROXWLRQ DQG VRIWZDUH PDLQWHQDQFH -RXUQDO RI VRIWZDUH PDLQWHQDQFH DQGHYROXWLRQSS± )HUQDQGH]5DPLO - 3HUU\ ' 0DGKDYML 1+ HGV 6RIWZDUH (YROXWLRQDQG)HHGEDFN7KHRU\DQG3UDFWLFH:LOH\&KLFKHVWHU )UDQFK ; *UQEDFKHU 3 2ULRO 0 %XUJVWDOOHU % 'KXQJDQD ' /ySH] / 0DUFR - 3LPHQWHO - *RDOGULYHQ $GDSWDWLRQ RI 6HUYLFH %DVHG 6\VWHPV IURP 5XQWLPH 0RQLWRULQJ 'DWD ,Q 3URFHHGLQJV RI WKH WK ,QWHUQDWLRQDO ,((( :RUNVKRS RQ5 HTXLUHPHQWV (QJLQHHULQJ IRU 6HUYLFHV5()6 0XQLFK*HUPDQ\-XO\ *DUODQ'0RQURH5:LOH' $FPH$Q$UFKLWHFWXUH'HVFULSWLRQ ,QWHUFKDQJH /DQJXDJH ,Q 3URFHHGLQJV RI WKH FR QIHUHQFH RI WKH &HQWUHIRU$GYDQFHG6WXGLHVRQ&ROODERUDWLYHUHVHDUFK&$6&21 ތ 7RURQWR&DQDGD *DUODQ'%DFKPDQQ),YHUV-6WDIIRUG-%DVV/&OHPHQWV3 0HUVRQ3'RFXPHQWLQJVRIWZDUHDUFKLWHFWXUHVYLHZVDQGEH\RQGQG HG$GGLVRQ:HVOH\3URIHVVLRQDO *DUODQ ' 3HUU\ ' ,QWURGXFWLRQ WR WKH 6SHFLDO ,VVXH RQ 6RIWZDUH $UFKLWHFWXUH ,Q -RXUQDO ,((( 7UDQV RQ 6RIW (QJ 9RO ,VVXH *UDX * )UDQFK ; 2Q WKH $GHTXDF\ RIi*0RGHOVIRU 5HSUHVHQWLQJ DQG $QDO\]LQJ 6RIWZDUH $UFKLWHFWXUHV 3URFHHGLQJV RI WKH (5 :RUNVKRSV/1&6SS /HYHQGRYV]N\ 7 /HQJ\HO / 0H]HL * &KDUDI + $ 6\VWHPDWLF $SSURDFK WR 0HWDPRGHOLQJ (QYLURQPHQWV DQG 0RGHO 7UDQVIRUPDWLRQ 6\VWHPVLQ9076*UD%D7V¶ 0DJHH - .UDPHU - '\QDPLF 6WUXFWXUH LQ 6RIWZDUH $UFKLWHFWXUHV 3URFHHGLQJ 6,*62)7 3URFHHGLQJV RI WKH WK $&0 6,*62)7 V\PSRVLXPRQ)RXQGDWLRQVRIVRIWZDUHHQJLQHHULQJ 0HGYLGRYLF 1 $ &ODVVLILFDWLRQ DQG &RPSDULVRQ )UDPHZRUN IRU 6RIWZDUH $UFKLWHFWXUH 'HVFULSWLRQ /DQJXDJHV 7HFKQLFDO 5HSRUW 8&, ,&68QLYHUVLW\RI&DOLIRUQLD)HEUXDU\ 2 5HLOO\ & 0RUURZ 3 %XVWDUG ' /LJKWZHLJKW SUHYHQWLRQ RI DUFKLWHFWXUDO HURVLRQ 3URFHHGLQJV RI WKH 6L[WK ,QWHUQDWLRQDO :RUNVKRS RQ 3ULQFLSOHV RI 6RIWZDUH (YROXWLRQ ,:36: SS 6HSWHPEHU 2UHL]\ 3 0HGYLGRYLF 1 7D\ORU 5 $UFKLWHFWXUH%DVHG 5XQWLPH 6RIWZDUH (YROXWLRQ 3URFHHGLQJV RI WKH ,QWHUQDWLRQDO &RQIHUHQFH RQ 6RIWZDUH(QJLQHHULQJ,&6( .\RWR-DSDQ$SULO 3LPHQWHO - )UDQFK ; &DVWUR - 0HDVXULQJ DUFKLWHFWXUDO DGDSWDELOLW\ LQ L PRGHOV ,Q 3URFHHGLQJV RI WKH ;,9 ,EHUR$PHULFDQ &RQIHUHQFHRQ6RIWZDUH(QJLQHHULQJSS 3LPHQWHO - /XFHQD 0 &DVWUR - 6LOYD & 6DQWRV ( $OHQFDU ) 'HULYLQJ VRIWZDUH DUFKLWHFWXUDO PRGHOV IURP UHTXLUHPHQWV PRGHOV IRU DGDSWLYH V\VWHPV WKH 675($0$ DSSURDFK ,Q 5HTXLUHPHQWV (QJLQHHULQJ-RXUQDOSXEOLVKHGRQOLQH 3LPHQWHO-6DQWRV(&DVWUR-&RQGLWLRQVIRULJQRULQJIDLOXUHVEDVHG RQ D UHTXLUHPHQWV PRGHO ,Q 3URFHHGLQJV RI WKH QG ,QWHUQDWLRQDO &RQIHUHQFH RQ 6RIWZDUH (QJLQHHULQJ DQG .QRZOHGJH (QJLQHHULQJ 6(.( S