Automatic Generation of Architectural Models From

0 downloads 0 Views 464KB Size Report
described in Acme ADL from goal oriented requirements models expressed in i*. The process includes activities that defines trans- formation rules to derive such ...
$XWRPDWLF*HQHUDWLRQRI$UFKLWHFWXUDO0RGHOV)URP *RDOV0RGHOV 

0RQLTXH6RDUHV-RmR3LPHQWHO-DHOVRQ&DVWUR&DUOD6LOYD&OHLFH7DOLWKD*DEULHOD*XHGHV'LHJR'HUPHYDO &HQWURGH,QIRUPiWLFD 8QLYHUVLGDGH)HGHUDOGH3HUQDPEXFR8)3( 5HFLIH%UD]LO ^PFVMKFSMEFFWOOVFWQVJJVGGPFP`#FLQXISHEU   $EVWUDFW—The STREAM (Strategy for Transition Between ReRIWKHYHUWLFDOWUDQVIRUPDWLRQUXOHVLQ4976HFWLRQSUHVHQWV quirements and Architectural Models) process presents an apDQ DSSOLFDWLRQ H[DPSOH 6HFWLRQ  SUHVHQWV WKH UHODWHG ZRUNV proach that allows the generation of early architectural design DQG 6HFWLRQ  GLVFXVV WKH UHVXOWV RI WKLV ZRUN DQG IXWXUH UH describedin Acme ADLfrom goal oriented requirements models VHDUFK

expressed in L .The process includes activities that defines transformation rules to derive such architectural models.In order to minimize the effort to apply the processand decrease the possibility of making mistakes it is vital that some degree of automationis provided.This paper explains in detail thetransformation rulesproposed and their corresponding formalization in a model transformation language. 5HTXLUHPHQWV (QJLQHHULQJ 7UDQVIRUPDWLRQ5XOHV$XWRPDWLRQ

,

6RIWZDUH

$UFKLWHFWXUH

,1752'8&7,21

7KH 675($0 6WUDWHJ\ IRU 7UDQVLWLRQ EHWZHHQ 5HTXLUH PHQWV 0RGHOV DQG $UFKLWHFWXUDO 0RGHOV  LV D V\VWHPDWLF DS SURDFK WRLQWHJUDWHUHTXLUHPHQWV HQJLQHHULQJ DQG DUFKLWHFWXUDO GHVLJQ DFWLYLWLHV EDVHG RQ PRGHO WUDQVIRUPDWLRQV WR JHQHUDWH DUFKLWHFWXUDOPRGHOVIURPUHTXLUHPHQWVPRGHOV>@7KHVRXUFH ODQJXDJHLVi* L6WDU >@DQGWKHWDUJHWODQJXDJHLV$FPH>@

,,

%$&.*5281'

7KLV VHFWLRQ SUHVHQWV DQ RYHUYLHZ RQ i* $FPH DQGWK H 675($0SURFHVVZKLFKDUHXVHGLQRXUDSSURDFK A. iStar 7KHi*ODQJXDJHLVDJRDORULHQWHGPRGHOLQJODQJXDJHDEOH WRUHSUHVHQWIHDWXUHVRIERWKWKHRUJDQL]DWLRQDQGRIWKHV\VWHP WREHDFTXLUHGGHYHORSHGE\IRUWKHRUJDQL]DWLRQ6WDNHKROGHUV DQGV\VWHPVDUHUHSUHVHQWHGDVDFWRUVZKLFKDUHDFWLYHHQWLWLHV DEOH WRSH UIRUP WDVNV UHDFK JRDOV DQG SURYLGH UHVRXUFHV ,Q RUGHUWRDFKLHYHWKHLURZQJRDOVDFWRUVKDYHGHSHQGHQFLHVZLWK HDFKRWKHU>@ i*LVFRPSULVHGRIWZRPRGHOVD6' 6WUDWHJLF'HSHQGHQ F\ PRGHOGHVFULEHVGHSHQGHQF\UHODWLRQVKLSVDPRQJDFWRUVLQ WKH RUJDQL]DWLRQ D65  6WUDWHJLF 5DWLRQDOH  PRGHO H[SODLQV KRZDFWRUVDFKLHYHWKHLUJRDOVDQGGHSHQGHQFLHV

2XU SURSRVDO LV LQ OLQH ZLWK WKH FXUUHQW 0'' 0RGHO 'ULYHQ 'HYHORSPHQW  SDUDGLJP DV ZH VXSSRUW WKH WUDQVIRU PDWLRQRIPRGHOVRIKLJKHUOHYHOVRIDEVWUDFWLRQWRPRUHFRQ FUHWH PRGHOV 7KH 0'' DGYDQWDJHV DUH JUHDWHU SURGXFWLYLW\ DQGWKHUHIRUHDORZHUGHYHORSPHQWWLPHLQFUHDVHGSRUWDELOLW\ LQFUHDVHGLQWHURSHUDELOLW\DQGORZHUPDLQWHQDQFHFRVWVGXHWR WKHLPSURYHGFRQVLVWHQF\DQGPDLQWDLQDELOLW\RIWKHFRGH>@

,QDGHSHQGHQF\DdependerDFWRUUHOLHVRQDdependeeDF WRUWRDFKLHYHVRPHWKLQJ WKHdependum $dependumFDQEHD JRDOZKLFKUHSUHVHQWVWKHLQWHQWLRQDOGHVLUHRIDQDFWRUWREH IXOILOOHG D VRIWJRDO WR EH VDWLVILHG ZKLFK LV D JRDO ZLWK WKH DFFHSWDQFHFULWHULRQQRWVRFOHDUDUHVRXUFHWREHSUR YLGHGRU DWDVN WR EHSHU IRUPHG )LJXUHSUHVHQWV DQH[FHUSWRIWKH i* PHWDPRGHO GHILQHGIRU WKH L6WDU7RROWRRO>@

&XUUHQWO\WKHWUDQVIRUPDWLRQUXOHVGHILQHGLQWKH675($0 DSSURDFK DUH LQIRUPDOO\ GHVFULEHG DQG DUH PDQXDOO\ DSSOLHG +HQFH WKHLU XVH LV WLPH FRQVXPLQJ DQG HIIRUWIXO DV ZHOO DV HUURUSURQH ,QRUGHUWRRYHUFRPHWKHVHVKRUWFRPLQJVZHSUR SRVHWR XVHDQLPSHUDWLYH WUDQVIRUPDWLRQODQJXDJH 4972>@ WRSURSHUO\GHVFULEHWKHPDQGWRSURYLGHWRROVXSSRUW

B. Acme $FPHLVDQ$ '/ $UFKLWHFWXUDO'HVFULSWLRQ/DQJXDJH GH VLJQHGWRGHVFULEHWKHFRPSRQHQWVDQGFRQQHFWRUV & & YLHZ RI WKH V\VWHP DUFKLWHFWXUH >@ ,W UHOLHV RQ VL[ PDLQ W\SHV RI HQWLWLHVIRUDUFKLWHFWXUDOUHSUHVHQWDWLRQComponentsConnectorsSystemsPortsRolesDQG Representations )LJXUH SUH VHQWVWKH$FPHPHWDPRGHOEDVHGRQWKH$FPH6WXGLRWRRO>@

7KH DLP RI WKLVSDSHU LV WR DXWRPDWH WKH YHUWLFDO WUDQVIRU PDWLRQUXOHVSURSRVHGLQWKH675($0)RUWKLVLWZDVQHFHV VDU\WR'HILQHWKHVHUXOHVLQDSURSHUWUDQVIRUPDWLRQODQJXDJH 0DNH WKHVH UXOHV FRPSDWLEOH ZLWK WKH ,6WDU7RRO DQG $FPH6WXGLRWRROVDQGLOOXVWUDWHWKHXVHRIWKHPUXOHV 7KHUHPDLQGHURIWKLVSDSHULVRUJDQL]HGDVIROORZV6HFWLRQ GHVFULEHVWKHEDFNJURXQGUHTXLUHGIRUDEHWWHUXQGHUVWDQGLQJ RIWKLVZRUN6HFWLRQSUHVHQWVWKHGHVFULSWLRQDQGDXWRPDWLRQ

444

&RPSRQHQWVUHSUHVHQWWKHSULPDU\FRPSXWDWLRQDOHOHPHQWV DQG GDWD VWRUHV RI D V\VWHP &RQQHFWRUV FKDUDFWHUL]H LQWHUDF WLRQV DPRQJ FRPSRQHQWV 6\VWHPV GHQRWH FRQILJXUDWLRQV RI FRPSRQHQWV DQG FRQQHFWRUV (DFK SRUW LGHQWLILHV D SRLQW RI LQWHUDFWLRQEHWZHHQWKHFRPSRQHQWDQGLWVHQYLURQPHQW5ROHV define the connector’s interfaces. 5HSUHVHQWDWLRQVXSSRUWVKLHU DUFKLFDOGHVFULSWLRQVRIDUFKLWHFWXUHV>@

SDWWHUQVFDQEHDSSOLHGWRDOORZDSSURSULDWHUHILQHPHQWVRI WKH FKRVHQFDQGLGDWH DUFKLWHFWXUDOVROXWLRQLQ DFWLYLW\>@ 

ContributionLink source

* 0..1

DecompositionTask source target

0..1

0..1

target

,QWKH9HUWLFDO7UDQVIRUPDWLRQ5XOHV 975V WKH i*DFWRUV DQG GHSHQGHQFLHV DUH PDSSHG WR $FPH HOHPHQWV 7KXV DQi* DFWRU LV PDSSHG WR DQ $FPH FRPSRQHQW $Q i* GHSHQGHQF\ EHFRPHV DQ $FPH FRQQHFWRU 7KH depender DQG dependee DFWRUV LQ D GHSHQGHQF\ FDQ EH PDSSHG WR WKH UROHV RI D FRQ QHFWRU,QSDUWLFXODUZHFDQGLVWLQJXLVKEHWZHHQUHTXLUHGSRUWV PDSSHG IURP depender DFWRUV  DQG SURYLGHG SRUWV PDSSHG IURP dependee DFWRUV  7KXV D FRQQHFWRU DOORZV FRPPXQLFD WLRQ EHWZHHQ WKHVH SRUWV $ FRPSRQHQW SURYLGHV VHUYLFHV WR DQRWKHU FRPSRQHQW XVLQJ SURYLGHG SRUWV DQG LW UHTXLUHV VHU YLFHVIURPDQRWKHUFRPSRQHQWXVLQJUHTXLUHGSRUWV

*

Element

0..1

source

MeansEnd

0..1

0..1

* *

target elements

* meansEnd decompositionTasks contributionLinks

Actor

NodeObject

associations

7KHIRXUW\SHVRIGHSHQGHQFLHV JRDOVRIWJRDOWDVNDQGUH VRXUFH  ZLOO GHILQH VSHFLILF GHVLJQ GHFLVLRQV LQ FRQQHFWRUV SRUWV DQG UROHV WKDW DUH FDSWXUHG DV $FPH Attachments $Q REMHFW GHSHQGHQF\ LV PDSSHG WR D %RROHDQ SURSHUW\ $ WDVN GHSHQGHQF\LVPDSSHGGLUHFWO\WRDSRUWSURYLGHG7KHUHVRXUFH GHSHQGHQF\LVPDSSHGWRDUHWXUQW\SHRIDSURSHUW\SURYLGHG SRUW$VRIWJRDOGHSHQGHQF\LVPDSSHGWRDSURSHUW\ZLWKHQX PHUDWHGW\SH

target

source 0..1

Model

ActorAssociation

Link

links

elements

*

0..1

actors

target

source

0..1

0..1

*

* Dependency Link



)LJXUH([FHUSWRIWKHi*PHWDPRGHO Property

*

properties

attachment

System

-name -value -type

7KHVH WUDQVIRUPDWLRQ UXOHV ZHUH GHILQHG LQ D VHPL IRUPDO ZD\LQ>@DQGQRZWKH\QHHGWREH SUHFLVHO\VSHFLILHGXVLQJ D VXLWDEOH PRGHO WUDQVIRUPDWLRQ ODQJXDJH VXFK DV 4XH U\9LHZ7UDQVIRUPDWLRQ2SHUDWLRQDO–4972>@,QGRLQJVR ZHFDQYDOLGDWHWKHP DVZHOODV SURYLGHVXSSRUWWR SDUWLDOO\ DXWRPDWHWKHSURFHVVKHQFHHQDEOLQJWKH675($0 SURFHVVWR EHFRPHDIXOOIOHGJHG0''DSSURDFK



-name

1..*

1..*

,,,

acmeElements

*

-name

Component

Connector

2..*

Port

Role

6LQFHWKHYHUWLFDOWUDQVIRUPDWLRQVGRQRWFRQVLGHUWKHLQWHU QDO HOHPHQWV RI WKH DFWRUV ZH ILUVW FUHDWH DQ LQWHUPHGLDU\ 6' PRGHOIURPWKH PRGXODUi*65PRGHO:HSURFHHGWRDSSO\WKH 975V VHH 7DEOH ,  7KH ILUVW UXOH 975 PDSV i* DFWRUV WR $FPHFRPSRQHQWVZKLOH975 WUDQVIRUPV i*GHSHQGHQFLHVWR $FPHFRQQHFWRUV 7KH975FRQYHUWVWKHdependerDFWRURQWR D UHTXLUHG SRUW RI WKH $FPH FRQQHFWRU 7KH 975 WUDQVODWHV WKHdependeeDFWRURQWR D SURYLGHGSRUWRIWKH $FPHFRQQHFWRU

1..*

roles

ports

*

1

secondPort

1

firstPort

Binding

* Attachment

*

role

port 1..*

)LJXUH$FPHPHWDPRGHO

$8720$7,212)7+(9(57,&$/75$16)250$7,21 58/(6

,Q WKH 675($0 SURFHVV WKH XVHU EHJLQV E\ XVLQJ i* WR PRGHOWKHSUREOHPDWKDQG 6RPH KHXULVWLFVFDQ JXLGHWKHVH OHFWLRQ RI VXEVHW V  RI FDQGLGDWH HOHPHQWV WR EH UHIDFWRUHG 2QFHWKH\DUHVHOHFWHGWKH+75VFDQEHDSSOLHG WRLPSURYHWKH PRGXODUL]DWLRQRIWKHi*PRGHO>@

representations

properties

AcmeElement

bindings

Representation

acmeElements

*



C. STREAM 7KH675($0SURFHVVLQFOXGHVWKHIROORZLQJDFWLYLWLHV  3UHSDUH UHTXLUHPHQWV PRGHOV   *HQHUDWH DUFKLWHFWXUDO VROX WLRQV   6HOHFW DUFKLWHFWXUDO VROXWLRQ DQG   5HILQH DUFKLWHF WXUH ,Q DFWLYLWLHV   DQG   KRUL]RQWDO DQG YHUWLFDO UXOHV DUH SURSRVHG UHVSHFWLYHO\ +RUL]RQWDO UXOHV DUH DSSOLHG WR WKH i* UHTXLUHPHQWV PRGHOV WR LQFUHDVH LWV PRGXODULW\ DQG SUHSDUH WKHP IRUHDUO\DUFKLWHFWXUDOWUDQVIRUPDWLRQ7KHUHDUHIRXUKRU L]RQWDOWUDQVIRUPDWLRQUXOHV +75V >@9HUWLFDOUXOHVDUHXVHG WR GHULYH DUFKLWHFWXUDO PRGHOV LQ $FPH IURP PRGXODUL]HG i* PRGHOV1RQ)XQFWLRQDO5HTXLUHPHQWVDUHXVHGWRVHOHFWLQLWLDO FDQGLGDWH DUFKLWHFWXUH LQ WKH   DFWLYLW\ &HUWDLQ DUFKLWHFWXUDO

445

:H UHOLHG RQ WKH (FOLSVH EDVHG WRRO IRU i* PRGHOLQJ WKH L6WDU7RRO>@WR FUHDWH WKHi* PRGHO7KLVPRGHOLVWKHLQSXWIRU WKH ILUVW 675($0 DFWLYLW\ 7KLV WRRO JHQHUDWHV D ;0, RI WKH PRGXODUL]HG i* 6' PRGHO ZKLFK FDQ EH UHDG E\ WKH 4972 (FOLSVHSOXJLQ>@WRVHUYHDVLQSXWIRUWKH975VH[HFXWLRQ  7KH 975V GHVFULEHG LQ 4972 DUH EDVHG RQ WKH PHWDPRGHOVSUHVHQWHGLQ6HFWLRQWKH\DUHUHIHUHQFHGGXULQJ WKH H[HFXWLRQ RI WKH WUDQVIRUPDWLRQ 7KH PRGHOV FUHDWHG ZLWK WKH975VH[HFXWLRQ DUHUHSUHVHQWHGDV;0,ILOHV  ,Q RXU ZRUN ZH ZHUH DEOH WR DXWRPDWH  KRUL]RQWDOV +75+75 DQG YHUWLFDOVWUDQVIRUPDWLRQUXOHV>@ +RZ HYHUGXHWRVSDFHOLPLWDWLRQLQWKLVSDSHU ZHRQO\ GLVFXVVKRZ

ZH GHDOWZ LWK WKH YHUWLFDOV UXOHV 7DEOH  LOOXVWUDWHV WKH HOH PHQWV SUHVHQW LQ WKH VRXUFH PRGHO DQG WKHLU FRUUHVSRQGLQJ HOHPHQWVSUHVHQWLQWKHWDUJHWPRGHO 7$%/(, 9(57,&$/75$16)250$7,2158/(6 Source (L ) Target (Acme)

/DVW EXW QRW OHDVW WKH 975 PDSV DOO dependee DFWRUV WR SURYLGHG SRUWV LQ WKH FRUUHVSRQGLQJ FRPSRQHQWV REWDLQHG E\ WKRVHDFWRUV)RUWKLVZHOLVWDOOdependeeDFWRUVLQWKHPRGHO (YHU\SRUWJHQHUDWHGKDVDQDPHDQGDSURSHUW\7KHSRUWQDPH LVJLYHQDWUDQGRP7KHSRUWSURSHUW\QDPHLVProvidedWKH SRUWW\SHLVVHWWRbooleanDQGWKHSRUWYDOXHLVVHWWRtrue

VTR1 

 VTR2 



VTR3 



VTR4 

7KH ;0, RXWSXW ILOH ZLOO FRQWDLQ “SRUWV” WDJV ZLWKLQ WKH acmeElementWDJRIFRPSRQHQWW\SH0RUHRYHUVLQFHWKH\DUH UHTXLUHG SRUWV WKHUH ZLOO EH RQH SURSHUW\ ZLWK DQ DWWULEXWH QDPHGRequiredZKRVHYDOXHLVVHWWR true



 7R PDS i*DFWRUVWR $FPH FRPSRQHQWV ZHQHHGWRREWDLQ WKH QXPEHURIDFWRUVSUHVHQWLQ WKH PRGXODUL]HG i* 6' PRGHO DUWLIDFW6RZHFUHDWHWKHVDPHDPRXQWRI $FPHFRPSRQHQWV JLYLQJWRWKLVFRPSRQHQWVWKHVDPHQDPHVRIWKHi*DFWRUV7KH ;0,ILOHREWDLQHGDVRXWSXWRIWKLVWUDQVIRUPDWLRQZLOOFRQWDLQ WKHFRPSRQHQWVUHSUHVHQWHGE\WDJV )LJXUH  while(actorsAmount > 0) { result.acmeElements += object Component{ name := self.actors.name->at(actorsAmount); } actorsAmount := actorsAmount - 1; }

while(dependencyAmount > 0) { if(self.actors.name->includes(self.links.source>at(dependencyAmount).name) and self.actors.name>at(actorsAmount).=(self.links.source>at(dependencyAmount).name)) then { ports += object Port{ name := "port"+countPort.toString(); properties := object Property { name := "Required"; value := "true" }; }; } endif; dependencyAmount := dependencyAmount - 1; countPort := countPort + 1; }; )LJXUH([FHUSWRIWKH4972FRGHIRU975

)LJXUH([FHUSWRIWKH4972FRGHIRU975  ,QWKH 975HDFKi*GHSHQGHQF\FUHDWHVWZR;0,WDJVRQH FDSWXULQJWKHdependerWRWKHdependumFRQQHFWLRQDQGDQRWK HURQHFDSWXUHVWKHdependum WRWKHdependee

,QRUGHUWRPDSWKHVHGHSHQGHQFLHVLQ$FPHFRQQHFWRUVLW LV QHFHVVDU\ WR UHFRYHU WKH WZR GHSHQGHQFLHV WDJV REVHUYLQJ WKDWKDYHWKHVDPH dependum,WLVQHFHVVDU\ QRWFRQVLGHUWKH DFWRUZKLFKSOD\VWKHUROHRIdependerLQVRPHGHSHQGHQF\DQG dependee LQ DQRWKHU 2QFH WKLV LV SHUIRUPHG WKHUH DUH RQO\ dependums OHIW )RU HDFK dependum RQH $FPH FRQQHFWRU LV FUHDWHG 7KH FRQQHFWRU FUHDWHG UHFHLYHV WKH QDPH RI WKH dependumRIWKHGHSHQGHQF\OLQN7ZRUROHVDUHFUHDWHGZLWKLQ WKH FRQQHFWRU RQH QDPHG dependerRole DQG DQRWKHU QDPHG dependeeRole7KH;0,RXWSXWILOHZLOOFRQWDLQWKHFRQQHFWRUV UHSUHVHQWHGE\WDJV VHH)LJXUH   )LJXUH&RQQHFWRULQ;0,

 7KH 975 FRQYHUWV D depender DFWRU LQWR D UHTXLUHG SRUW SUHVHQWLQWKHFRPSRQHQWREWDLQHGIURPWKDWDFWRU VHH)LJXUH   )LUVW ZH FUHDWH RQH $FPH SRUW IRU HDFK DFWRU depender (DFKSRUWFUHDWHGKDVDQDPHDQGDSURSHUW\7KHSRUWQDPHLV JLYHQDWUDQGRPMXVWWRFRQWUROWKHP7KHSURSHUW\PXVWKDYHD QDPH DQGDY DOXH VR WR WKH SURSHUW\ QDPH LV DVVLJQHG 5H TXLUHGDVZHDUHFUHDWLQJDUHTXLUHGSRUWDQGWKHYDOXHLVtrue

446



 )LJXUH3URYLGHGSRUWFRPSRQHQWDQGSURSHUWLHVLQ;0,

$IWHUFUHDWLRQRIWKHEDVLFV$FPHHOHPHQWVLWLV QHFHVVDU\ WRFUHDWHWKHAttachmentREMHFWHOHPHQWUHVSRQVLEOHIRUDVVRFL DWLQJWKHFRQQHFWRUVWRWKHUHTXLUHGDQGSURYLGHGSRUWVSUHVHQW LQWKHFRPSRQHQWV7KHUHIRUHDQDWWDFKPHQWLVFUHDWHGIRUHDFK SRUWRIDFRPSRQHQW(DFKAttachmentKDVDFRPSRQHQWDVDQ DWWULEXWHDSRUWDFRQQHFWRUDQGDUROH 1H[WVHFWLRQSUHVHQWVDQH[DPSOHWRLOOXVWUDWHRXUDSSURDFK ,9

5811,1*(;$03/(

0\&RXUVHVLVDVFKHGXOLQJV\VWHPWKDWSURYLGHVDVRSWLPDO DVSRVVLEOHDSODQIRUVFKHGXOLQJFRXUVHV,WDOORZVXQLYHUVLWLHV WRSHUIRUPWDVNVVXFKDVFKHFNLQJDQGOLVWLQJDYDLODEOHOHFWXUH URRPVWHDFKHUVVWXGHQWVHQUROOHGLQDQ\FRXUVH,WZDVRQHRI WKH SURMHFW SURSRVDOV IRU WKH ,&6(  6WXGHQW &RQWHVW RQ 6RIWZDUH(QJLQHHULQJ>@ 7KH PRGXODUL]HG L  6'P RGHO IRU WKH 0\&RXUVHV V\VWHP )LJXUH   ZDV XVHG DV LQSXW PRGHO IRU WKH H[HFXWLRQ RI WKH 975V7KHVHUXOHVKDYHWKHREMHFWLYHWRWUDQVIRUPDPRGXODU L]HGL 6'PRGHOLQWRDQ$FPHLQLWLDODUFKLWHFWXUDOPRGHO $IWHUWKHDXWRPDWHGDSSOLFDWLRQRIWKH975VD;0,PRGHO UHSUHVHQWLQJ WKH RXWSXW PRGHO DQG FRPSDWLEOH ZLWK WKH $FPH PHWDPRGHO ZLOO EH JHQHUDWHG )LJXUH  VKRZV WKH JUDSKLFDO UHSUHVHQWDWLRQRIWKDW;0,PRGHOIRUWKH0\&RXUVHVV\VWHP



&XUUHQWO\WKHRXWSXWRIRXUSURFHVVLVDQ;0,ILOHZLWKWKH LQLWLDO $FPH DUFKLWHFWXUDO PRGHO %XW WKH $FPH6WXGLR WRRO UHDGLQJILOHVGHVFULEHGLQ$FPHWH[WXDOODQJXDJH$VDFRQVH TXHQFH WKH FXUUHQW DUFKLWHFWXUDO PRGHO FDQQRW EH JUDSKLFDOO\ GLVSOD\HG + HQFH RXU SODQ LV WR SURYLGH QHZ WUDQVIRUPDWLRQ UXOHV WR JHQHUDWH WKH WH[WXDO UHSUHVHQWDWLRQV &DVH VWXGLHV DUH VWLOOUHTXLUHGWRYDOLGDWHRXUDSSURDFK 5()(5(1&(6 >@ >@

 )LJXUH0RGXODUL]HGi*6'PRGHO0\&RXUVHV

 >@

>@ >@

>@

 )LJXUH$FPH0RGHOIURP0\&RXUVHV

9



5(/$7(':25. >@

2XUZRUNLVXQLTXHLQVXSSRUWLQJWKH675($0DSSURDFK 0D5L6$0'' >@ SUHVHQWV D VWUDWHJ\ EDVHG RQ PRGHOV WKDW LQWHJUDWH DVSHFWRULHQWHG UHTXLUHPHQWV DUFKLWHFWXUH DQG GHWDLOHG GHVLJQ XVLQJ $29JUDSK $VSHFWXDO$&0( DQG D6LGH0/ ODQJXDJHV UHVSHFWLYHO\ ,W GHILQHV UHSUHVHQWDWLYH PRGHOVDQGDQXPEHURIWUDQVIRUPDWLRQVEHWZHHQWKHPRGHOVRI HDFKODQJXDJH7KHWUDQVIRUPDWLRQODQJXDJHXVHGZDV$7/ 6LOYD HW DO >@ VSHFLI\ WKURXJK D PRGHOGULYHQ DSSURDFK WKH WUDQVIRUPDWLRQV QHFHVVDU\ IRU DUFKLWHFWXUDO PRGHOV GH VFULEHG LQ 80/ IURP DUFKLWHFWXUDO RUJDQL]DWLRQDO PRGHOV GH VFULEHGLQL 7KHWUDQVIRUPDWLRQODQJXDJHXVHGZDV$7/ 9,

>@

&216,'(5$7,216$1')8785(:25.6

>@

>@

>@

>@

>@

,WWKLVSDSHUZHDGYRFDWHGWKHXVHRI PRGHOWUDQVIRUPDWLRQ WRJHQHUDWHDUFKLWHFWXUDOPRGHOVIURPUHTXLUHPHQWVPRGHOV:H UHYLHZHG WKH 675($0 SURFHVV ZKLFK GHILQHV DQG DSSOLHV PDQXDOO\ DVHWRIPRGHOWUDQVIRUPDWLRQUXOHVWRREWDLQ$FPH DUFKLWHFWXUDOPRGHOVIURPL UHTXLUHPHQWVPRGHOV ,QRUGHUWR GHFUHDVHWLPHDQGHIIRUWUHTXLUHGWRSHUIRUPWKH 675($0 SURFHVV DQG PLQLPL]H WKH HUURUV LQWURGXFHG E\ WKH PDQXDO H[HFXWLRQ RI WKH WUDQVIRUPDWLRQ UXOHV ZH SURSRVHG WR XVH WKH 4972 ODQJXDJH WR DXWRPDWL]H WKH H[HFXWLRQ RI WKHVH UXOHV 2XUIRFXVZDVRQWKHDXWRPDWLRQRIWKH975VUHVSRQVL EOH WR JHQHUDWH DQ LQLWLDO $FPH DUFKLWHFWXUDO PRGHO 0HWDPRGHOV RIWKHL DQG$FPHODQJXDJHVZHUHSURYLGHG7KH LQSXW PRGHOV RI WKH 975V DUH FRPSDWLEOH ZLWK WKH L6WDU7RRO DQG WKHRXWSXW PRGHOV DUH FRPSDWLEOH ZLWK $FPH PHWDPRGHO VXSSRUWHGE\WKH$FPH6WXGLRWRRO 

447

>@

>@

>@

$&0( $FPH $FPH  7KH $FPH6WXGLR  $YDLODEOH LQ KWWSZZZFVFPXHGXaDFPH$FPH6WXGLR!$FFHVVHGLQ0D\ *$5/$1 D., MONROE, R., Wile, D. Acme: An Architecture Description Interchange Language. In: Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research (CASCON‫ތ‬97).Toronto, Canada /8&(1$0&$6752-6,/9$&$/(1&$5)6$1726( 3,0(17(/ - $ 0RGHO 7UDQVIRUPDWLRQ $SSURDFK WR 'HULYH $UFKLWHFWXUDO0RGHOVIURP*RDO2ULHQWHG5HTXLUHPHQWV0RGHOV,QWK ,:66$ 27 0 :RUNVKRSV  /HFWXUH 1RWHV LQ &RPSXWHU 6FLHQFH 9ROXPH (&/,36( 00 0RGHO 7R 0RGHO 00  $YDLODEOH LQ KWWSHFOLSVHRUJPP!$FFHVVHGLQ0D\ &$6752-/8&(1$06,/9$&$/(1&$5)6$1726( 3,0(17(/ -& KDQJLQJ $WWLWXGHV 7RZDUGV WKH *HQHUDWLRQ RI $UFKLWHFWXUDO0RGHOV-RXUQDORI6\VWHPVDQG6RIWZDUH 0$/7$ $ 62$5(6 0 6$1726 (3$ (6 - $/(1&$5 ) &$6752 -L6WDU7RRO 0RGHOLQJ UHTXLUHPHQWVXVLQJWKH i* IUDPHZRUN ,6WDU$XJXVW 20*2EMHFW0DQDJHPHQW*URXS0'$3URGXFWLYLW\6WXG\-XQ\ $YDLODEOH LQ KWWSZZZRPJRUJPGDPGDBILOHV0'$B&RPSDULVRQ 70&BILQDOSGI!$FFHVVHGLQ0D\ 20* 497  0HWD 2EMHFW )DFLOLW\ 02)   4XHU\9LHZ7UDQVIRUPDWLRQ 6SHFLILFDWLRQ -DQXDU\  $YDLODEOH LQ KWWSZZZRPJRUJVSHF497!$FFHVVHGLQ0D\ /8&(1$06,/9$&6$1726($/(1&$5)&$6752- $SSO\LQJ7UDQVIRUPDWLRQ5XOHVWR,PSURYHi*0RGHOV6(.(  6&25(7KH6WXGHQW&RQWHVWRQ6RIWZDUH(QJLQHHULQJ 6&25( $YDLODEOHLQKWWSVFRUHFRQWHVWRUJ!$FFHVVHGLQ 0D\