architecture-based software engineering ; cu-cs-891-99 · 2017. 2. 5. · university of colorado,...

57
University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999 Architecture-Based Soſtware Engineering ; CU- CS-891-99 Judith Stafford University of Colorado Boulder Alexander L. Wolf University of Colorado Boulder Follow this and additional works at: hp://scholar.colorado.edu/csci_techreports is Technical Report is brought to you for free and open access by Computer Science at CU Scholar. It has been accepted for inclusion in Computer Science Technical Reports by an authorized administrator of CU Scholar. For more information, please contact [email protected]. Recommended Citation Stafford, Judith and Wolf, Alexander L., "Architecture-Based Soſtware Engineering ; CU-CS-891-99" (1999). Computer Science Technical Reports. 838. hp://scholar.colorado.edu/csci_techreports/838

Upload: others

Post on 02-Mar-2021

9 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

University of Colorado, BoulderCU Scholar

Computer Science Technical Reports Computer Science

Fall 11-1-1999

Architecture-Based Software Engineering ; CU-CS-891-99Judith StaffordUniversity of Colorado Boulder

Alexander L. WolfUniversity of Colorado Boulder

Follow this and additional works at: http://scholar.colorado.edu/csci_techreports

This Technical Report is brought to you for free and open access by Computer Science at CU Scholar. It has been accepted for inclusion in ComputerScience Technical Reports by an authorized administrator of CU Scholar. For more information, please contact [email protected].

Recommended CitationStafford, Judith and Wolf, Alexander L., "Architecture-Based Software Engineering ; CU-CS-891-99" (1999). Computer ScienceTechnical Reports. 838.http://scholar.colorado.edu/csci_techreports/838

Page 2: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

����������� ���������������������� �"!#%$&�'���)(+*�,-�.*�� �/���.*�,

0�1/2/3547698;:�<�47=?>'@�AB2C=�D/298FE5GIHJ=�D/2JG�ALK�:JMN@�E5O

<�@�OP4.QR=SA7GUT�D/V�3WDJG�G�AB3WD/VYXLG%Z[G%=SAB\]6CK^=S_'@�AB=S4[@�AB`aFG�b =SA747cdG%D�4e@�Ogfh@�cdb 1J4[G�AF<�\�3WG%D/\IG

iFD/35j�G�ABZ73W4.`&@�Ogfh@�EW@�AB=�2J@kh@�1/EW2JG�Aml�fon pSq�rSq�stiu<�8

vxw 1/2J`�Z�ly=�E5Q{z?|{\�Z�:y\I@�E5@�AB=�2J@J:}G%2 1

iFD/35j�G�ABZ73W4.`&@�Ogfh@�EW@�AB=�2J@aFG�b =SA747cdG%D�4e@�Ogfh@�cdb 1J4[G�AF<�\�3WG%D/\IG

~ G%\]6/D/3W\�=�E^XoG�b'@�A74efRiL�#fo<���p�s�����s�s �L@�j�G%cU_'G�AY�%s�s�s

������m���e�����������+�o���?�#�%�����#���%���Y�����B���m�����]� �^���&�m���

�N���g ¢¡N��£� 

¤^¥�¦¨§;©�ª]©J«�¬�©�¬[­S®m¦°¯�«�§CªS±²­S®S«�¬]®�¦°«�³´­xµ�¶P¥�«¸·+ª[¹I­S¬9¦º§B§�» «�§�ª�±�¯¼¶½¬7«I±�¯S§�¦P±¾ªS¬[¿I¥�¦P¶.«B¿%¶½»�¬[«�À[ÁBª?§�«B¯§�­xµI¶½³�ªS¬[«Â«I±�Ã�¦P±Ä«B«�¬]¦P±�Ã�Å�Æ�¥�¦PÇW«�ªSǺÇL§I­xµI¶½³�ªS¬7«�§�È?§�¶.«I·�§N¿BªS±ÉÁ]«N¯�«�§�¿�¬�¦°Á]«7¯Â¦P±Ê¶.«I¬�·�§Ë­xµË¿]­S·YÀ©J­S±Ä«I±�¶P§¸ª�±�¯N¦P± ¶.«I¬[¿B­�±/±Ä«7¿m¶½¦½­�±J§BÌ�§]»/¿I¥)¯�«�§�¿�¬�¦y©Ä¶½¦°­S±J§CªS¬7«¸±�­�¶UªSÇͳ�ªSÈ?§C¯�­%¿%»�·¢«�± ¶.«7¯�ÅÏÎ�Ð�©�Çͦ½¿%¦P¶¯�«�§I¿%¬]¦Ñ©Ä¶½¦°­S±Ò­[µ¢§�­xµ�¶½³�ª�¬[«ËªS¬[¿I¥�¦½¶.«7¿m¶½»�¬[«Y©�¬[­S®m¦°¯�«�§CªYµ�­S»�±�¯�ª�¶½¦½­S±�µI­�¬Ó»�±�¯�«�¬B§I¶ªS±�¯S¦P±�êS±�¯¼¬[«BªSÀ§�­S±/¦P±�ÃϪ�ÁB­S»J¶YÁB­�¶P¥Ô¶P¥�«Uµ]»�±�¿m¶½¦½­S±ÄªSÇ�¦½¶½Èª�±�¯)Õ�»/ªSÇͦP¶½È)­xµ�§I­xµI¶½³�ªS¬7«�§]È?§I¶.«I·�§¸®S«�¬]È«BªS¬�Ç�ÈÖ¦º±²¶P¥�«¯�«I®S«�Ç×­�©�·¢«I± ¶Ø©Ä¬x­%¿�«�§]§dªS§U³Ù«IÇPÇ ªS§Yª�¶oªÓ¥�¦5ÃS¥�Ç5«�®S«IÇ ­xµ+ª�Á�§I¶½¬xª�¿m¶½¦½­�±�Å;Ú]±¼¶P¥�¦º§o©Jª]©J«I¬]Ìo³Ù«+¯S¦º§I¿%»�§B§¶P¥J«oµ�­S¬�·dªSÇ�¦WÛ%ª�¶½¦½­S±Ü­[µ¢ªS¬x¿�¥�¦½¶.«7¿%¶½»�¬[ªSÇ�§.©J«7¿%¦ Ýh¿Bª�¶½¦°­S±JÌF¦º±�¿%Ç�»/¯S¦P±�Ã�ª9¬7«I®�¦°«�³Þ­xµY§%«I®�«I¬[ªSÇgÇת�±�Ã�»/ª%Ã�«�§¯�«I®S«�Ç×­�©J«7¯)«�§.©J«7¿%¦½ªSÇPÇÍÈ+µI­S¬¸ªS¬[¿I¥�¦P¶.«B¿%¶½»�¬xª�ÇL¯�«�§�¿�¬�¦y©Ä¶½¦°­S±JÌYªS±�¯+µ�­SÇPÇ×­�³ß¶P¥�¦º§&³g¦½¶P¥Âªà¯�¦¨§�¿�»�§B§�¦½­S±Ò­xµª�¬x¿�¥�¦P¶.«B¿%¶½»�¬[ªSÇhªS±ÄªSÇ�È?§�¦¨§d¶.«7¿�¥�±/¦°Õ�» «�§+¶P¥�ª�¶u¿Bª�±)ÁB«Óª]©�©ÄÇ�¦«7¯Ë¶­Cª�¬x¿�¥�¦P¶.«B¿%¶½»�¬7«�§Ó¯�«I§I¿�¬�¦ÁB«7¯C¦P±Ö¶P¥�«I§�«Ç5ªS±�Ã�»/ª%Ã�«I§IÅ+áL¯�¯S¦P¶½¦°­S±�ª�ǺÇÍÈ?ÌL³Ù«d¯S¦º§I¿%»�§B§�§�«I®�«I¬[ªSÇ�­�¶P¥�«�¬Ó«I·¢«I¬°Ã�¦P±�ÃC¿]­S±�¿�«�©Ä¶P§+¦P±¼§I­[µ�¶½³�ªS¬7«&ªS¬[¿I¥�¦PÀ¶.«B¿%¶½»�¬7«�¶P¥�ª�¶âªS¬7«;¥�ªS®�¦º±�Ã9ª�±Ë¦P±%ãh» «I±�¿�«Y­S±N¶P¥�«uÃ�«�±Ä«I¬[ªSÇ"»J¶½¦PÇ�¦½¶½È&­xµ;¶P¥�«ÙÝh«IÇ5¯�Å

Page 3: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999
Page 4: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� ��������� ����������

8FEWE'Z[`�Z74[G%cdZR_ 1/3WEW4�OPA7@�c \I@�c+b'@�DJG%D�47ZRGIHJ6/35_�354hZ74[AB1/\I471JA7G%Zh476/=S4â_�3WD/2/ZÙ476J@�Z[G{\I@�c+b'@�DJG%D�47ZR4[@�V�G�476JG�A%:âfh@�D��Z73W2/G�A%lÙOP@�A&GIH�=�c+b�E5G�lR476JG�2J@�c¢=�3WDÔ@�O{\�35j�3WEâG%DJV�3¨DJG�G�AB3WDJV¼=�D 2�lo3WDÏb =SAB473W\�1/EW=SA%lh476JGËZ[4[AB1/\I471JABG¸476/=S4¢_�3WD/2/Z_ 1/3¨EW2/3WDJVÖcd=S4[G�AB3W=�EWZ93¨D�4[@Ô2J@�cdG%Z[473W\N2JQhG%EWEW3WD/V�Z�: fR35j�3WEF=SAB\B6 354[G%\I47ZC=SA7GN4[A]=�3WDJG%2²4[@Ü=Sb/b�E5`Ô476JG%35A9V�G%D/G�AB=�E� DJ@mQLEWG%2JV�G¢@�Oâ_ 1 3WEW2/3WD/V&cd=S4[G�A]3W=�EWZ�lØ_ 1/3WE¨2/3WDJV9\I@�2JG%Z�l =�D/2Ö=SG%Z7476JG�473W\&EW=%QLZU4[@Ë=�Z[G�4�@�OoZ[b'G%\�3�� \d\�1/Z74[@�c+G�ADJG�G%2/Zâ=�D 2Ó_�1/2JV�G�47=SA7`&\I@�D/Z[4[AB=�3WD�47Z�lJZ71/\]6�476/=S4â476JGuA7G%Z71 E5473WDJV�2JQÙG%E¨EW3WDJV�Zh=SA7G{Z7=SOPG�lJOP1/D \I4735@�D/=�E°l�=�D/29=?>'@�AB2��=S_ E5G�:��¸@�A7G�@�j�G�A%lÙ\�3Wj�3WE�=SAB\B6/3W4[G%\I47Z+c;1/Z74U_'GÓ=S_ EWGd4[@NZ71/\�\�3WD/\I47EW`�\I@�c¢c;1/D 3W\�=S4[GÓ476/G%35A;2JG%ZB35V�D/Z 4[@�=�QL3W2JG=�1/2/3WG%D/\IG{476/=S4L3WD \�EW1/2JG%ZR\�1/Z[4[@�cdG�ABZ�lJ_ 1/3¨EW2JG�ABZ�l�=�D/2¸3¨D/Z[b'G%\I4[@�ABZ�:

~ @Âc¢= � GË476/GC47=�Z � 4[A]=�\I47=S_ E5G�le\�3Wj�3WEe=SAB\B6 354[G%\I47Z&QÙ@�A � _�`Ô=�Z7Z7G%cU_ E¨3WDJV¼476JG%3WA&2JG%ZB35V�D/ZdOPA7@�c OP=�c¢3WEW3W=SA\I@�c+b'@�DJG%D�47ZU476 =S4�=SA7G&QhG%EWE�1/D 2JG�ABZ[4[@�@�2à_�`¼=SA]\B6/354[G%\I47Z%l�\�1/Z[4[@�c+G�ABZ%lØ_�1/3WEW2JG�A]Z�l^=�D/2Â3WD/Z[b'G%\I4[@�ABZ%:¸Xo@�@�cdZ=SA7G�2/G�� DJG%2{_�`uQh=�EWE¨Z"=�D/2 3WD�4[G�AB\I@�D/D/G%\I4[G%2U_�`{2J@�@�ABQh=m`�Z���� @�@�ABZ"@�O�AB@�@�cdZ-=SA7G�3WD�4[G�AB\I@�D/D/G%\I4[G%2U_�`{Z[47=�35A7QR=%`�ZE5G%=�2/3¨DJV 4[@Y=�D/2dOPA7@�c 6/=�EWE5QR=%`�Z���_�=S476JA7@�@�cdZ�@�DÓ476JGFZ7=�c+G�� @�@�AR=SA7GLb�EW=�\IG%2ÓD/G%=SAÙ4[@;G%=�\B6�@�476JG�AR=�D/2d476/@�Z[G@�D)2/3×>'G�A7G%D�4��/@�@�ABZ�=SA7GÓb�EW=�\IG%2)=S_Ä@�j�G�G%=�\B6)@�476JG�A%:��xDàG%Z7Z7G%D/\IG�l�476JG�2JG%Z735V�Dà@�OL=�2J@�c+G%Z[473¨\¢2JQhG%EWEW3WD/VC3WZ2JG�� D/G%2�_�`�3547Zâb =SAB473W\�1/EW=SAo\I@�c;_ 3WD/=S473W@�D¸=�D/293WD�4[G�AB\I@�D/DJG%\I473W@�D9@�O A7@�@�c¢Z�:

kR1J4h476JGu=SA7AB=�DJV�G%c+G%D�4R@�O"A7@�@�cdZh3WDÓ=�2J@�c+G%Z7473W\L2JQhG%EWEW3¨DJVU3WZÙ@�D/E5`+@�DJGuZ[4[AB1 \I471JA7GL@�O-3WD�4[G�ABG%Z[4�:�8eD/@�476JG�A3WZØ476JGRb EW1 cU_ 3¨DJVLZ[4[AB1 \I471JA7Gâ=�D/2�`�G�4�=�DJ@�476JG�A�3¨Z-476/GhG%EWG%\I4[AB3W\�=�EJZ[4[AB1 \I471JA7G�: ~ 6JGâ2JG�47=�3WEWZØ@�O�476JG%Z[GâZ[4[AB1/\I471/A7G%Z�lQL6/3¨\B693WD�j�@�E5j�G 2/3×>'G�A7G%D�4 � 3WD 2/Zh@�OØ\I@�c+b'@�DJG%D�47Zo=�D/293¨D�4[G�AB\I@�D DJG%\I4735@�D/Z�lJ=SA7GUb/A7@�_ =S_ EW`d@�OØE¨354[47E5Gu3WD�4[G�ABG%Z[4â4[@476JGu@�\�\�1Jb =�D�4�lJGIH�\IG�b/4â4[@+476/GFGIH�4[G%D�4o476/=S4R476JG�`Ó=?>'G%\I4o476JG{=SA7A]=�DJV�G%c+G%D�4â@�O^A7@�@�cdZ�lJZ71/\]69=�ZR476JG{E5@�\�=S4735@�D@�Oâ_ =S476JAB@�@�cdZ%:ËnuD¼476/GÓ@�476JG�AY6/=�D/2"l-476JG%Z7G&Z[4[A]1/\I471JA7G%Z�=SA7GÓ\IA]35473W\�=�E�4[@Ëb EW1 cU_'G�ABZ =�D 2¼G%E5G%\I4[AB3¨\�3W=�D/Z�: �xDO½=�\I4�l 476JG%35Ao3¨D�4[G�A7b�EW=%`�3WZâ=�EWZ[@d3¨c+b'@�A747=�D�4o=�D 2¸\�=�D¸=?>'G%\I4L476JG @�j�G�AB=�EWE"2/G%Z735V�D�:

~ 6/GUDJ@�4735@�DC@�O Z7@�Oº4�Qh=SA7GY=SAB\]6/354[G%\I471JA7G�\�=�D¸_'GU1/D 2JG�ABZ[4[@�@�2�_�`9=�D/=�E5@�V�`94[@&\�35j�3¨E�=SAB\B6/3W4[G%\I471JA7G�:!�#DC476JG2J@�cd=�3¨D+@�O�Z[@�Oº4�Qh=SABGLG%DJV�3WD/G�G�AB3WDJVJl�476JGeZ[4[AB1/\I471JABGo@�O�\I@�c+b'@�DJG%D�47Z�3WZ�=�EWZ[@U476JGLc+G%=�D/Z�_�`�QL6/3¨\B6d= Z7`�Z[4[G%c´3WZ1/D/2/G�ABZ[4[@�@�2Ó=�D/2&G�j?=�EW1 =S4[G%2�:�8eD 2Ó6JG�ABG�l�4[@�@Jl�476JG�A7G{=SA7GuZ[G�j�G�AB=�E�Z[4[A]1/\I471JA7G%ZÙ476/=S4â=SA7GF@�O-3WD�4[G�A7G%Z[4R=�D/2Ó476/=S43WD�j�@�E5j�G;2 3×>ÄG�ABG%D�4 � 3WD 2/Zâ@�O�\I@�c+b'@�DJG%D�47ZF=�D/2�3¨D�4[G�AB\I@�D DJG%\I4735@�D/Z�:�"J@�AuGIH�=�c+b�E5G�l�476/G�A7G;=SA7G�476JG;b/A7@�\IG%2/1JA7G\I@�c+b'@�DJG%D�47Z;=�D 2à476JG%3WA;3WD�4[G�AB\I@�D/DJG%\I473W@�Dà476JAB@�1JV�6à3WD�j�@�\�=S4735@�D�l 476JG�A7G&=SA7GÓ476/GÓZ71J_�Z[`�Z74[G%c c+@�2/1/E5G%Z;=�D/2476JG%35AF3WD�4[G�AB\I@�D/DJG%\I4735@�D�476JA7@�1/V�6�2/=S47=&=�D/2Ë\I@�D�4[AB@�EØ\I@�c¢c;1/D 3W\�=S4735@�D�lÄ=�D/2C476/G�A7G;=SA7G�476JGYZ[@�1JAB\IG#� E5G%ZF=�D/2476JG%35Ao3¨D�4[G�AB\I@�D DJG%\I4735@�D¸476/A7@�1JV�69\I@�c+b 3¨EW=S4735@�D92JG�b'G%D/2JG%D \�35G%Z�:

8�Z[@�OP4.QR=SA7G�Z[`�Z74[G%c%$yZe=SA]\B6/354[G%\I471/A7G;3WZo476JG;=SA7A]=�DJV�G%c+G%D�4L@�Og3547ZL\I@�cdbÄ@�D/G%D�47Ze3WD�4[@Ó@�DJG @�Auc+@�A7GUZ74[AB1/\��471JA7G%ZY2JG���DJG%2¼_�`¼476JG�O½1/D/\I4735@�D/=�E�A7@�E5G&b EW=m`�G%2Ö_�`¼G%=�\]6Ï\I@�c+b'@�DJG%D�4Y=�D/2Â476JG�3WD�4[G�AB=�\I4735@�DÂA7G%EW=S4735@�D Z76/35b ZGIHJ6/35_ 354[G%2¸_�`�476JG�\I@�c+b'@�DJG%D�47Z%: ~ 6JG;Z7@�Oº4�Qh=SA7GY=SAB\]6/354[G%\I4u3WZâA7G%Z[b'@�D/ZB35_ E5GuOP@�AF2JG%ZB35V�D/3WDJVJl/cd@�2/3WOº`�3WDJVJl/2J@�\��1/c+G%D�473WDJVJlJG�jS=�EW1/=S473¨DJVJl/=�D/29G%DJOP@�AB\�3WD/VY=¢Z[@�Oº4�Qh=SABG;Z[`�Z[4[G%c%$yZe=SAB\B6/3W4[G%\I471JA7G�:

~ @�cd= � G&476JG¢Z7@�Oº4�Qh=SA7G�2JG%Z73WV�D¼47=�Z � 4[AB=�\I47=S_�E5G�lgZ � 3¨EWE5G%2NZ[@�OP4.QR=SA7G�=SAB\B6/3W4[G%\I47ZUQL3¨EWEgcd= � G�1/Z[Gd@�OâQhG%EWE×�1/D/2/G�ABZ[4[@�@�2Â\I@�c+b'@�DJG%D�47Z�=�D 2Â3¨D�4[G�AB\I@�D DJG%\I4735@�D/ZY=SA7AB=�D/V�G%2Ï3WD�4[@ËO½=�cd3WEW3W=SA�=�D/2ÂA7G%EW3W=S_�E5GÓZ[4[A]1/\I471JA7G%Z�:N8FDGIH�4[A7G%c+G%E5`¢ZB3Wc+b E5GLGIH�=�c+b�E5Ge3WZÙ476JGu\I@�c+b 3WEWG�AÙ=SAB\]6/354[G%\I471JA7G � DJ@mQLD�=�Zh476JG ·�»�Ç׶½¦ºÀ¨© ¥�ªS§�«;¶½¬xª�±J§]Ç5ª�¶­S¬ :&�xDÓ476/3WZ=SAB\]6/354[G%\I471JA7G�l�\I@�c+b 3WEW=S473W@�D&3¨ZhZ74[AB1/\I471JA7G%293¨D�4[@+476JGub 6 =�Z[G%ZR@�OØEWGIH�3W\�=�El�Z7`�D�47=�\I473W\Sl =�D/29Z7G%cd=�D�473¨\{=�D/=�E5`�Z[G%Z�lOP@�EWE5@mQhG%2N_�`C@�b/473¨cd3�'%=S4735@�DN=�D/2�47=SABV�G�4x�.\I@�2JGÓV�G%DJG�AB=S4735@�D":dT�=�\B6¼b 6/=�Z[Gd3WZ{=�4[A]=�D/Z7EW=S4735@�D�@�Oh476JGd=S_ Z74[AB=�\I4b/A7@�V�A]=�c OºA7@�c @�D/G�OP@�ABc 4[@¸=�DJ@�476/G�A%l^Z71/\]6N=�Zu476JG+E5GIHJ3W\�=�Eg=�D/=�E5`�Z73WZe476/=S4 \�=�1/Z[G%ZU\B6/=SAB=�\I4[G�A]Z 4[@9_'G%\I@�c+G4[@ � G%D/Z�:;8LA7@�1 D/2C476 3WZu=SAB\B6/3W4[G%\I471JA7G+6/=�Zu2JG�j�G%E5@�b'G%2�=&Oº@�ABc¢=�E-476/G�@�A7`�=�D/2�=Ó4[@�@�E¨Z[G�4{Oº@�AuG%=�\]6¼3WD/2/3Wj�3W2 1/=�Eb 6/=�Z7G�:(�#DÂO½=�\I4�lÙ354Y3WZ�476JG�=�2J@�b/4735@�DÂ@�OL476 3WZY\I@�cdc+@�DÏ=SAB\]6/354[G%\I471JA7G�OP@�A+\I@�c+b 3WEW=S473W@�Dà476/=S4d6 =�Z�=�E¨E5@mQhG%2=�2JjS=�D/\IG%ZL3¨D93WD/2/35j�3W2/1 =�E/b 6/=�Z7G%Z�l/Z71/\]6¸=�Zâ476JGU3¨D�j�G%D�4735@�D9@�OØV�G%DJG�AB=S4[@�AF4[@�@�E¨ZoEW3 � G K-T*) =�D/2,+�8LfofF:

8FEWE Z[@�OP4.QR=SA7GdZ[`�Z[4[G%cdZ�l w 1/Z[4u=�Z{=�EWE 2J@�c+G%Z[473¨\�2/QÙG%EWE¨3WDJV�Z�lÄ6/=%j�Gd=�DN=SAB\]6/354[G%\I471JABG�:#�¸@�ABG�@mj�G�A%lØZ[@�Oº4�Qh=SABG=SAB\]6/354[G%\I471JA7G%Zu=SA7G;b/A7G%Z[G%D�4e=S4ucd=�D�`¸E5G�j�G%EWZeQL35476/3¨D¸=¢Z[`�Z[4[G%c9l w 1/Z[4e=�ZF=ÓA7@�@�ct\�=�D�6/=%j�GY=�D�=SA]\B6/354[G%\I471/A7GZ[G�b =SA]=S4[G&OPA7@�c�476JG�6J@�1/Z[G&3WDàQe6/3W\B6Ö354;3¨Z;Z73W471/=S4[G%2�: ~ @�1/D/2JG�A]Z[47=�D/2à=ËZ[@�OP4.QR=SA7G9=SAB\B6 354[G%\I471JA7G�QhG&6/=mj�G4[@Ó1 D/2JG�ABZ[47=�D 29476JG;\I@�D�4[GIH�4F3WD¸QL6/3W\]6¸354e3¨Zâ_'G%3WDJVd2JG%Z7\IA]35_'G%2�:&"J@�AuGIHJ=�c+b E5G�l 476JG;c�1/E5473×�b�6/=�Z[G{4[AB=�D/ZBEW=S4[@�A=SAB\]6/354[G%\I471JA7Ge3WZg2JG%Z7\IAB3W_ÄG%2Y=S_'@mj�GF3WDY4[G�ABcdZ�@�O�476JGLA7@�E5GR@�O'OP1/D \I4735@�D/=�E�\I@�c+b'@�DJG%D�47Z�:�8¾Z7@�c+G�QL6/=S4�2/35>ÄG�A7G%D�4=SAB\]6/354[G%\I471JAB=�E"j�35G�QÉ3WZR4[@¢Z7=m`�6/@mQÊ476JG{O½1/D/\I473W@�D/=�E�\I@�c+b'@�DJG%D�47Zo=SA7GU=SA7A]=�DJV�G%2¸3WD�4[G�ABc¢Zâ@�O-476/G%35Ao\I@�cdc�1��

Page 5: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

PARSER SEMANTOR

CODE GEN. OPTIMIZER

tokens phrases

cor. phrases

cor. phrases

LEXER

object code

characters

TEXT

" 35V�1JA7G+���Ù8�fh@�c+b�3WE5G�AL<�4[AB1/\I471/A7G%29=�ZL=��Ù35b'GF=�D 2 " 3WE54[G�AL8eAB\B6 354[G%\I471JA7G�:

tokens

PARSER

CODE GEN. OPTIMIZER

phrases

cor. phrases

SEMANTORLEXER

object code

characters

TEXT

" 35V�1JABG�����8 fR@�c+b 3WE5G�AL<�4[A]1/\I471JA7G%29=�Ze=Ó<�6/=SA7G%29XLG�b'@�Z7354[@�A7`�8LA]\B6/354[G%\I471/A7G�:

D/3W\�=S473W@�Dà3WD�4[G�AB\I@�D/DJG%\I473W@�D�:�nuD/G¢b'@�Z7Z735_�3WEW354�`�3WZU4[@ËZ7=m`¼476/=S4�476JG�`¼OP@�ABc = ©�¦Ñ©J«¸ª�±�¯YÝ�Ç׶.«I¬ =SA]\B6/354[G%\I471/A7G�lZ73Wc¢3WEW=SA{4[@Ë476JG¢QR=%`à\I@�c¢cd=�D/2/Z�\�=�Dà_'G&Z[4[AB1/DJVC4[@�V�G�476JG�A+3WD¼476JG&ie��� ) @�bÄG�A]=S473WDJV�Z7`�Z[4[G%c�� " 35V�1JA7GË�]:8FDJ@�476JG�Au3WZo4[@�Z7=%`C476/=S4L476JGY\I@�c+b'@�DJG%D�47Ze\I@�c¢c;1/D 3W\�=S4[G�=�D 2CZ[`�D/\B6/A7@�D/3�'�G;476JA7@�1JV�6�= §B¥�ªS¬[«B¯¸¬7«�©J­?§]¦½¶­S¬�È� " 35V�1JA7G���]: ~ 6JG \]6J@�3W\IGU6/=�ZL=dZ735V�D/3 � \�=�D�4â3Wcdb =�\I4â@�D9476JGU2/G�G�bÄG%Z74o2JG%Z735V�D�@�O 476JG Z[`�Z[4[G%c9:

~ 6/G�A7Go=SA7Gocd=�D�`+Z[@�Oº4�Qh=SABGL=SAB\B6 354[G%\I471JA7G%Z�l�=S4�={jS=SAB35G�4�`;@�O�E5G�j�G%EWZ%l�476/=S4�6/=mj�Go_'G�G%DYA7G%\I@�V�D/3�'�G%2Ó=�Zg_'G%3WDJV\I@�cdc+@�D E5`¸1/Z[G�O½1/E°: ~ 6JG�`9AB=�DJV�G�OPA7@�c V�G%D/G�AB=�E×�b 1JABbÄ@�Z7G;=SAB\]6/354[G%\I471JA7G%Z%l'ZB1/\B6Ë=�Zu476JG�b 35b'G =�D/2�� E54[G�Au=�D/2\�EW35G%D�4 �?Z[G�A7j�G�Aml�4[@F2J@�cd=�3WD��.Z7bÄG%\�3 � \-=SA]\B6/354[G%\I471/A7G%Z�l�Z71/\]6 =�Z"4[G%E5G�b�6J@�DJG�\�=�EWE�b A7@�\IG%ZBZ73WDJVo=�D/2�� 35V�6�4"2J`�D =�cd3W\�Z�:~ 6JG{\]6J@�3W\IG @�OØ=�D¸=SAB\B6 354[G%\I471JA7G 2JG�b'G%D/2 ZÙ@�DCcd=�D�`ÓOP=�\I4[@�A]Z�l/_'@�476�OP1 D/\I4735@�D/=�E'=�D/2�GIH�4[AB=?�O½1/D/\I4735@�D/=�E: ~ 6JGO½1/D/\I4735@�D/=�E \IAB354[G�AB3W=U=SA7Ge=�EWcd@�Z[4�@�_�j�3W@�1/Z���476JGe=SAB\]6/354[G%\I471JABGec�1/Z[4ÙZB=S473WZ[OP`�476/GLO½1/D/\I4735@�D/=�E/A7G���1 35A7G%c+G%D�47Z�OP@�A476JGdZ[`�Z[4[G%c9: ~ 6JG+GIH�4[AB=?�O½1/D/\I4735@�D =�Eg\IAB354[G�AB3W=�=SA7GdEWG%Z7Zu@�_�j�35@�1/Z%l�_ 1J4{=SA7Gd3WD�Z[@�c+GdZ7G%D/Z[Gdc+@�A7Gd\IA]35473W\�=�EØ4[@476JG�\B6J@�3¨\IG�: ~ 6JG%Z7G&3WD \�EW1/2JG+476JG&EW3 � G%E5`�A7G%E¨3W=S_ 3WEW3W4.`�l^b'G�A7OP@�ABcd=�D \IG�l =�D 2ÖZ[G%\�1/AB354.`N@�Oe=�DÖ3Wcdb E5G%c+G%D�47=S4735@�D�l476JG GIH�4[G%D/Z73W_ 3WEW354�`d@�O 476JG =SAB\]6/354[G%\I471JA7G�l�476JGU=mj?=�3WE¨=S_ 3WEW354�`d@�O A7G%=�2J`��.cd=�2JGU\I@�cdbÄ@�D/G%D�47Z�l�=�D/29476JG \I@�EWEWG%\I4735j�GGIH�bÄG�A]35G%D/\IG{QL35476�476/G =SAB\B6/3W4[G%\I471JA7G�:

Page 6: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

<�@�OP4.QR=SA7Gd=SAB\]6/354[G%\I471JABGYZ7bÄG%\�3 � \�=S4735@�D/ZF=SA7GY1/Z[G%2ËOº@�A{Z[G�j�G�A]=�Eg2/3×>'G�A7G%D�4eb 1JA7b'@�Z[G%Z%lÄ=�D/2Ë476JG%Z7G�2/35>ÄG�A7G%D�4b 1JABbÄ@�Z7G%ZâE5G%=�2¸4[@ÓAB=S476JG�Ae2 3×>ÄG�ABG%D�4oOP@�ABcdZo@�O 2/G%Z7\IAB35b/473W@�D�: "J@�AFGIH�=�cdb E5G�l b�3W\I471JA7G%Zo=SABGU=¢\I@�D�j�G%D/35G%D�4LQR=%`@�O�GIH�b/A7G%Z7Z73¨DJV 476JGeG%Z7Z[G%D/\IGF@�O�476JGe\I@�cdbÄ@�D/G%D�4R=�D/2¢3¨D�4[G�AB\I@�D DJG%\I4735@�D&Z[4[AB1/\I471JABGo@�O^=UZ7`�Z[4[G%c¸l�_ 1/4Ù=SA7GebÄ@�@�A=S4�GIH�b/A7G%ZBZ73WDJVU3¨D�4[G%D/2/G%2d2J`�D/=�cd3W\â_'G%6/=mj�3W@�A%: ��A7@�Z[GF2JG%Z7\IAB35b 4735@�D/Zg=SA7GeG%=�Z[`d4[@UQLAB354[G�l�_�1J4�476JG%35Ah=�cU_�35V�1/354�`cd= � G%ZL476JG%c 1/Z7G%E5G%Z7ZROP@�Aob'G�A7Oº@�A]cd3WDJVY=�D�` � 3WD/2�@�O Z[G�AB35@�1 Zâ=�D/=�E5`�Z73WZ�:

nuD/GY3¨c+b'@�A747=�D�4uA7G%=�Z7@�DNOº@�A{_'G%3WD/V&GIH�b EW3¨\�354F=�D 2�b/A7G%\�3WZ[G+=S_'@�1J4{=9Z[`�Z[4[G%c%$yZ =SA]\B6/354[G%\I471/A7Gd3WZu4[@¸=%j�@�3¨2=�b 6JG%DJ@�c+G%D/@�D � DJ@mQLDÂ=�Z ¯S¬�¦ µI¶ � � ���:¼fh@�D/ZB3W2JG�AU=Ë2J@�c+G%Z[473¨\Ó2JQhG%EWEW3¨DJV9QL6JG�A7G&=�ZB6/=SOº4�3WZ;Oº@�1/D 2¼4[@ËAB1/D_'G�4.QhG�G%D%�/@�@�ABZâ=�D/29Z[@d=�\I4e=�Zâ=+\I@�D�j�G%D/3WG%D�4L\I@�D 2/1/354ROP@�Ao=�2/2/3WDJVY=+DJG�Q G%E5G%\I4[A]3W\�=�E�EW3WDJG�: �#O-354â3WZâD/@�4o\�E5G%=SA3WD&476JG{=SAB\]6/354[G%\I471JA7G{476 =S4â476JG{Z76/=SOP4hQR=�Zo2JG%ZB35V�DJG%2&4[@+_'GF1/Z7G%29Z[@�E5G%E5`¢=�Zâ=+\]6/3WcdD/G�`�l�476/G%D9=�D91/D/3WD�4[G%D/2JG%2j�35@�EW=S4735@�D&@�O^476/G =SAB\B6/3W4[G%\I471JA7G �½3WD&476/3WZR\�=�Z[G�l 476JG{3WD�4[G�A]\I@�D/DJG%\I4735@�D9Z[4[A]1/\I471JA7Gu_'G�4.QhG�G%D%�/@�@�ABZ �\I@�1/EW296/=mj�G2/3WZB=�Z[4[A7@�1/ZFA7G%Z71 E547Z�:��#4{3WZ{DJ@�4{6/=SAB2Ë4[@9476/3WD � @�OÙ=�D/=�EW@�V�@�1/Z Z735471 =S4735@�D/Zu3WD�Z[@�OP4.QR=SA7G¢=SAB\]6/354[G%\I471JA7G%ZuQe6JG�A7G\I@�cdc�1/D/3W\�=S473W@�D¸\B6/=�D DJG%EWZo=SA7G ZB3Wcd3WEW=SA]E5`d=S_ 1/Z[G%2":

M²6JG�476JG�AR=�D¢=SAB\]6/354[G%\I471JABGe3WZ�=�DÓ3WD/Z[47=�D \IGo@�O�Z[@�c+Ge\I@�c¢c+@�D/E5`+=�2J@�b/4[G%2Ó=SAB\B6 354[G%\I471JA7G�l�6/=�Z�_'G�G%DÓcd=�2JGGIH�b EW3W\�354�l�\I@�D�473WD�1JG%Z^4[@o_'G�=�2/6JG�A7G%2{4[@Jl�=�D/2U3WZ�@�O�6/35V�6 ��1/=�EW354�`�l�=SA7GÙ=�EWE�3Wc+b'@�A747=�D�4 ��1/G%Z[4735@�D/Z�: ~ 6JGgG%c+G�ABV�3WDJV=SA7G%=C@�OoZ[@�Oº4�Qh=SABGÓ=SAB\]6/354[G%\I471JA7GÓA7G%Z[G%=SAB\]6Ö3¨Z =S4[4[G%c+b/473WD/VC4[@�c¢= � G¢476JGÓb/A7@�\IG%Z7Z{@�Oo=SAB\]6/354[G%\I473WDJV�Z[@�Oº4�Qh=SABGZ[`�Z[4[G%cdZYc+@�A7GÓAB35V�@�A7@�1 Z�lg=�D/2à476/GÓA7G%ZB1/E54 @�OL=SA]\B6/354[G%\I473¨DJVËcd@�A7GÓABG%EW3W=S_ E5Gd=�D 2àA7G%1 Z7=S_ E5G�l _�`N_/AB3WDJV�3¨DJV94[@_'G%=SAob'@mQhG�A7O½1/E�Z[b'G%\�3�� \�=S4735@�D9=�D 2¸=�D/=�E5`�Z73WZR4[G%\]6/D/3 ��1JG%Z�:

~ 6 3WZâb =Sb'G�Aob/AB@mj�3W2JG%Zo=�D�@mj�G�A7j�35G�QÞ@�O 476JG;cd= w @�Ae3¨Z7Z71JG%Zo=�D 2¸4[A7G%D/2 Zo3WD¸=SAB\]6/354[G%\I471JABGI�_ =�Z[G%2ËZ[@�Oº4�Qh=SABGG%DJV�3WD/G�G�AB3WDJVJ: MNG�_'G�V�3WDÔ_�`ÏO½1JA7476JG�A&2/3WZ7\�1/ZBZ73WDJV�476JG�3Wc+b'@�A747=�D/\IGC4[@Ö476JG�2JG�j�G%E5@�b�c+G%D�4&b/A7@�\IG%Z7ZÓ@�O =�D=SAB\]6/354[G%\I471JAB=�E�b'G�ABZ[b'G%\I4735j�G�:ØMNGR476JG%DY2/3WZ7\�1 Z7Z"476JGhOP@�ABcd=�EW3�'%=S473W@�DU@�OÄ=SAB\B6/3W4[G%\I471JAB=�E�Z[b'G%\�3�� \�=S4735@�D"l?3WD \�EW1/2/3WD/V={A7G�j�35G�QÏ@�O'Z[G�j�G�AB=�E�EW=�DJV�1/=SV�G%Z�2/G�j�G%E5@�b'G%2+G%Z[b'G%\�3W=�EWE5`UOº@�A�=SA]\B6/354[G%\I471/AB=�E 2JG%ZB\IAB35b/4735@�D"lS=�D 2+Oº@�E¨E5@mQÏ476/3¨Z QL35476=�2/3WZ7\�1 Z7Z735@�DC@�OÙ=SAB\]6/354[G%\I471JAB=�E =�D/=�EW`�Z73¨ZL4[G%\]6/D/3 ��1JG%ZF476/=S4{\�=�D�_'G�=Sb/b�EW35G%2¸4[@¸=SA]\B6/354[G%\I471/A7G%Z{2JG%Z7\IAB3W_ÄG%2�3WD476JG%Z[G�EW=�DJV�1/=SV�G%Z%:L�LGIH�4�lÄQÙG;_/AB35G��/`�2/3WZB\�1/Z7ZoZ[G�j�G�A]=�E^@�476JG�AFG%c+G�A7V�3¨DJVÓ\I@�D/\IG�b 47ZF3¨D¸Z[@�OP4.QR=SA7G�=SA]\B6/354[G%\I471/A7G476/=S4 =SA7GÓ6/=%j�3WDJV9=�D¼3WD�� 1JG%D/\IG�@�DN476JG+V�G%DJG�A]=�E�1J473WEW3W4.`¸@�Oh476JGd=SA7G%=�:+MNG¢\I@�D \�EW1/2JGYQL35476�Z[@�cdGd476J@�1JV�6�47Z=S_'@�1J4âO½1J471JA7G 2/3WA7G%\I4735@�D/Z�:

� ���� ������ ��� � ��� ��������� ������������� � ��� ���� �����

~ 6JG�ABG�=SA7GY_ =�ZB3W\�=�EWE5`94�QÙ@�QR=%`�Z{4[@9=S4[47=�\ � =�D�`Cb/A7@�_ E5G%c¸: n{DJG�3¨ZL4[@�_'G�V�3WDË_�`�\I@�D/Z73W2JG�A]3WDJVdjS=SAB35@�1/ZuE5@�Qâ�E5G�j�G%E-2JG�47=�3WEWZ�l�=�D/2¸476JG%D"l QL6JG%DC\I@�D�j�3WD/\IG%2�476/=S4L476/@�Z[G;2JG�47=�3¨EWZo\�=�DË=�EWE"_'GU2JG%=�EW4oQL35476�l b/A7@�\IG�G%2¸4[@Ó6 35V�6JG�AE5G�j�G%EWZU@�OR476JGÓZ[@�E¨1J4735@�D�: ~ 6JGd@�476JG�A�3WZ{4[@�_ÄG�V�3¨DN_�`�GIH�b E5@�AB3¨DJV¸6/35V�6JG%Z74x�.E5G�j�G%E�Z[@�E¨1J4735@�D/Z�l-=�D/2¼476JG%D"l-=SOP4[G�AZ[G%E5G%\I473¨DJVd=+b/A7@�c¢3WZ73WDJVY\�=�D/2/3¨2/=S4[G�l/=S4[4[G%c+b/4e4[@ � D/29=+c+G%=�D ZoOP@�ALE5@mQhG�A[�.E5G�j�G%E^A7G%=�EW3�'%=S473W@�D�:��=�D�`Ö@�Oo476JG&QÙ@�A]EW2$yZ;V�A7G%=S4[G%Z[4d2JG%Z73WV�DÖ=�\]6/35G�j�G%c+G%D�47ZY_'G�V�3WDàQe35476Ö=Ë6/35V�6J�.E5G�j�G%E�j�3WZ73W@�D¼476/=S4Y6/=�ZYDJ@

@�_�j�35@�1 ZFZB1Jb/b'@�A74e3¨DËEW@mQâ�.E5G�j�G%EØG%DJV�3¨DJG�G�AB3WDJV&b/AB=�\I473¨\IG�: MÒ6/G%D�476 3WZu3WZF476JG+\�=�Z[G�l"A7G%=�EW3 '%=S4735@�DË@�O�476JGYj�3WZ735@�D3WZâ2JG�b'G%D/2/G%D�4R@�D9476JG 2/G�j�G%E5@�b c+G%D�4â@�OgDJG�Q 4[G%\B6/D/@�E5@�V�35G%Z�:*�xD¸Z[@�cdG \�=�Z[G%Z�l/476JG%Z7GU2JG�b'G%D/2JG%D/\�3WG%Zh2/AB35j�G{=�2��jS=�D/\IG%Zg3WD�476JGâZ[47=S4[Go@�O�b/AB=�\I473W\IG�: �xD;@�476/G�ABZ�l�476JGâ=�2JjS=�D/\IG%Z�=SA7Gâ2JG�G%cdG%2Y4[@{_ÄGR3Wc+b'@�Z7ZB35_ E5G�@�A�1 DJA7G%=�Z[@�D/=S_�E5`\I@�Z[47E5`�l"3¨DCQL6 3W\B6�\�=�Z[G+476JG�j�3WZB35@�DCc�1/Z[4F_'G�=�E54[G�ABG%2�: �F3WZB35@�DC=�D/2ËG%DJV�3¨DJG�G�AB3WDJV&=SA7G�476�1/ZF4735V�6�47E5`C\I@�1/b E5G%2�lG%=�\B6�V�1/3W2 3WDJVY=�D/2¸Z76/=Sb�3WDJV�476JG @�476JG�A%:

K-3 � G�QL3WZ[G�l�=Sb/b A7@�=�\B6/3¨DJVe476/GR2/G%Z735V�D�@�O =uZ[@�OP4.QR=SA7GoZ[`�Z[4[G%c�=S4�=e6 35V�6/E5` =S_ Z74[AB=�\I4gE5G�j�G%EJ=�EWE5@�QLZØ476JGÙV�ABG%=S4x�G%Z[4R=�c+@�1/D�4R@�O^\IA7G%=S4735j�354.`�lJ_�1J4Ù3WD \�1JABZ�476/GeV�A7G%=S4[G%Z74o=�c+@�1/D�4Ù@�O"A]3WZ � :�<�@�Oº4�Qh=SA7G{2JG%ZB35V�D¢_�=�Z[G%2¢@�D�=S_ Z74[AB=�\I4476/3WD � 3WD/Vuc�1/Z[4�476JG�A7G�OP@�A7GL_'GLZ71/b/b'@�A74[G%2+_�`�GIH�b'G�AB35G%D/\IGI�b A7@mj�G%DÓ=SAB\B6/3W4[G%\I471JAB=�EÄZ[4.`�E5G%Z�=�D 2¢Z[@�EW3¨2d=�D/=�E5`�473W\�=�E4[G%\B6 D/3 ��1JG%Z�:U8eAB\B6 354[G%\I473WDJV93WZF476JGd\IG%D�4[AB=�Eg=�\I4735j�354.`�3WD�476JG+b EW=�D D/3WDJV¢Z747=SV�G+@�OhZ[@�OP4.QR=SA7Gd2JG�j�G%EW@�b c+G%D�4�l^=�Z2JG�b 3¨\I4[G%2Ë3¨D�" 35V�1/A7Gdr�: ~ 6/G;A7G%ZB1/E547=�D�4u=SA]\B6/354[G%\I471/A7Gd3WZu3Wc+b'@�A747=�D�4�l�_ 1J4{3WD�476JG+G%D/2�l"3W47ZF1/473WEW354�`C2JG�b'G%D/2/Z@�D9476JG ��1/=�E¨354.`Ó@�OØ476/G{b EW=�D/D/3¨DJV;476 =S4oQÙG%D�4L3WD�4[@¢3547Zâ\IABG%=S4735@�D�:

~ 6/GNV�@�=�E{@�O+Z[@�Oº4�Qh=SABGàZ[`�Z[4[G%c 2JG�j�G%E5@�b�c+G%D�4�3WZ�4[@Ôb/A7@�2/1/\IG�476JGN_'G%Z[4¸Z7`�Z[4[G%c 476/=S4¸b/A7@�j�3¨2JG%Z�476JGO½1/D/\I4735@�D/=�E¨354.`ÓA7G���1 35A7G%2&_�`&476JG \I@�cdc¢3WZ7Z735@�D/G�ABZR@�O-476/G Z[`�Z74[G%c9: ~ 6JG�ABGu=SABGUcd=�D�`ÓQR=%`�Zo4[@¢2/G�� DJG"!x_'G%Z[4$#�l2JG�b'G%D/2/3¨DJV�@�DÔ476JGCZ[`�Z[4[G%c _'G%3WDJV�_ 1 3WE54�: "J@�AÓ=àcd3WZ7Z73¨E5GÓV�1 3W2/=�D/\IG¸Z[`�Z[4[G%c9lR=¼6/3WV�6JG�A+j?=�E¨1JG9QL3WEWEhEW3 � G%EW`

r

Page 7: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

RequirementsAnalysis

SystemArchitecting

Low-levelDesign

High-levelDesign

Business CaseDevelopment

Planning Phases

" 35V�1JABGUr���8LA]\B6/354[G%\I473¨DJVd3WZâ476JG;fRG%D�4[AB=�E ��EW=�D/D 3WDJVY8e\I4735j�354�`�:

_'G�b�EW=�\IG%2Ò@�D²A7G%EW3W=S_ 3¨EW354.`Â476/=�DÒ@�D²473Wc+GË4[@Ôcd=SA � G�4�: nuDÒ476JG�@�476/G�A¸6/=�D/2�lo476/GËb A7@�2 1/\IG�AÓ@�O�Z76JAB3¨D � �QoAB=Sb bÄG%2Ë\I@�cdc+@�2/354�`�Z[@�OP4.QR=SA7G�lØZ71/\B6N=�Z{=�Qh@�AB2Ëb/A7@�\IG%Z7Z[@�Aml�@�Oº4[G%DNjS=�EW1JG%ZF473WcdG�4[@¸c¢=SA � G�4 =�D/2ËOºG%=S471/A7G2/3×>'G�A7G%D�473W=S4735@�D9@�j�G�A ��1/=�EW3W4.`�l�1 D�473WE�ZB1/\B6C473Wc+G 476/=S4L476JGUb/AB@�2/1 \I4o6/=�Zo\�=Sb/471JABG%2CZ71��Ó\�35G%D�4ecd=SA � G�4eZB6/=SA7G�:aFG�4[G�ABcd3WD 3WDJV9QL6/=S4;\I@�D/Z[4735471J4[G%ZU476JG¢=Sb/b A7@�b/AB3W=S4[G+G�jS=�EW1/=S473W@�Dà\IAB354[G�A]3W=�Oº@�A�=¸Z[`�Z[4[G%c 2/G%Z735V�D¼3WZ @�Ohb AB3Wc+G\I@�D/\IG�ABDË2/1JA]3WDJV+A7G���1/35A7G%cdG%D�47Ze=�D/=�E5`�Z73WZ�: ~ 6 3WZo1/D/2/G�ABZ[47=�D/2/3¨DJV+3WD � 1JG%D \IG%Zo476JG�2JG%Z735V�DJG�AF3WD¸476/G;\B6/@�3W\IG;@�O=�D9=SAB\]6/354[G%\I471JA7G�:ÙaeG%\�3¨Z735@�D/Zâ=S4â476/3¨ZâE5G�j�G%E�=SA7G{\IAB35473W\�=�E'4[@+476/G Z71/\�\IG%Z7ZR@�OØ476JG{2JG�j�G%E5@�b cdG%D�4âb/AB@�\IG%Z7Z%l/Z73WD/\IG476JG%Z[G;2JG%\�3WZ735@�D Zâ2/35A7G%\I47E5`&=?>ÄG%\I4F=�EWE'@�476JG�AF=�Z[b'G%\I47Zâ@�O 476JG 2JG�j�G%E5@�b cdG%D�4ob A7@�\IG%ZBZ�:

~ AB=�2/35473W@�D/=�EWE5`�l�476JGÙZ[@�OP4.QR=SA7GR2JG�j�G%E5@�b cdG%D�4-b/A7@�\IG%Z7Z-6 =�Z^_'G�G%DUcd@�2JG%EWG%2 =�Z-3¨D/\IA7G%c+G%D�47=�E�Z74[G�b Z^3WD�j�@�E5j�3WDJVA7G�� D/G%c+G%D�4�lJ_'G�V�3WD D/3WDJV Qe354769=�D9=�Z7Z[G%Z7ZBc+G%D�4â@�OØ476JGub/A7@�_�E5G%c 4[@+_ÄG{Z[@�EWj�G%29=�D/29\I@�D/\�EW1/2 3WDJV�QL35476�Z[`�Z[4[G%ccd=�3WD�4[G%D/=�D/\IG � " 35V�1JA7G � ]: ��4[G�A]=S4735@�DÜ_'G�4�QÙG�G%DÒZ[4[G�b Z&3WZdGIH�b'G%\I4[G%2�: "J@�A�3WD/Z747=�D/\IG�lo2/1JAB3¨DJVN476JGC4[G%Z7473WDJVZ[47=SV�G�l 3W4Rc¢35V�6�4R_'G{2/3WZ7\I@�j�G�A7G%2�476/=S4o=�D�G�A7AB@�AâGIH�3WZ747ZR476/=S4âA7G���1/35A7G%ZR=+cd= w @�Ao\B6/=�D/V�GU3WD&476JG{2JG%Z735V�D&@�OØ476JGZ[`�Z[4[G%c9: ~ 6 3WZLQe3WEWE^D/G%\IG%Z7Z73547=S4[Gd=&\I`�\�E¨3WDJV&_ =�\ � 4[@9476JG�2/G%Z735V�D�Z[47=SV�Gd=�D/2ËA7G�b'G�47354735@�D�@�O�=�EWE EW=S4[G�A{Z[47=SV�G%Z%:8FDCGIH�b EW3W\�3W47E5`Ó=�D/2COº@�A]cd=�EWE5`9\�=Sb/471JABG%2CZ[@�OP4.QR=SA7GY=SAB\B6/3W4[G%\I471JA7G�b/A7@mj�3W2JG%Ze=¢c+G%2 3W1/c OP@�AeG%=SA]E5`9=�D/=�E5`�Z73WZo@�O476JG+\I@�A7A7G%\I47D/G%Z7Z =�D/2N\I@�c+b�E5G�4[G%DJG%Z7Zu@�OR=�2JG%Z735V�D$yZuZ7=S473¨Z[OP=�\I473W@�D�@�OhZ[`�Z[4[G%c A7G���1/35ABG%c+G%D�47Z%l�476�1/ZFA7G%2 1/\�3WDJV476JG&D�1/c;_'G�ABZ =�D/2à\I@�Z[47Z�@�Ohb A7@�_ E5G%cdZ G%D/\I@�1/D�4[G�A7G%2Ö3¨D¼EW=S4[G�AYZ[47=SV�G%ZU@�Oo2/G�j�G%E5@�b c+G%D�4;=�D/2àA7G%2/1/\�3¨DJV9476JG473Wc+G�Z[b'G%D�4LA7G�j�3¨Z735473WDJV+b AB35@�ALZ[47=SV�G%Zu4[@&\I@�A7A7G%\I4u476J@�Z[G;b/A7@�_ EWG%cdZ�:!�#DCOP=�\I4�l'476JG�Z[`�Z[4[G%c j�35G�QÉb/A7@mj�3W2JG%2C_�`=�D9=SAB\]6/354[G%\I471JAB=�E'2JG%ZB\IAB35b/4735@�D&3WZR1/Z[G�O½1/E�476JA7@�1JV�6/@�1J4R476JG{EW35OPGL@�O-=YZ[`�Z[4[G%c =�Zâ=Y6/35V�6J�.E5G�j�G%EÄA7G�OºG�ABG%D/\IGubÄ@�3¨D�4OP@�AoG�j?=�E¨1/=S4735@�D¸=�D/2C\B6/=�DJV�G�:

khG%E5@�Q lLQhGË2 3WZ7\�1/Z7Z¢4.Qh@)b/AB3Wcd=SAB`Â_'G%DJG�� 47Zd@�O 476JG�3WD/\�E¨1/Z735@�DÏ@�O =�DÒGIH�b EW3W\�3W4¢=SAB\B6 354[G%\I473WDJV)Z[47=SV�GN3WD476JG+Z[@�OP4.QR=SA7GdEW35OPGY\I`�\�E5G ���/ABZ[4�l"3¨D/\IA7G%=�Z[G%2�=S_ Z[4[A]=�\I4735@�DËOº@�A 1/D 2JG�ABZ[47=�D/2 3WDJV¢EW=SABV�G�l"\I@�c+b E5GIH�Z[`�Z74[G%cdZu=�D/2�lZ[G%\I@�D/2"l/476JG =S_ 3WE¨354.`Ó4[@db'G�A7Oº@�A]c 6/35V�6��.E5G�j�G%E�=�D =�E5`�ZB3WZ�:

Page 8: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

Buy/build strategy for each component •

• Major components and interfaces

• System features, functions, and usage scenarios

• Problem definition, rationale, and financial plan

Internal decomposition, functions, and data structures •

RequirementsAnalysis

SystemArchitecting

Low-levelDesign

High-levelDesign

Business CaseDevelopment

"Ø3WV�1JA7G � � ~ 6/G;<�`�Z74[G%c aFG�j�G%E5@�b c+G%D�4 ��A7@�\IG%ZBZ ��A7@�\IG�G%2/Ze3WDC<�47=SV�G%Z�:

����� ���Ù������������^*8e_ Z[4[AB=�\I4735@�D&3WZh=Uc+@�2JG%EW3¨DJVU=�\I4735j�354.`¢476/=S4�l�3¨DdG%Z7Z[G%D \IG�l�=�cd@�1/D�47Zh4[@�476JGuZ[G%E5G%\I4735j�Gu6/35V�6/E¨35V�6�473¨DJV��½=�D/2�l�\I@�A[�A7G%Z[b'@�D/2 3WDJV�E5`�l�Z[G%E5G%\I4735j�G 6/3¨2/3WDJV �@�O^b =SAB473W\�1/EW=SAâ\B6 =SAB=�\I4[G�AB3WZ[473¨\�Zâ@�OØ=+Z7`�Z[4[G%c¸: ��O-@�DJG \I@�D/Z73W2/G�ABZâ=YZ[@�Oº4�Qh=SABG=SAB\]6/354[G%\I471JA7GU4[@d_'G =�DC=S_ Z[4[A]=�\I4Lc+@�2JG%E'@�Og=dZ[`�Z[4[G%c9l/476JG%D¸QL6/=S4o=SA7G 476/@�Z[GU6/35V�6 EW35V�6�4[G%2&\]6/=SAB=�\I4[G�AB3¨Z[473W\�Z���xDàV�G%DJG�A]=�E°l 476JG�`à=SA7G ¿B­S·e©�­�±Ä«I± ¶P§ l ¿]­S±/±Ä«B¿%¶½¦°­S±J§ lÙ=�D/2à476/G ÁB«I¥�ªS®�¦½­S¬]§ 476/=S4�A7G�V�1/EW=S4[G&476JGÓ3¨D�4[G�AB=�\I473W@�DÖ@�O\I@�c+b'@�DJG%D�47ZL476/A7@�1JV�6Ë\I@�D/DJG%\I4735@�D/Z%: �F3WG�QL3WDJV¢=ÓZ[`�Z[4[G%c OºA7@�ct=�D�=SA]\B6/354[G%\I471/AB=�EØbÄG�A]Z[b'G%\I4735j�G G%D/\I@�1JA]=SV�G%Z476/3WZh=S_ Z[4[A]=�\I4hQR=%`&@�O"476/3¨D � 3¨DJVU=S_'@�1J4RZ[`�Z74[G%c 2JG�j�G%E5@�b c+G%D�4�l�QL6/3W\]6¢ABG%Z71/E547Zh3WDÓ_ÄG%D/G��/47Zh476/=S4â3WD/\�EW1/2/GL3WcY�b/A7@�j�G%2¢\I@�cdc�1/D/3¨\�=S4735@�Dd=�c+@�DJVU476JGoZ[47= � G%6J@�EW2/G�ABZ�@�O'476JGoZ[`�Z[4[G%c´=�D/2d3Wc+b A7@mj�G%2dZ7@�Oº4�Qh=SA7GF1/D/2JG�A]Z[47=�D/2/3WD/V@�O 476JG Z[`�Z[4[G%c =�D 293547Zo2JG�j�G%E5@�b�c+G%D�4Lb/A7@�\IG%Z7Z�:

� ���� ����������������� ���!�#"�$&%('*),+-%(�.$0/1�!�.$&243�+5),6��87&�.9(�&�:��;

fh@�cdc�1/D/3¨\�=S4735@�DN=�c+@�DJV¸Z[47= � G%6/@�EW2JG�ABZ 2 1JAB3WDJV&476JGd2JG�j�G%EW@�b c+G%D�4 @�Oh=9Z7`�Z[4[G%c 3WZ{\IAB1/\�3W=�E 4[@�Z71/\�\IG%Z7Z�: �#43WZe=�EWZ[@¢j�G�AB`C2/3 �¢\�1 E54�:L<�47= � G%6J@�EW2JG�A]Z�l�Z71 \B6Ë=�ZeO½1/D/2 3WDJV+=SV�G%D/\�35G%Z�l�3WD Z[b'G%\I4[@�ABZ�l Z[`�Z[4[G%c \I@�cdcd3WZBZ735@�D/Z�lÄ=�D/2Z[`�Z[4[G%c 2JG�j�G%E5@�b'G�ABZ�lÄc;1 Z[4e_'G�=S_ E5GU4[@�\I@�cdc�1/D/3W\�=S4[GY=S_'@�1J4L476/G%35AFD/G�G%2/Ze=�D 2�=S_ 3¨EW354.`�4[@�c+G�G�4u476JG;D/G�G%2/Z@�OR@�476JG�ABZ�: ~ 6JGd2/3×>'G�A7G%D/\IG%ZU3WD�j�3WG�QLZ{=�D/2N_ =�\ � V�AB@�1/D/2/Z 3¨Z{V�A7G%=S4[G%Z[4�=�c+@�DJV¸476JGÓZ[47= � G%6J@�EW2JG�A]Z 3WD�j�@�E5j�G%23WD�476JG+6/35V�6��.EWG�j�G%E-2JG%ZB35V�DC@�Oh=�Z[`�Z74[G%c � �%p �:�"J@�A 3WD/Z747=�D/\IG�l�=S4F476 =S4u\IA]35473W\�=�E-bÄ@�3¨D�4u3WDË2JG�j�G%E5@�b c+G%D�4�l"354u3WZ3Wc+b'@�A747=�D�4{OP@�A 476JG¢Z[`�Z[4[G%c�\I@�cdcd3WZ7ZB35@�DJG�ABZuQL3W476 � D/@mQLE5G%2/V�G+@�Oh476/G¢2JG%Z735ABG%2NZ[`�Z74[G%c O½1/D/\I4735@�D/=�E¨354.`�_ 1J4�lb'G�AB6/=Sb Z%l�D/@ � DJ@�QLE5G%2JV�G{@�O Z[`�Z[4[G%c 2/G�j�G%E5@�b c+G%D�4�l/4[@+_'G =S_ E5G{4[@¢\I@�c¢c;1/D 3W\�=S4[G{QL354769Z[`�Z[4[G%ct2JG�j�G%E5@�b'G�ABZQL6J@ � DJ@�Q 6J@mQ 4[@¼_ 1/3WE¨2ÖZ[`�Z[4[G%cdZ¢_ 1J4+cd=m` � DJ@�Q EW354[47E5G9=S_'@�1J4+476JG�=Sb/b EW3W\�=S473W@�DÂ2/@�cd=�3WD)QL6JG�ABG¸354d3WZ3WD�4[G%D/2JG%2�4[@d_'G 1/Z7G%2�:

8eAB\B6 354[G%\I471JAB=�E�2/G%Z7\IAB35b/473W@�D�b/A7@mj�3W2JG%Z{=¸j�G%6/3W\�E5G+OP@�AUZ71/\]6¼\I@�cdc�1/D/3W\�=S473W@�D�:d8R4 476JG¢ZB3Wc+b E5G%Z74FE5G�j�G%El-=b 3W\I471/A7GÙ@�O�476JGâZ[`�Z[4[G%c�\�=�DY_'GR2/AB=%QLD�476/=S4g3WZ \I@�c+b AB3WZ[G%2�@�O _'@mH�G%Zg=�D/2+=SABA7@mQLZ ABG�b/A7G%Z[G%D�473WDJVF476JGROP1 D/\I4735@�D��=�EW35473WG%ZL@�OÙ476JG�Z7`�Z[4[G%c =�D 2Ë6/@mQ 476JG�`CQh@�1/EW2�_'GUGIH�b'G%\I4[G%2�4[@�3¨D�4[G�AB\I@�D DJG%\I4�: ~ 6/3¨ZLE5G�j�G%EØ@�OÙ=SA]\B6/354[G%\I471/AB=�E2JG%Z7\IA]35b/4735@�D�=�EWE5@�QLZØ476JGâ\I@�cdcd3WZ7ZB35@�DJG�ABZØ@�O 476/GRZ7`�Z[4[G%c 4[@{Z[G�Gâ476 =S4g476JG%35A DJG�G%2/Zg6/=mj�Gâ_ÄG�G%D�A7G%\I@�A]2JG%2+=�D/2Y354=�EWE5@�QLZh476JGu2JG�j�G%E5@�b'G�ABZh4[@+\I@�D/Z73W2JG�AR2/3×>'G�A7G%D�4ÙQR=%`�Zâ3WDÓQL6/3W\]6¢476 =S4hO½1/D/\I473W@�D/=�EW354�`Yc¢35V�6�4R_'Ge3¨c+b E5G%c+G%D�4[G%2�:8R4e=¢c+@�A7GU2JG�47=�3¨E5G%29E5G�j�G%E°l =dOº@�ABc¢=�E"2JG%Z7\IAB3Wb/4735@�D�@�Og\I@�c+b'@�DJG%D�47Z�l \I@�D/DJG%\I473W@�D/Z�l =�D/2¸_ÄG%6 =%j�35@�ABZâb/AB@mj�3W2JG%Z

<

Page 9: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

=�D9@�_ w G%\I4L@�O Z76/=SABG%2¸3WD�4[A7@�Z[b'G%\I4735@�D�476/=S4L\�=�DC_'GFOP@�ABcd=�E¨E5`Ó=�D/=�EW` '�G%2�l�=�D/2�b'G�AB6/=Sb ZRG�j�G%D�Z73Wc�1/EW=S4[G%2�:

� �� 3�� � +�� )��-��� $ ���:�-; +-)�$ ��%�$ 2

fh@�2JGI�_ =�Z[G%2�Z[`�Z[4[G%c 1/D 2JG�ABZ[47=�D/2 3WDJV _'G%\I@�c+G%Zâ2/3 �¢\�1/E54h3WDÓcd@�2JG�A]=S4[G%E5`ÓZ73 '�G%2&Z7`�Z[4[G%c¢Zâ=�D/2�3Wc+b'@�Z7Z735_�E5Go3WDEW=SA7V�GdZ7`�Z[4[G%c¢Z�: ~ 6JG+=S_ 3WEW3W4.`¸4[@¸ABG%=�Z[@�D¼=S_'@�1J4u476JGd3Wc+b�E5G%c+G%D�47=S4735@�D�@�Oh=9Z7`�Z[4[G%c _ =�Z[G%2N3WD/Z74[G%=�2�@�DN476JG=SAB\]6/354[G%\I471JAB=�E�2/G%Z7\IAB35b/473W@�DÓ\�=�D9V�ABG%=S47E5`Ó3Wcdb/A7@mj�G{Z[`�Z[4[G%c 1/D 2JG�ABZ[47=�D/2 3WDJVJ:�<�1/\�\IG%Z7Z[O½1/EÄ1/Z[Gu@�O-=SA]\B6/354[G%\I471/A7GOP@�A�476/G%Z[G�b 1JA7b'@�Z[G%ZUA7G���1 35A7G%Z;476JG9=S_ 3WEW354�`N4[@Ncd=Sb)_ÄG�4�QÙG�G%DÏEWG�j�G%EWZ�@�OL=S_ Z[4[AB=�\I473W@�D)@�Oo476JG9Z[`�Z[4[G%c9:¼kR1J4_'G%\�=�1/Z[G @�O 476JG;b 6JG%DJ@�cdG%DJ@�D9@�Og=SAB\B6 354[G%\I471JAB=�E-2JAB35OP4�l/354L3WZL\IAB35473W\�=�E�476 =S4o476JG;c¢=Sb/b 3WDJV+Z[@�cdG%6J@mQÞ_'G � G�b/4E5G�V�35473¨cd=S4[G�: ~ 6JABG�G{b/A7@�b'@�Z[G%29Z[@�EW1/4735@�D/ZR4[@d476/3¨ZRb/A7@�_ E5G%c =SABGU=SAB\B6 354[G%\I471JA7G ABG%\I@mj�G�A7`�lÄOº@�A]\IG%2¸\I@�D/Z73WZ74[G%D/\I`�l=�D/2ÖZ[`�Z74[G%c V�G%DJG�A]=S4735@�D�:%"J@�AB\IG%2)\I@�D/Z73¨Z[4[G%D/\I`N=�D/2àZ7`�Z[4[G%c�V�G%DJG�AB=S473W@�DÖ=SA7GÓ1/Z[G�O½1/EgQL6JG%Dà_ 1/3WE¨2/3WDJV&DJG�QZ[`�Z[4[G%cdZ�l�Qe6/3WE5G�=SAB\]6/354[G%\I471JABGhABG%\I@mj�G�A7`Y3WZ^=�DY=�E54[G�A]D/=S4735j�GhOº@�Ag1/Z[GhQL35476;Z[`�Z[4[G%cdZØOº@�A QL6 3W\B6;=�D�=SA]\B6/354[G%\I471/AB=�E2JG%Z7\IA]35b/4735@�D�2J@�G%ZâDJ@�4âGIHJ3WZ[4R@�AoOP@�ALZ[`�Z[4[G%cdZRQL6J@�Z7G =SAB\B6/3W4[G%\I471JA7G%Zo=SA7G � DJ@�QLD�4[@¢6/=mj�G OºABG�G%E5`Ó2JA]35Oº4[G%2&@�j�G�A473Wc+G�:

/ �-' 7�% +-��' +�" ����� �:'*�:�.�:��

8eAB\B6/3W4[G%\I471JA7G A7G%\I@�j�G�A7`¸c+G�476J@�2/Zo1 Z[GU=d\I@�c;_ 3WDJG%2�4[@�b/�.2J@mQLD�=�D/29_'@�4[4[@�cY�.1Jb�=Sb/b/A7@�=�\]6¸4[@Ó2 3WZ7\I@mj�G�Ae476JG=SAB\]6/354[G%\I471JA7G;6/3W2/2JG%D�Qe35476/3WD�=�D¸3Wcdb E5G%c+G%D�47=S4735@�D�: ~ 6/G�`&=SA7G;\I@�D/\IG�ABDJG%2CQL3547696JG%E5b�3WDJV+Z[`�Z[4[G%c G%DJV�3¨DJG�G�ABZ3WD/\IABG%=�Z[G{476JG%35Ao1/D 2JG�ABZ[47=�D/2 3WDJVU@�OØj�G�A7`�EW=SA7V�G�l/3Wcdb E5G%c+G%D�4[G%29Z[`�Z[4[G%cdZROP@�Ao476JG{b 1JABbÄ@�Z7G%ZÙ@�O \B6 =�DJV�GU=�D/=�E5`��Z73WZ%: 8FZÙGIH�=�c+b�E5G%Z�l�u=�EWE/G�4R=�E°: � � � �Ä1 Z[GF2/@�cd=�3WD � DJ@�QLE5G%2JV�GF\I@�cU_ 3¨DJG%2¢Qe35476dGIHJ3WZ[473WD/V A7G�j�G�ABZ[GFG%DJV�3WD/G�G�AB3WDJV4[G%\B6 D/3 ��1JG%Zu4[@¸2/3WZ7\I@�j�G�A{476JGd\�1JA7ABG%D�4u=SAB\B6 354[G%\I471JA7Gd3WDË476JGd8FXLTR<Cb/A7@ w G%\I4�:���1JA7b 6�`�l��L@�4 � 3WD�l"=�D 2à<�1/EWEW35�jS=�D � r � �'\IABG%=S4[G =�c¢=Sb/b 3WDJV;OºAB@�c´476/Gu=�\I471 =�E�Z[@�1JAB\IGu@�D�4[@Y=�D9=SA]\B6/354[G%\I471/AB=�E'2JG%Z7\IAB35b 4735@�D¢476 =S4hQR=�Zâ2JAB=mQLD1Jb9_�`9=YbÄG�A]Z[@�D�OP=�c¢3WEW3W=SAâQL3W476�476JG{@mj�G�AB=�E¨E"O½1/D/\I4735@�D/=�E¨354.`Ó@�O-476JG;Z[`�Z74[G%c9:

MNG%3W2/GÓG�4Y=�E°: � � r �hcd= � G�476JG&=SA7V�1/c+G%D�4;476 =S4;A7G�j�G�A]Z[G¢G%DJV�3¨DJG�G�AB3WDJVC_ =�Z[G%2Ö@�DÖ=SAB\]6/354[G%\I471JABGÓA7G%\I@�j�G�A7`3WZ;3WD�4[A]=�\I47=S_ E5G�: ~ 6JG�`N2J@�D/@�4U\�EW=�3Wc 476/=S4U476/3¨Z 3WD�4[AB=�\I47=S_ 3WEW3W4.`NZ76J@�1/E¨2N3Wc+b E5`�476/=S4;=�E¨E�Qh@�A � 3WDN476JG&=SA7G%=Z76J@�1 EW29\IG%=�Z[G�lÄ_ 1J4âAB=S476JG�Ae476/=S4eZ7@�Oº4�Qh=SA7G;G%DJV�3WDJG�G�A]Zoc;1 Z[4L\I@�D/\IG%D�4[AB=S4[G�@�D¸_ 1/3¨EW2/3WDJV�DJG�QÉZ7`�Z[4[G%c¢Zo_'G�4[4[G�AZ73WD \IG;c+@�Z[4uZ[@�OP4.QR=SA7G+Z[`�Z[4[G%cdZu6/=%j�GY`�G�4F4[@�_ÄG;_ 1/3WEW4�:enFO�\I@�1JABZ[G�l'476/3¨ZLj�35G�QÉ3¨ZeDJ@�4u6JG%E5b OP1/E"4[@&E5@�D/VS�.EW35j�G%2Z[`�Z[4[G%cdZ�476/=S49=SA7G�4[@�@)GIH�b'G%D/Z73Wj�G�4[@)A7G�b E¨=�\IG�leZ71/\]6 =�Z�476JG�=�35A�4[AB= �¢\�\I@�D�4[AB@�E{Z[`�Z74[G%c @�A9476JG�V�E5@�_ =�E4[G%E5G%\I@�cdc�1/D/3¨\�=S4735@�D/Z�=�D/2¾_ =�D � 3WDJVÖ3¨DJOºA]=�Z[4[AB1/\I471JABG%Z�lâQL6/3W\]6¾c�1/Z[4�\I@�D�473WD�1/G�4[@)G�j�@�E5j�GNOP@�A92JG%\�=�2JG%Z&4[@\I@�c+G�:

� �.�-' ��� � ��$ ;5%(; +-�:$&'��

fh@�D/ZB3WZ[4[G%D/\I`d\�=�D&_'GF=�\�\I@�cdb EW3WZ76/G%2¢QL6/G%DÓ=�\B6/=�D/V�Gu3¨D¢@�DJGuZ[`�Z[4[G%c =SA74735O½=�\I4â3WZ�b A7@�b =SV�=S4[G%2&4[@+=�EWE ABG%EW=S4[G%2=SA74735O½=�\I47Z�: "J@�A]\IG%2Ê\I@�D/Z73WZ74[G%D/\I`Ü3WZ�=Öb/AB3Wcd=SAB`ÏV�@�=�Eu@�O�FG%Z[47=�E54 � ��� �: ~ 6JG�=�1J476J@�ABZ&@�OU476 =S4�E¨=�DJV�1/=SV�G\I@�D/Z73¨2JG�AU3WD/\I@�D Z73WZ[4[G%D/\I`Ë_'G�4.QhG�G%Dà=SAB\]6/354[G%\I471JABGÓ=�D/2¼\I@�2JGÓ4[@¸_'Gd476JGdb/A]3Wc+Gd\I@�D/\IG�ABDàOº@�A�3Wc+b/AB@mj�3WDJV�476JG1/Z[G�O½1/EWD/G%Z7Zâ@�O�Z[@�OP4.QR=SA7GY=SAB\B6 354[G%\I471JA7G%Z�: ~ 6JG�=�\I471/=�E-Z74[AB1/\I471JA7G;@�O�=&fÊb/A7@�V�A]=�ct3WZe\�=Sb/471JA7G%2Ë=�D/2�A7G�j�3WZ[G%23WD�4[@¸=�FG%Z[47=�EW4;=SAB\]6/354[G%\I471JA7G¢_ =�Z[G%2N@�Dàb/A7G�b/A7@�\IG%Z7Z[@�A 2 35A7G%\I4735j�G%Z �PG�:}VJ:5l������������� � LOº@�1 D/2N3WD�476JG¢Z7@�1JAB\IG\I@�2JG(� E5G%Z�: 8LOP4[G�A¸476JG¼=SA]\B6/354[G%\I471/A7G¼3WZ9\I@�D/Z[4[A]1/\I4[G%2�l{\B6/=�D/V�G%ZC3WDÒ@�DJG¼=SA7GNb A7@�b =SV�=S4[G%2 4[@Ô476/GË@�476/G�A%:jS=�D&2/G�A"!e@�G � G�4â=�E°: � < s �"=SA7GFZ7471/2J`�3WDJVU476/Gu1 Z[Ge@�O^j�G�ABZ735@�DJG%2�Z[@�OP4.QR=SA7G =SAB\]6/354[G%\I471JABGu=�ZR=�b'@�Z7Z735_�E5GoOP@�AB\IG%2cd=Sb/b�3WDJVeZ7@�EW1J4735@�D;4[@u476JGâ=SAB\B6/3W4[G%\I471JA7G �?3Wc+b�E5G%c+G%D�47=S4735@�DYcd=Sb/b 3WD/VLb/A7@�_�E5G%c9:^M²35476�476JGRV�@�=�E�@�O =�\]6/35G�j�3WDJVAB1/DJ�473Wc+Ge\]6/=�DJV�GuOP@�ARZ7`�Z[4[G%c¢Z�l�476/G{f ��=SAB\]6/354[G%\I471JA]=�E�Z[4�`�EWG � r�s �ÄA7G���1/35ABG%ZÙ=�D�3WD�4[G�A[�.E5G�j�G%EÄcd=Sb/b 3¨DJVJ: �xD&476JG\�=�Z[Go@�O"f ��l�\B6/=�DJV�G%ZÙ=S4�476JGo=SAB\]6/354[G%\I471JA]=�E/E5G�j�G%E/Z76/@�1/EW2YD/=S471JAB=�E¨E5`U_'GRb/A7@�b =SV�=S4[G%2¢4[@ 476JGo3Wcdb E5G%c+G%D�47=S4735@�DE5G�j�G%E°: ~ 6JG�`9=�Z7Z71/c+GU476/=S4F3¨c+b E5G%c+G%D�47=S4735@�D��.EWG�j�G%E"\B6/=�D/V�G%ZeQe3WEWE'_'G A7G%Z[4[A]3W\I4[G%2¸_�`¸= !xb/ABG%\I@�D/\IG%35j�G%2ËZ[G�4e@�O=Sb/b E¨3W\�=S4735@�D93WD�j?=SA]3W=�D�47Z #�:

Page 10: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

3�� ; +5�8��� �8$&����) +-%(�.$

<�`�Z[4[G%cÞV�G%DJG�AB=S4735@�DY3WZ-476JGR=�1J4[@�cd=S473W\h\IA7G%=S4735@�DY@�O�=�D;3Wcdb E5G%c+G%D�47=S4735@�D;V�35j�G%D;=u6/3WV�6��.E5G�j�G%E�Z7`�Z[4[G%c 2JG%ZB\IAB35bJ�4735@�D�: �CG�476J@�2/ZR@�O Z[`�Z74[G%c V�G%DJG�AB=S4735@�D9jS=SA7`Ó_ 1J4â=SA7G{V�G%DJG�AB=�E¨E5`d_ =�Z[G%2�@�D¸476JG{Z[G%E5G%\I4735@�D9=�D/29\I@�cdbÄ@�ZB354735@�D@�ORb/A7G%2JG���DJG%2�l"\I@�=SABZ[GI�V�A]=�3WDJG%2à\I@�cdbÄ@�D/G%D�47Z�: ~ 6JG+V�G%DJG�A]=S4735@�D¼@�ORZ[`�Z[4[G%cdZU3¨Z{AB=�3WZ[G%2�4[@Ë=�DNG�j�G%Dà6 35V�6JG�AE5G�j�G%E'_�` FG%D��g@�\�= � � �lJQL6/3W\]6&3¨Zâ=+Z[`�Z74[G%c Oº@�AâV�G%DJG�A]=S473WDJVd=Sb/b E¨3W\�=S4735@�D��.Z[b'G%\�3���\LZ[`�Z[4[G%c V�G%DJG�AB=S4[@�A]Z�:Ù8FD�`Z[`�Z[4[G%c 476 =S4¢3WZY_ 1/3¨E54;j�3W=N476/G¸Z[G%E5G%\I4735@�DÜ@�OF\I@�c+b'@�DJG%D�47ZdA]=S476JG�Ad476/=�DÔ3¨c+b E5G%c+G%D�47=S4735@�DÏ\I@�2/3WDJV¼ZB6J@�1/EW2b/A7@�j�3¨2JG{3WD/\IA7G%=�Z[G%2¸A7G%EW3W=S_ 3¨EW354.`¢@�O-476JG;cd=Sb/b 3WD/V;_'G�4.QhG�G%DCZ7@�1JAB\IGU\I@�2JGU=�D/29=SA]\B6/354[G%\I471/A7G�:�#4YQÙ@�1/E¨2ÖZ[G�G%c 476 =S4�476/G�A7G&ZB6J@�1/EW2ÂDJG�j�G�A+_'G&=�A7G%=�Z[@�D)4[@N=�\�\IG%Z7Z¢=�1J4[@�cd=S473W\�=�EWEW`¼V�G%DJG�AB=S4[G%2ÔZ7@�1JAB\IG

\I@�2JG�: !e@mQhG�j�G�A%luG%DJV�3WD/G�G�ABZ �PG�j�G%D 6 =SAB2JQR=SA7GCG%DJV�3¨DJG�G�ABZ d=SA7GN\I@�D�473WD�1JG%E5`Ô6 =�1/D�4[G%2¾_�`Ü1/D/2J@�\�1/c+G%D�4[G%23Wc+b�E5G%c+G%D�47=S4735@�D��.E5G�j�G%Eg\]6/=�DJV�G%Z 4[@C476JG%35A 3Wc+b�E5G%c+G%D�4[G%2ËZ7`�Z[4[G%c¢Z�: ~ 6�1/Z�l^Z[@�OP4.QR=SA7GdV�G%D/G�AB=S4735@�D¼Qe3WEWEØDJG�G%24[@Cb A7@mj�3W2JGd=¸cdG%=�D/Z OP@�A;=�Z7ZB1JAB3WDJV�476/=S4U476JGÓZ[`�Z[4[G%c�\�=�D¼@�D/E5`Ë_'Gdc+@�2/3��/G%2�476JAB@�1JV�6¼=SAB\]6/354[G%\I471JA7GI�.EWG�j�G%E\B6 =�DJV�G%Z�:

<�`�Z[4[G%c V�G%D/G�AB=S4735@�D¸4[G%\]6/D/3 ��1JG%Zo=SABGU2/3WZ7\�1 Z7Z[G%2&OP1/A7476JG�Ao3WDC<�G%\I473W@�D < :Ñr�:

��� � ���������°�� ������������L���^���F�N*����g�S���~ 6JGÙV�@�=�E�@�O/Z7@�Oº4�Qh=SA7Gâ=�D/=�EW`�Z73¨Z"3WZ"4[@u2JG�4[G�ABc¢3WDJG�476JGh2JG�V�A7G�Gh4[@eQe6/3W\B6;=LZ[`�Z[4[G%cÞZ7=S473WZ � G%Z-3547Z^A7G���1/35A7G%c+G%D�47Z�:��~ 6JG�ABG�=SA7GÙc¢=�D�`{QR=%`�ZØ@�O/2/3WZ[473WD/V�1/3WZ76/3¨DJVÙ=�D/=�EW`�Z73¨Z�4[G%\B6/D 3 ��1/G%Z�: ~ 6JG�2/3WZ7473WD/\I4735@�D/Z'V�G%D/G�AB=�EWE5`{\IG%D�4[G�A =SAB@�1/D/24[AB=�2JG�@S>�ZF_'G�4.QhG�G%D�476/G;=�\�\�1JAB=�\I`�@�Og476JG;cdG�476J@�2Ë=�D/2�476JGUGI>'@�A74FA7G���1/35A7G%2C4[@Ób'G�A7OP@�ABc 476JGY=�D/=�E5`�Z73WZ � � < �_'G%\�=�1/Z[G�l�3¨DàV�G%DJG�A]=�E°l�b/A7@�j�3¨DJV�476/G�\I@�ABA7G%\I47DJG%Z7ZY@�OFZ[`�Z74[G%cdZ+3WZ�3WD�4[A]=�\I47=S_ E5G�:à8FD)=�2/2/354735@�D =�E�2/3WZ7473WD/\I4735@�D\�=�D¾_ÄG¸c¢=�2JG¸_'G�4.QhG�G%DÜ4[G%\]6/D/3 ��1JG%Z¢Oº@�A&2JG�4[G%\I473WDJVÖ476JG¸b/A7G%Z7G%D/\IGC@�O{3WD/\I@�ABA7G%\I47DJG%Z7ZÓ=�D/2Ï4[G%\B6 D/3 ��1JG%ZdOP@�AE5@�\�=S473WDJV�476JG&\�=�1 Z[GÓ@�Oo3¨D/\I@�A7A7G%\I47DJG%ZBZ�:��C@�Z[4Y=�1J4[@�cd=S4[G%2Ï=SAB\]6/354[G%\I471JAB=�ER=�D/=�EW`�Z73¨Z 4[G%\B6 D/3 ��1JG%ZU476 =S4�6/=mj�G_'G�G%Dd2JG�j�G%E5@�b'G%2+@�AhZ71JV�V�G%Z[4[G%2¢4[@;2/=S4[Ge=SA7Go@�O'476JGoOP@�ABc+G�A � 3WD/2 � �Jl � ��l�r���l�r � l � � �:gXoG%\IG%D�47E5`�l�2JG�b'G%D/2JG%D/\IG=�D/=�E5`�Z73WZe6/=�Ze_ÄG�G%D�Z71JV�V�G%Z[4[G%2�=�ZF=¢_�=�Z73WZoOP@�Au=SAB\B6/3W4[G%\I471JA7GI�.E5G�j�G%EØO½=�1/E54LE5@�\�=�EW3�'%=S473W@�DC=�D/2Ë3Wc+b =�\I4e=�D/=�E5`�Z73WZ@�O�476JGYEW=S4[4[G�A � 3WD/2 � < � �: "Ø3¨D/=�EWE5`�l�476JG�A7GY3WZe=�D�3WcdbÄ@�AB47=�D�4F2/3WZ[473WD \I4735@�D¸4[@&_'G�2JA]=%QLD�_'G�4.QhG�G%DË=�D =�E5`�ZB3WZL@�OO½1/D/\I4735@�D/=�E�=�D/2&GIH�4[A]=?�OP1/D \I4735@�D/=�EÄb/A7@�b'G�A74735G%Z%:Ø8eV�=�3WD�lJc+@�Z[4hGIHJ3WZ[473WDJV;4[G%\B6/D 3 ��1/G%Zh=SABGe@�O-476JGeOP@�ABc+G�A � 3WD/2�:��=�D�`¾Z[`�Z74[G%c b/AB@�bÄG�AB4735G%Zd\�=�DÒ_'GC=�D/=�E5` '�G%2ÜOP@�A&OP=�1/EW47Z¢2/1JA]3WDJV�476JGËG%=SABE5`ÏZ[47=SV�G%Z93WDÔ2/G�j�G%E5@�b c+G%D�4�:

"J@�A&GIH�=�cdb E5G�l!�#D�j�G�AB=SAB2 3oG�4Ó=�E: � � � �F2/G%c+@�D/Z[4[AB=S4[G�476JG�=�2/j?=�D�47=SV�G�@�O{G%=SA]E5`Ï=�D/=�E5`�Z73WZd3WDÔ476JG�2/3¨Z7\I@mj�G�A7`@�OFOP1/D \I4735@�D/=�Eh\I@�c+b'@�DJG%D�4dc¢3WZ7cd=S47\]6�l�QL6/G�A7G�476JG9c+G�476J@�2/ZY@�OF2 =S47=�GIH�\]6/=�DJV�G¸GIH�b'G%\I4[G%2Ï_'G�4.QhG�G%DÏ4.Qh@=SAB\]6/354[G%\I471JAB=�E^\I@�c+b'@�DJG%D�47ZoQÙG�A7G;3WD/\I@�c+b =S473W_ E5G�:*�C=SV�G�G;G�4o=�E°: � r � �"ABG�j�G%=�E�476JG b'@�4[G%D�473W=�E'Oº@�Ae2JG%=�2/E5@�\ � 3WD=�D¸=SAB\]6/354[G%\I471JA]=�E�Z[b'G%\�3�� \�=S4735@�D�@�OØ476JGUnuEW35j�G�4[473�8F\I4735j�GUkR=�2JV�G;<�`�Z[4[G%c¸:��e=�1 c+@mj�3W\B6¸G�4o=�E°: � r � �^=Sb/b EW`¢=�D=�D/=�E5`�Z73WZ-4[@�@�E�4[@u=�DY=SAB\]6/354[G%\I471JA]=�EJ2JG%Z7\IAB35b 4735@�DU@�O 476JGâ\�EW=�Z7Z73W\�=�E�V�=�ZgZ[47=S473W@�DYGIH�=�c+b�E5GÙ4[@ 2/G�4[G%\I4 =Fb'@�4[G%D�473W=�EAB=�\IGË\I@�D/2/354735@�D)_'G�4�QÙG�G%DÒ\�1/Z[4[@�c+G�A]Zd4[A7`�3WDJVN4[@¼b�1/c+bÏV�=�Z�:Ê<�47=?>'@�AB2ÔG�4¢=�E: � < � �e=Sb/b�E5`Â=à2JG�b'G%D/2JG%D/\IG=�D/=�E5`�Z73WZ�4[G%\B6/D 3 ��1/GL4[@+2/3WZ7\I@�j�G�Ah=;O½=�3WEW1JA7Ge=�D/2ÓEW@�\�=S4[GF476JGFOP=�1/EW4Ù3WDÓ=;2/35>ÄG�A7G%D�4Ù=SA]\B6/354[G%\I471/AB=�E�Z7bÄG%\�3 � \�=S4735@�D@�O 476JG Z7=�c+GUV�=�ZLZ[47=S4735@�D¸GIH�=�c+b�E5G�:�xDÏV�G%DJG�AB=�Elh2JG�4[G%\I473¨DJV¼O½=�1/E547Zd2/1/AB3WDJVË476JG¸G%=SABEW`ÂZ[47=SV�G%Z%lR3¨D/\�EW1/2/3¨DJV�2/1/AB3WDJV�=SAB\B6 354[G%\I473WDJVJlRA7G%Z71 E547Z+3WD

OPG�QÙG�A;G�A7A7@�ABZ{_'G%3WD/V9b/A7@�b =SV�=S4[G%2àOº@�A7QR=SAB2�l-QL6/3W\]6N3WDN471JA]DNA7G%Z71/EW47Z{3WD¼3WD/\IABG%=�Z[G%2NA7G%EW3¨=S_ 3WEW354�`¸=�D/2¼ABG%2/1/\IG%2cd=�3WD�4[G%D/=�D/\IGh\I@�Z[47Z�l�=�ZØ2JG�b 3W\I4[G%2;3WD�" 35V�1JABG < : ��4^3¨Z^DJ@�4Ø1/D�1 Z71/=�E�OP@�A-DJG%=SA]E5` � q� Ê@�OJ2JG�j�G%EW@�b c+G%D�4-GIH�b'G%D/Z[G%Z4[@o_'G�3WD/\�1/A7A7G%2u3WDu4[G%Z[473WD/VL=�D/2 cd=�3¨D�4[G%D/=�D \IG�@�O�=LZ[`�Z74[G%c � � r �:��#D{=L\�=�Z[GÙZ[471 2J`e3WD�j�@�E5j�3WDJVR476JG�b A7G%2/3W\I4735@�Du@�OZ[@�OP4.QR=SA7G ��1/=�EW354�` _ =�Z[G%2Y@�DY476/GR2/G�j�G%E5@�b c+G%D�4g@�O�476/Gâ0�<�47=SAgV�A7@�1/D 2�ZB1JA7j�G%3WEWE¨=�D/\IGÙZ[`�Z[4[G%c � � � �l�476JGâD�1 cU_'G�A@�OÄOP=�1/EW47Zg\IA7G%=S4[G%2¢2/1/AB3WDJVu2JG%Z735V�D�QR=�ZÙr �� &l�`�G�4�476JGoD�1/cU_'G�Ag@�OÄOP=�1 E547Zg2/3WZ7\I@�j�G�A7G%2+_'G�OP@�A7Gâ@�A�2/1JAB3¨DJVF2/G%Z735V�DQR=�Zo=+c+G�A7G+�� &: ~ 6JGuGIH�b'G%\I47=S4735@�D93WZR476 =S4o=+Z[@�EW3W2&=SAB\B6 354[G%\I471JAB=�E"2/G%Z735V�D�\�=�D9A7G%2/1 \IGF476/GFb A7@�b =SV�=S4735@�D9@�OG�A7A7@�A]Zg4[@;EW=S4[GeZ[47=SV�G%Z�@�O'2JG�j�G%E5@�b�c+G%D�4Ù_�`�b/A7@�j�3¨2/3WDJV{={j�G%6/3¨\�E5GâOº@�AÙ\I@�cdc;1 D/3W\�=S4735@�D¢_ÄG�4�QÙG�G%DÓZ[47= � G%6J@�EW2/G�ABZ3WD9476/G;Z[`�Z[4[G%c =�D 2¸_�`&b A7@mj�3W2/3WD/VYZB1Jb/b'@�A74âOP@�ALG%=SABE5`9=�D/=�EW`�Z73¨Z�:Ù8Fc+@�DJVÓ476JG b/A7@�b'G�A7473WG%Zâ476/=S4e\�=�D�_'G%DJG��/4OPA7@�c G%=SABE5`�=�D/=�E5`�Z73WZâ=SABG 476JG{OP@�EWE5@mQe3WDJVJ:��������������� ���"!$#%!$&�'��(�����(�)�+*�&-,.#)�$/1032546�+#���*)�(27,98:��/�<;=�27>?*)�@�2A�B2A#?/�C!$#%!�&@'��(���(D�E:8:�)��4F�G���C�-#?/2A#),�27,H/�I26J�!��B��#�2K!

L ���0)&�2A�M,��+�C!���#1�-#1���F,�26�:/�N2A&���4A�@/O!P�(2Q/R�$�S�27>?*)�@�2A�B26#T/�AU

Page 11: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

Planning Phases

Cos

t of

Err

or R

epai

r

Phase of Error Discovery

RequirementsAnalysis

SystemArchitecting

Low-levelDesign

High-levelDesign

Business CaseDevelopment

" 35V�1JA7G < ��TÙ=SABE5`&8eD/=�EW`�Z73¨ZROº@�ALT�A7A7@�ABZâXLG%2/1/\IG%Z �C=�3WD�4[G%D/=�D/\IGYfh@�Z[47Z�:

��� ­�·L©ÄÇ5«%¶.«I±Ä«I§B§�� 476JG G%D�4735A7GFAB=�DJV�Gu@�O"O½1/D/\I473W@�D/=�EW354�`dZ[b'G%\�3��/G%2&3WD¢ABG���1/3WA7G%c+G%D�4Ù2J@�\�1/c+G%D�47ZR=SA7G{c+G�4�:

��� ¦º®�«I±Ä«I§B§�� 3WD�4[G%D/2JG%2CZ[`�Z74[G%c _'G%6/=%j�35@�A �PG�:}VJ:5lÄ\I@�c+b 1J47=S4735@�D =�E�b/A7@�V�A7G%ZBZ ÙG�j�G%D�471 =�EWE5`�@�\�\�1/ABZ�:

��� ªxµ�«%¶½È� D/@¢1/D/3WD�4[G%D/2JG%2&_'G%6/=mj�35@�A �PG�:}VJ:5l�2JG%=�2/EW@�\ � hG�j�G�Ae@�\�\�1/ABZ�:

��� ­�·L©J­S±Ä«I±�¶Ù¦P± ¶.«�¬xª�¿m¶½¦½­�±� \I@�D DJG%\I4[G%2�\I@�cdbÄ@�D/G%D�4o3WD�4[G�A7O½=�\IG%Zo=�D/2�O½1/D/\I4735@�D =�EW354735G%Zh=SA7G \I@�c+b =S473W_ E5G�:

��� «I¬PµI­�¬]·dªS±�¿�«�� Z[`�Z[4[G%c b'G�A7OP@�ABcd=�D \IG{A7G���1 35A7G%c+G%D�47Zâ=SA7GUc+G�4�:

8Ê\I@�1/ABZ[GI�V�AB=�3WD/G%2¢j�35G�QÜ@�O-=UZ[`�Z[4[G%c9l�QL6/3¨\B6¢=�E¨E5@mQLZ�@�DJGF4[@;476/3¨D � =S_Ä@�1/4�476JGFZ[`�Z74[G%c 3¨D¢EW=SA7V�GF\B6�1/D � Z�lb/A7@�j�3¨2JG%Ze3¨c+b'@�A747=�D�4e_'G%DJG��/47ZoG�j�G%DN=SOP4[G�A{Z[`�Z[4[G%c 2JG%Z735V�D�: �C=�D�`�3WZBZ71JG%Z�l�QL6JG%DC=�2 2JA7G%Z7Z[G%2Ë=S4u476JGY3Wc+b E5GI�c+G%D�47=S4735@�DÂE5G�j�G%E°lg=SA7GÓ3¨D�4[AB=�\I47=S_�E5G¢OP@�A�=�D�`�476/3WDJVËc+@�A7G¢476 =�DàZ7cd=�E¨E �½E5G%Z7Z;476/=�DÖ=COPG�Q´476/@�1/Z7=�D/2ÖEW3WDJG%Z{@�O\I@�2JG ]l�Z73¨DJV�E5GI�.=�1J476J@�AoZ7`�Z[4[G%c¢Z�:�M²6JG%DC2/G%=�EW3WDJV+3WD9476/GUEW=SA7V�G�l =�D�=SAB\B6 354[G%\I471JA7GU\�=�DCb/A7@�j�3W2/G =�Z7Z73WZ[47=�D \IGU3WDb'G�A7OP@�ABcd3WDJV�47=�Z � ZLZ71 \B6¸=�ZL476JG{Oº@�E¨E5@mQL3¨DJVJ:

�� ªS»�ÇͶ � ­%¿]ªSÇ�¦WÛ%ª�¶½¦½­S±�� 8eOº4[G�AÙ=oO½=�3WEW1JA7Gg6/=�Z-_'G�G%D 3W2JG%D�473��/G%2U3WD =LZ7`�Z[4[G%c¸lS3W4^3WZ^D/G%\IG%Z7Z7=SA7`u4[@u3WD�j�G%Z74735V�=S4[G476/G�\�=�1 Z[G�@�OL476JG�O½=�3WEW1JA7G�: ~ 6 3WZ;3¨Z�D/@�ABcd=�EWE5`¼2/@�DJGÓ_�`ÖZ7`�Z[4[G%c¢=S473W\�=�EWE5`¼ABG%2/1/\�3WDJV�476JG9\I@�2/G&4[@N_'G3¨D/Z[b'G%\I4[G%2Ü1/D�473WEL476JGCO½=�1/E54&3WZdG�j�G%D�471/=�EWE5`Ô3¨Z[@�EW=S4[G%2¾4[@Â=ÖZ[b'G%\�3�� \¸Z[G�4&@�OUZ[47=S4[G%cdG%D�47Z�: �xDÜ=ÂEW=SA7V�GZ7`�Z[4[G%c¸lÄ476/G��/ABZ74e=Sb/b/AB@%HJ3Wcd=S4735@�DC4[@Ó476/3¨ZLA7G%2 1/\I4735@�DC3¨Zob/A7@�j�3¨2JG%2¸_�`¸476JG�\I@�c+b'@�DJG%D�4uZ[4[AB1 \I471JA7GU@�O476/GUZ[`�Z[4[G%c%$yZo=SAB\]6/354[G%\I471JABG�:

��� «Ã�¬7«�§]§]¦°­S±Þ¤Ä«�§I¶½¦º±�Ã�� MÒ6JG%Dà=¸c+@�2/3�� \�=S4735@�DN3¨Z cd=�2JG+4[@Ë=9b 35G%\IG+@�OâZ[@�OP4.QR=SA7G�l 354U3WZ{DJG%\IG%ZBZ7=SA7`�4[@ABG�AB1/DN4[G%Z[47Z;4[@C=�Z7ZB1JA7Gd476/=S4;DJ@¸O½=�1/E547Z{QhG�A7GÓ3¨D�4[A7@�2/1/\IG%2N2 1JAB3WDJV�476JGÓc+@�2 3�� \�=S4735@�DNb A7@�\IG%ZBZ�: ��3WD��3¨cd3�'%3WDJVN476/G�4[G%Z[47Z&4[@ w 1 Z[4d476J@�Z[G�=?>'G%\I4[G%2²_�`Ï476JGË\B6/=�D/V�G�6/G%E5b ZdABG%2/1/\IGC476/G�\I@�Z[4&@�O A7G�V�A7G%ZBZ735@�D

p

Page 12: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

4[G%Z7473WDJVJ:o8eV�=�3WD�l�3¨D¸=¢EW=SABV�G;Z[`�Z[4[G%c9l�476JG��/A]Z[4L=Sb/b/AB@%HJ3Wcd=S4735@�D94[@&476/3WZLcd3WD/3Wc¢=�E�Z[G�4e3WZLb/A7@�j�3W2/G%29_�`=�ZBZ[@�\�3¨=S473WDJV+476JG 4[G%Z747ZoQL35476�476/GU\I@�c+b'@�DJG%D�4oZ[4[AB1/\I471JABG 3WD/6JG�A7G%D�4o3WD�476JG =SA]\B6/354[G%\I471/A7G�:

��� «%¶.«7¿%¶½¦°­S±C­xµ � ­xµI¶½³�ªS¬[« � ¬]¦ µ�¶ � nuj�G�A�473Wc+Gâ476JGoZ74[AB1/\I471JA7Gâ@�O�= Z7`�Z[4[G%c 4[G%D/2/Zg4[@U2/AB35OP4 2 1JGâ4[@U1/D/2/@�\��1 c+G%D�4[G%2ÖG%D/6/=�D \IG%c+G%D�47ZY=�D/2àA7G�b =�35A]Z�: ~ 6JG¢=SA]\B6/354[G%\I471/A7GÓb A7@mj�3W2JG%Z;=C4[@�1/\]6/Z[4[@�DJG�=SV�=�3WD/Z74UQL6/3¨\B62/AB35OP4R\�=�DC_'Gu2/G�4[G%\I4[G%2�=�D/2Cc+G%=�Z71JA7G%2":

��� «I»�§�«�� M²6JG%D�Z[@�c+GÙ\I@�cdbÄ@�D/G%D�4Ø@�O/=LZ[`�Z[4[G%cÞ3WZ"ABG%\I@�V�D/3�'�G%2�=�Z^_'G%3WDJVe1/Z7=S_ E5GÙ3WD{@�476JG�A =Sb/b EW3¨\�=S4735@�D/Z�l476/G%D;476 =S4 \I@�cdbÄ@�D/G%D�4�l�=�ZØQhG%EWE�=�Zg=�D�`U@�476JG�A�\I@�c+b'@�DJG%D�47Z 476/=S4g354-ABG���1/3WA7G%Z�lS=SA7GRGIH�4[AB=�\I4[G%2¢=�D/2Y1/Z[G%23¨D @�476JG�AgZ[G�4[473WD/V�Z�: ~ 6/3WZ�A7G���1/35ABG%Z^=�D�1/D/2JG�ABZ747=�D/2/3WDJVR@�O/476/GÙ=SAB\]6/354[G%\I471JAB=�E�\I@�D�4[GIH�4g=�D/2�=�Z7Z71/cdb/4735@�D/ZQe35476/3WD&QL6/3¨\B6�476JGU\I@�cdbÄ@�D/G%D�4âQR=�ZL\I@�D/\IG%3Wj�G%2�:

��� «I®S«�¬B§%«;Îâ±�Ã�¦P±Ä«]«I¬�¦º±�Ã�� MÒ6JG%D�=9Z[`�Z[4[G%c 6/=�Zu_'G�G%D�3WDËZ[G�A7j�3W\IGYOº@�A{cd=�D�`C`�G%=SABZ%l�476JG%DN354F@�Oº4[G%D�_'GI�\I@�cdG%Z{2/3 �¢\�1/EW4â4[@&cd= � G+c+@�2/3���\�=S4735@�D/Zâ_'G%\�=�1/Z[G�@�O�E5@�Z[4FG%DJV�3WD/G�G�AB3WDJV¢3¨DJOº@�A]cd=S4735@�DC2/G%Z7\IAB35_ 3¨DJV+476JGZ7`�Z[4[G%c¸:�8²4.`�b 3W\�=�E°l�=�D/2d4[A]=�\I47=S_ E5GuZ[47=SA7473WDJVUbÄ@�3¨D�4�OP@�AhA7G%\I@mj�G�AB3¨DJV;476 3WZ�3WD/Oº@�ABc¢=S4735@�Dd3WZ�4[@;A7G%\�=Sb 471JA7G476/GU=SAB\B6 354[G%\I471JA7G�:

T�=�\]6 @�O+476/G%Z[Gà47=�Z � Z�\�1JA7A7G%D�47E5`²3WD�j�@�E5j�G%Z�2/G�47=�3WE5G%2 ZB35Oº473¨DJV �PQL6JG�476JG�A�cd=�D�1/=�E @�AË\I@�c+b 1J4[G�A�=�Z7Z73¨Z[4[G%2 476JA7@�1/V�6&Z7@�1JAB\IGu\I@�2JGu3WDÓ@�AB2JG�AR4[@+=�\B6/3WG�j�GF476/GFb�=SA7473W\�1/EW=SAÙV�@�=�E°: ~ 6/GF=SAB\]6/354[G%\I471JABGu\�=�D&_'Gu1/Z[G%2Ó4[@YZ7G�V�A7GI�V�=S4[G EW=SA7V�Gu\B6�1/D � Zh@�O^\I@�2JGu4[@�G%3W476JG�AÙ_'Gu3WD/\�EW1 2JG%2+@�Ao35V�DJ@�ABG%2Ó2/1/AB3WDJV 476 3WZ�GIHJ=�cd3WD =S4735@�D�l�476�1/ZhG%D/6 =�D/\�3WDJV476JG b AB=�\I473W\�=�EW354�`Ó@�OØ476JG b A7@�\IG%ZBZ�:

� ����� � � ��� � � ��� ������� �� ��� � �� � � � �*��� �����

~ AB=�2/354735@�D =�EWE5`�lmZ[@�OP4.QR=SA7GR=SAB\B6 354[G%\I471JA7G%ZØ6/=%j�Gh_'G�G%D 2JG%Z7\IA]35_'G%2 3WDJOP@�ABcd=�EWEW`L=�Z-D =S471JAB=�E×�.EW=�D/V�1/=SV�G�2J@�\�1/c+G%D�47Z�:kh@%HÖ=�D 2Ö=SA7AB@mQ 2/3W=SV�AB=�cdZ�=SA7G&Z[@�c+G�473Wc+G%Z�1/Z[G%2Ö4[@C_ AB3WDJVCcd@�A7G¢b/ABG%\�3WZ735@�DN4[@�2JG%Z7\IA]35b/4735@�D/Z @�OoZ[@�Oº4�Qh=SABG=SAB\]6/354[G%\I471JA7G%Z%l^_ 1J4uQL6 3WE5G�476JG�`Ë\�=�DàA7G�j�G%=�E�Z[@�cdGd=�cU_ 3WV�1J@�1/Z =�D/2Nc¢3WZ7Z73WD/VÓA7G���1/35ABG%c+G%D�47Z%l�476JG�`Ë=SABG¢DJ@�4\�=Sb =S_ EWGC@�O{c+@�2JG%EW3WDJV¼=�E¨Eâ476JG�3¨DJOº@�A]cd=S4735@�DÏb/AB@mj�3W2JG%2Ô3WDÜ476JGCD/=S471/AB=�E×�.EW=�DJV�1 =SV�G�Z[b'G%\�3�� \�=S473W@�D�lhZB1/\B6Ò=�ZZ[`�Z[4[G%c _'G%6/=%j�35@�A%: "/@�ABcd=�EW3�'%=S473W@�D�lo=�Z�=Sb/b EW35G%2Ü4[@ÂZ7@�Oº4�Qh=SA7GN2JG�j�G%EW@�b c+G%D�4&=S4&476JG�=SAB\B6/3W4[G%\I471JAB=�EFE5G�j�G%E°l3WD�j�@�E5j�G%Zd476/G�=Sb/b E¨3W\�=S4735@�D)@�O cd=S476JG%c¢=S473W\�=�EWE5`Â_ =�Z[G%2¾c+@�2/G%EW3WDJV¼EW=�D/V�1/=SV�G%Zd4[@Â\�=Sb/471JA7GCZ74[AB1/\I471JAB=�Ee=�D/2_'G%6/=%j�35@�AB=�E"b/A7@�b'G�A74735G%Zâ@�OgZ[`�Z[4[G%cdZ%:R8e_'@mj�G�=�EWE°l/476JG%Z7G;EW=�DJV�1 =SV�G%ZLb/AB@mj�3W2JG Z71Jb bÄ@�AB4âOº@�AeAB35V�@�A7@�1/ZL=�D/=�E5`�Z73WZ@�Oo=ËZ[`�Z74[G%c G%=SABEW`¼3WD¼476JG&EW35OPG¢\I`�\�E5GÓ=�D/2 ��@�A�=S4Y=�6 35V�6¼E5G�j�G%EÙ@�Oo=S_ Z[4[AB=�\I473W@�D�:�kR1J4�=�2/2/354735@�D =�Eg_'G%DJG��/47Z=�\�\IAB1JG;=�ZoQhG%EWE°:

� 8ÉOP@�ABcd=�EWE5`d2/G%Z7\IAB35_'G%2&Z[`�Z74[G%c 3WZR=�j�G%6/3W\�E5GuOP@�Aâb/A7G%\�3WZ[Gu=�D/291/D =�cU_ 3WV�1J@�1/Zh2JG%Z7\IAB35b 4735@�DÓZB1Jb/b'@�A7473WDJV\I@�c¢c;1/D 3W\�=S4735@�D¸=�c+@�D/V¢Z[47= � G%6J@�EW2/G�ABZo3WD¸Z7`�Z[4[G%c 2JG�j�G%E5@�b c+G%D�4�:

� MNG%E¨E×�.1/D/2JG�A]Z[4[@�@�2�=�D/2�QhG%EWE×�.2J@�\�1/c+G%D�4[G%2N\I@�c+b'@�DJG%D�47Z =�D/2N\I@�D/DJG%\I473W@�D/Z{b/A7@�j�3¨2JG+=9c+G%=�D/Z{4[@9GIH��b�E5@�354â\I@�cdc+@�D/=�E¨354735G%Zo=�c+@�D/V¢=SAB\B6 354[G%\I471JA7G%Z�:

� T�H�b�EW3W\�354¢=�ZBZ[@�\�3¨=S4735@�DÒ@�O OºG%=S471/A7G%Z�=�D/2Üb A7@�b'G�A74735G%Zd@�O;=SAB\B6/3W4[G%\I471JA7G%Z9\�=�DÒ_'G�=�D²=�3W2Ò3WDÜ\]6J@�@�ZB3WDJV=�cd@�DJV¢2JG%Z73WV�D9=�E54[G�ABD/=S4735j�G%Z%:

� �xD/\IA7G%=�Z7G%2Cc+@�2/3�� =S_�3WEW354�`d@�Og=dZ[`�Z[4[G%c 3WZobÄ@�ZBZ735_ E5G{2/1/G{4[@¢QhG%EWE"2J@�\�1/c+G%D�4[G%2¸\I@�c+b'@�DJG%D�4e3WD�4[G�A7O½=�\IG%Z=�D 2Ó476/Gu=mj?=�3¨EW=S_ 3WEW3W4.`d@�O-A7G%EW3W=S_ EWGo4[G%\B6/D 3 ��1/G%ZR4[@Y=�D =�E5` '�Gu476JGub'@�Z7Z73W_ E5GLGI>'G%\I47Zâ@�OØc+@�2 3�� \�=S4735@�D/ZÙ4[@d=Z7`�Z[4[G%c¸:

� "/@�ABcd=�E/2JG%ZB\IAB35b/4735@�D;b/A7@�j�3¨2JG%Z =FcdG%=�D/Z 4[@ \�=Sb/471JA7Gâ2J@�c¢=�3WD��.Z[b'G%\�3�� \�b/A7@�b'G�A74735G%Z%l?ABG���1/3WA7G%c+G%D�47Z�l�=�D/23¨2/35@�Z[`�D/\IAB=�Z73WG%Zh3¨D�Qh=m`�ZL476/=S4LZ71Jb bÄ@�AB4R2/@�cd=�3WD��.Z[b'G%\�3���\e=SAB\]6/354[G%\I471JA]=�E"V�G%DJG�AB=�E¨3�'%=S4735@�D/Z�:

s

Page 13: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� �xD/\IA7G%=�ZB3WDJV&476JG;V�A]=�D�1/E¨=SAB354.`C@�OÙ2JG%Z7\IA]35b/4735j�G;G%E5G%c+G%D�47Z{3Wc+b/A7@�j�G%ZuZ7\�=�EW=S_ 3WE¨354.`�l'=�D/2Ë476�1 ZFZB1Jb/b'@�A74oOP@�A476/GU2JG�j�G%E5@�b cdG%D�4o@�O EW=SA7V�GI�.ZB\�=�E5GUZ[`�Z[4[G%cdZ�:

~ 6/Ge\IA7G%=S4735@�D&@�O"=;Oº@�A]cd=�E =SAB\]6/354[G%\I471JABGF2JG%ZB\IAB35b/4735@�DÓD/=S471JAB=�E¨E5`�1 D/\I@mj�G�ABZR=�c;_ 35V�1/3W4735G%Z�=�D/2¢@�cd3WZ7ZB35@�D/Z�:�C@�AB3W\I@�D/3ÄG�4o=�E°: � r < �"2/3WZB\�1/Z7ZÙ476JG{DJG�G%2&Oº@�AâOP@�ABcd=�EW3W4.`¢3WD�6/3WV�6��.E5G�j�G%EÄ2JG%Z7\IAB35b 4735@�D/Zh3WD&@�AB2JG�AR4[@dZ71Jb/b'@�A74Ù476JG=S_ 3WE¨354.`�4[@�\IA7G%=S4[G&=�D/2¼1/Z[GÓ6/35G�AB=SAB\]6/3W\�=�Eg=S_ Z74[AB=�\I4735@�D/Z;=�D/2¼cd=Sb/b�3WDJV�Zu_'G�4.QhG�G%D¼476JG%c¸:�<�6/=mQ G�4;=�E: � � s �2/3WZB\�1/Z7ZR2/3×>'G�A7G%D/\IG%ZR3WD&476JG =S_ Z74[AB=�\I4735@�D/ZâDJG%\IG%ZBZ7=SA7`&Oº@�Ao2JG%ZB\IAB35_ 3WD/V;=SAB\]6/354[G%\I471JA7G%ZL=�D/2�476J@�Z[G{A7G���1/35ABG%2¢OP@�A3WD/Z747=�D�473W=S473W@�D�@�OÙZ[`�Z74[G%cdZ�:#�C@�Z[4{2/3WZ7\�1 Z7Z735@�D/ZL476/=S4{3WD/\�EW1 2JG 476JGY4[@�b 3W\�@�O�=SA]\B6/354[G%\I471/A7Gd2JG%Z7\IAB3Wb/4735@�D/Ze=�EWZ[@c+G%D�4735@�Dd476/GLDJG�G%2dOP@�AÙZB1Jb/b'@�A74g4[@�@�EWZ�4[@�=�3W2d3WDd=�D =�E5`�ZB3WZ�: kh1/4�2JG�j�G%E5@�b cdG%D�4Ù@�O'=�1/4[@�cd=S4[G%2Ó=�D =�E5`�ZB3WZg4[@�@�EWZ2JG�b'G%D/2/Z!� ABZ[4R@�D9476JGU=mj?=�3¨EW=S_ 3WEW3W4.`¢@�OØOP@�ABcd=�E"EW=�D/V�1/=SV�G%Zâ476/=S4LZB1Jb/b'@�A74âZ[`�Z[4[G%c 2JG%ZB\IAB35b/4735@�D":

nuD/GÙ@�O�476JGÙV�@�=�E¨Z @�O/476JG!�[< nÜsSq�q�q?��ruV�1 3W2JG%EW3WD/G�Oº@�Ag=Sb/b�EW3W\�=S4735@�D;@�O/476JG!�7</nÜsSq�qJ�âZ747=�D/2/=SAB2;4[@{Z[@�Oº4�Qh=SABG2JG�j�G%E5@�b�c+G%D�4â3WZhOP@�ABcd=�EW3 '%=S4735@�D�=S4R=�E¨EÄZ747=SV�G%Zâ@�O^476JG{Z[@�OP4.QR=SA7G EW3WOºGF\I`�\�E5G�:RnuZ � =SABZ7Z[@�D�=�D/2 uEW=�ZBZRb/A7@mj�3W2JGu=b/AB=�\I473¨\�=�E-=�E54[G�A]D/=S4735j�G�4[@Ó_ 1 3WEW2/3WD/V �7</nßsSq�q�q&\I@�cdb EW3W=�D�4eZ[@�OP4.QR=SA7G � � q �: ~ 6JG�`¸=SA7GYZ71Jb/b'@�A7473Wj�G @�O�OP@�ABcd=�E=Sb/b/AB@�=�\B6JG%Z�=�Z&=�D¾=�3W2Ü4[@Ö_�1/3WEW2/3¨DJV ��1/=�E¨354.`ÏZ[@�OP4.QR=SA7G�: !e@mQhG�j�G�A%lF476JG�`Ô\�EW=�3Wc 476/=S4&476JGCOP@�\�1 Z¢@�D¾476JG1/Z[GY@�OÙOº@�ABc¢=�EØcdG�476J@�2 ZF3¨ZFc¢3WZ72/35ABG%\I4[G%2�=�D/2ËAB=�3¨Z[GY4.Qh@9b/AB3Wcd=SAB`9@�_ w G%\I473W@�D/Z�: ~ 6/G#�/A]Z[4{3WZL_�=�Z[G%2�@�D�476JGG�j�@�EW1J473W@�D/=SA7`ÏD/=S471JA7GC@�O Z[@�Oº4�Qh=SABGË2JG�j�G%EW@�b c+G%D�4�: ~ 6JG�`ÏZ[47=S4[G�476 =S4¢476JG �7</n G%c+b 6/=�Z73¨Z+@�D ![\I@�c+b�E5G�4[G=�D/2�1/D/=�c;_ 35V�1/@�1/Z$#&Z[b'G%\�3�� \�=S4735@�DËQL3WE¨E"_'G%Z[4u_'G�3Wcdb E5G%c+G%D�4[G%2Ë476JA7@�1JV�6Ë476JG+1/Z[GY@�OÙOº@�ABc¢=�EØZ7bÄG%\�3 � \�=S4735@�DEW=�DJV�1 =SV�G%Z�: !e@mQhG�j�G�A%l^476JG�`�G���1 =S4[G�476 3WZu1/Z[G�QL35476Ë476JG+3WD/6/3W_ 354735@�D�@�OÙG�j�@�EW1J4735@�D�3WD�Z[@�OP4.QR=SA7G�:Yn{Z � =SA]Z7Z[@�D=�D/2 uEW=�Z7Z $yZ-Z[G%\I@�D 2;@�_ w G%\I4735@�D�3WZ-_ =�Z[G%2;@�DU476/GÙO½=�\I4 476/=S4-OP@�ABcd=�E�c+G�476J@�2/ZØ=SA7GÙ_'G�`�@�D/2;476JGR1/D/2JG�A]Z[47=�D/2/3WD/V@�Ogc+@�Z[4�l 3WO-DJ@�4o=�EWEl/\�1/Z[4[@�c+G�ABZL=�D/2¸1/Z[G�A]Zo=�ZâQhG%EWE"=�Zocd=�D�`92JG�j�G%E5@�b'G�ABZ�:

8FD{G%c+b 6 =�Z73WZ'@�D ![\I@�cdb E5G�4[G�=�D/2U1/D/=�c;_ 35V�1J@�1/Z #hZ7bÄG%\�3 � \�=S4735@�D DJG�G%2UDJ@�4^3Wc+b�E5`o476/=S4^=LZ[`�Z74[G%cÊ_'G%\I@�c+G�JH�G%2Ó3¨Dd473Wc+G�:gM²6/=S4R354Ù2/@�G%Zhc+G%=�D�3WZÙ476/=S4h=�E¨E Z[`�Z[4[G%c =SA74735O½=�\I47ZRZ76J@�1/EW2d_ÄG � G�b/4â3WD¢Z74[G�b&476/A7@�1JV�6J@�1J4Ù476JGEW35OPGU@�Oh476JG+Z[`�Z[4[G%c9:U8F2JjS=�D/\IG%Z{3WDË=�D/=�E5`�Z73WZF4[G%\B6 D/3 ��1JG%Z�l�3WDËOP=�\I4�l-\I@�1/EW2ËG�j�G%D�G%D/6/=�D/\IG+Z[`�Z[4[G%c G�j�@�EW1/4735@�D_�`�3WZ[@�E¨=S473WDJV¢476/G�GI>'G%\I47Z{@�Oh\B6/=�DJV�G%ZU=�D/2Ë_�`�AB=�3WZ73WD/V¢476JGY2JG�j�G%E5@�b'G�A $yZ{\I@�D ��2JG%D/\IG+3WD�476J@�Z[G+\B6/=�D/V�G%Z�:;8FZ4[@Ï476JG¼=�Z7Z7G�A74735@�D²476/=S4¸OP@�ABcd=�Euc+G�476/@�2/Z9=SABGN_ÄG�`�@�D 2 1/D/2JG�ABZ747=�D/2/3WDJVJlL476/3WZ92JG%D/3WG%ZÓ476/GNGIH�b'G�AB35G%D \IGË@�O@�476JG�AuG%DJV�3WD/G�G�AB3WDJV&2/3WZ7\�35b�EW3WDJG%Z�lJQe6/3W\B6CA7G�V�1/EW=SA]E5`¸1/Z[G�c+@�A7G+Z[@�b 6/3¨Z[473W\�=S4[G%2�4[G%\B6/D/3 ��1JG%Ze476/=�DË476J@�Z[G�OP@�1/D/23WD�Z[@�OP4.QR=SA7GdG%DJV�3¨DJG�G�AB3WDJVJ:��#D/2/G�G%2�l'476JG+G%Z7Z[G%D/\IG+@�Ohc+@�Z[4{OP@�ABcd=�Egc+G�476/@�2/Zu=SA7Gd=�DJ@�A]cd=�E b =SA74u@�OÙ6 35V�6JG�AG%2/1/\�=S473W@�D ��Z7G�4U476JG�@�A7`�l V�AB=Sb�6¼476JG�@�A7`�lg=�D/2àE5@�V�3W\S:�MÒ6 =S4;3WZU4[AB1JG¢3WZU476/=S4U476/G¢\I@�cdc�1/D/354�`¼6/=�ZUDJ@�4;`�G�4Z[G�4[47E5G%2)@�DÂQL6 3W\B6)Z[b'G%\�3�� \¢4[G%\B6/D 3 ��1/G%Z�ZB6J@�1/EW2Ö_'GÓ47=�1JV�6�4�lÙ=�D 2ÂZ7@�cd@�Z[4+Z[@�Oº4�Qh=SABG9G%DJV�3WDJG�G�ABZY\�1JABA7G%D�47EW`E5G%=mj�GU476JG%35AoZ7471/2/35G%Zâ3WE¨E�b A7G�b =SA7G%294[@ÓE5G%=SABD9=�2JjS=�D/\IG%2¸OP@�ABcd=�E�cdG�476J@�2 Z�:

����� ���������°�� ����������N� �S�����������-* �L�'*�,^���',"���K^=�D/V�1/=SV�G%Z�OP@�A�2JG%ZB\IAB35_ 3WD/VF6/3WV�6��.E5G�j�G%E/2JG%ZB35V�D/Zg6/=mj�GL_'G�G%Dd3WDd2/G�j�G%E5@�b c+G%D�4�=�D/2d1 Z[GoOP@�A�@mj�G�Ah4.Qh@;2JG%\�=�2/G%Z�:~ 6JG�A7G%\IG%D�4¢3WD�4[G�A7G%Z[4d3¨DÂZ7@�Oº4�Qh=SA7G�=SAB\B6/3W4[G%\I471JA7G%Zd6/=�Z¢Z[b =%QeDJG%2)476JG¸2JG�j�G%E5@�b�c+G%D�4+@�OF=NDJG�Q V�G%DJG�A]=S4735@�D@�O�Z71 \B6�EW=�DJV�1/=SV�G%Z%lÄQe6/3W\B6Ë=SA7G+DJ@�QÞABG�OºG�A7ABG%2C4[@9=�Zu8eauK-Z �½=SA]\B6/354[G%\I471/A7G+2JG%Z7\IAB35b 4735@�D�E¨=�DJV�1/=SV�G%Z ]:��C@�Z[4=SA7GU3¨D�4[G%D/2/G%294[@ÓZ71/b/b'@�A74oZ[@�c+GUZ7@�A74o@�OgOP@�ABcd=�E"=�D/=�EW`�Z73¨Z�:&�C@�Z[4e=SA7G�=�EWZ[@¢Z7473WEWE'AB=S476JG�AF3Wcdcd=S471/A7G =�D/29OPG�Q2JG%Z7\IA]35b/4735@�D/Z-@�O�=�\I471 =�EJZ[`�Z74[G%c�=SAB\B6/3W4[G%\I471JA7G%Z�6/=mj�Gâ_'G�G%D;QLAB354[4[G%DY1/Z73WD/VL476JG%c9:�!e@mQhG�j�G�A%l�476 3WZ 3WZ =�D+=�\I4735j�G=SA7G%=+@�O A7G%Z7G%=SAB\B6COº@�\�1/Z[G%29@�D¸b/A7@mj�3W2/3¨DJV�E¨=�DJV�1/=SV�G%ZL=�D 2�4[@�@�EWZL476/=S4L=SA7G{b AB=�\I473W\�=�E"=�D/2C1/Z[G�O½1/E°:

~ =S_ E5G��ob/A7@�j�3¨2JG%Z�=;EW3WZ[4�@�O"Z7G�j�G�AB=�EÄA7G�b/A7G%Z[G%D�47=S4735j�Gu8eauK-Z�: ~ 6JG%Z[GF8eauK^ZÙjS=SA7`+QL3W2JG%EW`�3WD¢476JG%35AhE5G�j�G%E @�OGIH�b/A7G%Z7Z73Wj�G%DJG%Z7Z�: ~ 6JG�`¸=�E¨Z[@djS=SA7`9QL3W2JG%EW`&3WDCcd=S471JAB354�`�lÄ=�ZeQhG%EWE"=�ZF3WD¸476JG�2JG�V�A7G�G;4[@ÓQL6 3W\B69476/G;Z[4[AB1 \I471JA7G=�D/2Ë_'G%6/=%j�35@�Au@�O�476/GYZ7`�Z[4[G%c \�=�D�_'GYc+@�2JG%E5G%2�:�"J@�A 3¨D/Z[47=�D/\IG�l"au=SA7QL3¨D � r�� �g\I@�D \IG%D�4[AB=S4[G%Z;3547Zuc+@�2JG%EW3WDJV@�D�476JG+Z[4[AB1 \I471JA7GY@�OÙ=�Z[`�Z[4[G%c9l"b A7@mj�3W2/3WD/VÓZ71Jb bÄ@�AB4LOP@�A{_ÄG%6 =%j�35@�AB=�E Z[b'G%\�3�� \�=S4735@�D�=�D/2�=�D/=�EW`�Z73¨Ze476/A7@�1JV�6Z[G�b =SA]=S4[GF4[@�@�EWZ�l�QL6 3WE5GFf"!F8�� � ��� ��\I@�D/\IG%D�4[AB=S4[G%Zoc+@�A7Gu@�D�2/35ABG%\I47E5`+\�=Sb/471JAB3WD/V�Z[`�Z[4[G%c _'G%6/=%j�35@�Ah476/=�D&@�DZ[`�Z[4[G%c Z[4[AB1/\I471/A7G�:�XL=Sb 3¨2JG � < � �"=�D/2ÓMNAB35V�6�4 � � ��=SA7Gub =SA7473W\�1/E¨=SABE5`YAB3W\]6Ó3WD&2JG%Z7\IA]35_ 3WDJVU_Ä@�476�Z[4[A]1/\I471JA7Gu=�D/2_'G%6/=%j�35@�A%:��xDË476JG+\�=�Z[GY@�OÙXL=Sb�3W2JG�l'476JG�V�@�=�Eg3WZFG%=SABE5`CZ[`�Z[4[G%c Z73¨c;1/E¨=S4735@�D�l Qe6/3WE5G�3WDC476/GY\�=�Z7G+@�O�MNAB35V�6�4�l476JG V�@�=�E^3WZâ4[@¢Z[471 2J`Ó476/G{Oº@�ABc¢=�E"Z[b'G%\�3�� \�=S4735@�D9=�D 2¸=�D/=�E5`�Z73WZR@�O =SAB\B6 354[G%\I471JAB=�E"\I@�D DJG%\I4735@�D�:

��q

Page 14: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

����� ����� �������������� ������� ������� ���"!�� �#$�% 4A�B2 &�! �#)2('���2*) 26&-&���#,+ #)�.-�2Q��(��/ ' /10(243 5 ��-T�-,�2I!$# �-#?/26�4F�%!$# '�2 &-!�#�'+*)!4'+2 /�H��!�4A��&��@/F!$/2I�(�)!$���# '9���

!$�4F�)�@/2A46/*��F!�& 46�+� L �+#�2A#?/�:!�#), !�#)!�&@'��(��� /�?��&-�AU% �F� 2(6 � 2(6T#)�78:&�27,�'�2*& �$� L ���F! /�-��# / 74893 :O2A�(46���032 /��2 !$�4F�)�@/2A46/*��2 ��� 2(-���&.-���#�'9&-! �;'+2=<=�(47!$&-2 4A�+� L �9<

#)2A#?/�R!��O!B4A���B�P*�#)��47!$/����#5!�#), 4A�?���F,��-#)!$/���+# ,�2=-���4A2 8:�@/�)��#�P*)&@/�1<=4A�+#?/(�F!$46/��� L ��> 2A4Q/�AE%/�C47! L /*��2O/�)2 ! �4Q����/2646/*��2"��� !,�2A&��.-�26�27, � '�� /2A�<����� ,��?4A*��B2A#?/F!$/���+# L *�� L ���(2A�AE�!�#), /� L ��9<-��-,�2 �(* L)L �$�(/ 4A�+� L !$���# 'C!$#%, 4A��#?/(�F!�� /��# 'B26J���� /��# 'C! �4Q����/264=</*��2A�AU

& % 5@? A !�-+!$&B5S��� /;'��F!+,�*%! /2C?�4F�)�?�+& / 7�0=3 5 ��-T�-,�2O!"�(��� / 8�!$�2",�2=-�2A&�� L �B2A#?/ 2A#�-T�@��+#��B2A#?/ �����D'��F! L ���-4A!�&� L 2A4A�1E%47! /���+#K!�#), L ���/��/ ' L ��# 'N�$�S�27!$&.< /���B2 � '�� /2A�B�AU&@F % ) +R#)�.-�26��(�@/ '1�$�HGJI % >T*���& !

+R#)�.-�26��(�@/ '1�$�J& �+&��$�F!+,��/ K�0=3 L #�-�2A� /�.'�! /2 ! ������C!�&����(� ���$�.,�2A�(46�� L /����# ���5!$�4F�)�@/2A46/*��F!�&4A�+� L ��#)2A#?/�O!$#%,5/�)2 ��#T/2Q�F!�46/���+# !��B��# 'C/�)2A�M���$� /�)2 L *��M<

L �+�(2A� ����� '�� /2A�M!$#%!$&�'��(���AUN 26� /F!�&@/ ?T��2A�B2A#)�O& �$� L ���F! /2CP 2A�(27! �4Q� / 2RQ3 5 ��-T�-,�2N�(* L)L ���(/ ����� ,�2A�(46���0)��#�'1/�)2 � /(�*)46/*��2P� '�� /2A�B�AE !�0S<

� /(�F!�46/���+#���#)2A2A,�27, 0?' ,�2(-�2A&�� L 2Q��AE�!$#%, 4A�+�B� *)#��-4A!$/���+# �B2A4F��<!�#)���(�B� *)�(2A, ��#N��#%,�*)� /(��-!�&��(��� / 8�! �2+ET!$��8 2A&�&)!$� !$*�/�+�C! /��47!�&�&@'4Q��2A4T6T��# 'P����4A��#)�(��� /2A#�46'18:�@/� �(��*��4A2 46�T,�2+U

) 2Q/F!4F FR�+#�26'T8�2A&�& � 2A4F�)#)��&��U'�'V& 2A#?/26� / WS0=3 ? L 2A4A�@� '9�2A!�&1< /�-�B2 !�#%,H4A��#)4A*��(�2A#?/�!�� L 2A46/�B�$�O/�)21�(��� / 8�! �2!�#%, �%! �F,�8�! �2����%! � '�� /2A� E�!�#%, L ��-T�-,�2��(* L)L ���(/ ����� !$#%!�&@'��(���������*�#)46/����#%!�& !�#), 26JT/(�F!9< ��*)#)4Q/�-��#%!$& � '�� /2A� L �� L 26�(/��2A�AU) �T,�2A4F�%!$�(/ +R#)�.-�26��(�@/ '1�$� � 26J�!$�R! / % *)� /��# / KU73 5 ��-T�-,�2:! ������C!$&-���(� ���$� /�)2�� L 2A46�.E)47!$/����# ET!$#%!�&@'��(����!�#%, �(����<

*)&-!$/���+# �����27!$&.< /���B2O� '�� /2A�B�PR! L �-,�2 ??/F!�#������F,X+ #)�.-�2Q��(��/ ' / 7U73 5 ��-T�-,�2C!�# 26J�2A4A*�/F!$0)&�2 % :YG 0%!$�(27, ��#I!1�*�&-2T< 2=-�2A#?/"26J�2A4A*S<

/�-��# �B�T,�2A& ����� L ���/��/ ' L ��# '�E �(��� *)&-!$/��# '�E !�#%,H!$#%!�&@'SZA��# ' ����(����/ 8�! �2 � '�� /2A�B�AU

P\[]? ^YGU_`[ ^ �����a?T/F! /2Y+ #��b-+26��(�@/ ' /10�c93 5 ��-T�-,�2 ! ���F!$�B268��$�;63E3,����(4A� L &-��#�2+E�!�#),1&-!�#�'+*)!4'+2"���$� � L 264A�@��'�<�-#�'�ES,�2(-�26&-� L ��# '�ES!$#%,K4A�+� L ���(��# '1�26*)�!�0�&�2N�(��� / 8�! �2C4A�+� L �9<#)2A#?/�AU

? % :dG ?�P\L / e�73 5 ��-T�-,�25�(* L�L ���(/N������� L 2A4A�@� '���#�' /�)2 � /(�*�46/*��2 !�#%, /�)2 �(2=<�C!�#?/��4A� �$�G!$# ! �4Q���@/2A46/*��2 /�����* '+� 2QJ L &��-46��/ �C! L)L ��# '+�!��B�+#�'N! �4Q����/2646/*��2A�AE)!$�4F�)�@/2A4Q/*��F!�&�� / '�&�2A�AE)!�#),1! �4Q���@/2A46/*��2�2=E%#�2A�B2A#?/ L ! /(/26�#)�AU

+R#)� & �+# &�! �#)2('���2*) 26&-&���#,+ #)�.-�2Q��(��/ ' / WUW93 ?�* L�L ���(/ � / '�&�2=<=0%!$�(27, !$�4F�)�@/2A4Q/*��F!�&P4A�+#�� /(�*)46/���+# 0?' ��#T/2Q�M<4A�+#�#)2A46/��#�' L �27,�2TE%#)2A,G��� *��(26�M< ,�2=E)#)27, ! �4Q���@/2A46/*��F!$&O4A����<L �+#)26#T/�AU

f ��.'+�?/ &�! �#)2('���2*) 26&-&���#,+ #)�.-�2Q��(��/ ' / K93 5 ��-T�-,�2 !.������C!$&��-�(� /�%! / ���?4A*)�(2A� �+# 26J L &���4A�@/I46�+#)#�2A46/�$�/ ' L 2A�B!$#%,9!�#%!$&@'��(26�1!$�(�(�?4A�-!$/27,98:��/�.!$�4F�)�@/2A46/*��F!�&:4A��#)#)264=</�-��# U

~ =S_ E5Gd���hfh@�cdb =SAB3WZ[@�D�@�O�<�G�j�G�AB=�E^XoG�b/A7G%Z7G%D�47=S4735j�G�8LA]\B6/354[G%\I471/A7GUaFG%Z7\IAB35b 4735@�D9K^=�DJV�1 =SV�G%Z�:

���

Page 15: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

��� � £.�.�'�S�S���R���Ä��.�^*É�"!;� � �e�8FZU3WZ{4[A]1JGdOP@�AU3Wc+b EWG%c+G%D�47=S473W@�D¼EW=�DJV�1/=SV�G%Z%lØDJ@C@�DJG¢8FaFKÒ3WZ{476/G¢_'G%Z[4 \B6/@�3W\IG¢OP@�A;=�EWEgZ7`�Z[4[G%c¢Z�:9<�G�j�G�AB=�E\�EW=�Z7ZB3�� \�=S4735@�D+Z7\]6JG%c+G%Z�6 =%j�GL_'G�G%D+Z71/V�V�G%Z[4[G%2+_ =�Z[G%2d@�Dd2/3×>'G�A7G%D�4 =�Z7bÄG%\I47Z�@�O�476JGe2JG%\�3WZ735@�D�b/AB@�\IG%Z7Z � r�r�l�r � l� ���:ÙnuD/GLb/AB3¨cd=SA7`+2/3×>'G�A7G%D/\IGF=�c+@�DJVY8eauK^ZR3WZ�476JGuc+@�2/G%E 476JG�`dZB1Jb/b'@�A74�3WD&=;A7G�b/A7G%Z[G%D�47=S4735@�D�:�<�6 =%Q =�D/2u=SABE¨=�D � < q �ØA7G�j�35G�Q =�Z[G�4e@�Ohc+@�2JG%E^4�`�b'G%ZF476/=S4u=Sb/b'G%=SAuA7G�V�1/EW=SABEW`�3¨D�Z[@�OP4.QR=SA7G �uZ[4[AB1/\I471/AB=�E°lÄOºAB=�cdG�QÙ@�A � l2J`�D/=�cd3W\Sl�b/A7@�\IG%Z7Z�l�=�D/2&O½1/D/\I4735@�D/=�E: ~ 6/G�`¢2JG%Z7\IAB3W_ÄGF6J@mQ²G%=�\]6¸c+@�2JG%E�3¨ZÙc+@�ABGe@�AoE5G%ZBZ�QhG%EWE'Z71Jb/b'@�A74[G%2¢_�`jS=SAB35@�1/Z 8FaFK-Z�: �gG%Z7Z[G�`+=�D/2 uE¨=�Z7Zg2/3WZ7\�1 Z7ZØ476JGâDJ@�4735@�DY@�O ![Z[4[A7@�DJV #uj�G�ABZB1/Z !xQÙG%= � #U=Sb b/A7@�=�\B6/G%Zg4[@ Z[`�Z[4[G%c2JG�j�G%E5@�b�c+G%D�4 � � q �:h<�4[A7@�DJV+Z[`�Z[4[G%cdZL2JG�j�G%E5@�b c+G%D�4o3Wc+b�EW35G%Zh=;473WV�6�4 �/4â_'G�4�QÙG�G%D9476/G c+G�476J@�2/ZR_'G%3WDJVY1/Z[G%2=�D/2Ë476JGYb/A7@�_�E5G%c _'G%3WD/VÓZ[@�E5j�G%2": MNG%= � 2/G�j�G%E5@�b c+G%D�4{c+G�476J@�2/Zu=SA7G+=Sb/b EW3W\�=S_�E5GU4[@9cd=�D�`Cb/AB@�_ E5G%cdZe_ 1J4DJ@�4ub =SA7473¨\�1/EW=SABE5`&V�@�@�2ËOP@�Au=�D�`�Z7bÄG%\�3 � \ b/AB@�_ E5G%c 2J@�cd=�3WD�: �gG%Z7Z[G�`Ë=�D/2 uEW=�Z7ZFOPG�G%EØ476/=S4u476JG�A7GYDJG�G%2/ZF4[@_'G c+@�A7G Qh@�A � 2J@�DJG;3WD9476JGU=SABG%=d@�Og2JG�4[G�ABcd3¨D/3WDJVYQL6/=S4ec+@�2/G%EWZâ=SA7G _'G%Z[4LZB1/354[G%294[@¢Z7@�E5j�3¨DJV+b/A7@�_ EWG%cdZâ3WDb =SA7473¨\�1/EW=SAâ2J@�cd=�3WD Z�:�8eZBZ[@�\�3¨=S4735@�D�@�Og8eauK^ZoQL354769=Sb/b E¨3W\�=S4735@�D�2J@�cd=�3WD ZâZ76J@�1/EW2�3Wcdb/A7@mj�G Z7G%E5G%\I4735@�D9@�O =�D8FaFKÖOP@�AL2JG%Z7\IAB3W_ 3WDJV�476JGU=SAB\]6/354[G%\I471JABG @�OØ=db =SA7473W\�1/E¨=SAoZ[`�Z74[G%c9:

nuD/G¢\�=�DÖ3¨cd=SV�3WDJG¢\�E¨=�Z7Z73�� \�=S473W@�D/Z _ =�Z7G%2¼@�DÖ476JG¢OP@�ABcd=�EW3W4.`�@�Oâ476JGÓ2/G%Z7\IAB35b/473W@�D�l"476JGÓ4.`�bÄG%Z;@�Oo=SAB\]6/3×�4[G%\I471JAB=�E-G%D�47354735G%ZoG%cdb 6/=�Z73�'�G%2"l/476JGUZ71/b/b'@�A74âOº@�Aej?=SA]35@�1/Zâ4�`�b'G%Ze@�O =�D =�E5`�Z7G%Z�l 476JG;3WD�4[G%D 2JG%2¸Z[b'G%\�3��/G�Aml =�D/23WD�4[G%D/2JG%2¼=�1 2/35G%D/\IG+@�ORZ[b'G%\�3�� \�=S4735@�D Z \�=Sb/471JA7G%2à3WD�476JG¢8FauK�: ~ 6JGdc+@�Z[4U\I@�cdb E5G�4[G¢=S4[4[G%c+b 4U4[@C\�EW=�ZBZ735OP`8FaFK-ZR4[@+2/=S4[G{3WZhb/A7G%Z[G%D�4[G%2&_�`,�¸G%2Jj�3W2J@�j�3¨\ � r�r �: !eGu@S>ÄG�A]Zâ=�2/G�� D/354735@�D¢@�O-=�D�8FaFKà=�D/2&476JG%D&b/A7@�\IG�G%2/Z4[@N\�EW=�Z7Z73WOº`¼=�D/2)\I@�c+b�=SA7G�476JG9EW=�DJV�1/=SV�G%Z�476/=S4YO½=�EWE�Qe35476/3WDà476JG�_Ä@�1 D/2/Z @�Oe476/=S4+2JG�� D/3W4735@�D�: ~ 6JGÓ_�=�Z73WZOP@�AU6/3WZ{\�EW=�ZBZ73�� \�=S4735@�Dà3WZ{476JGdZ71/b/b'@�A74ub/A7@mj�3W2JG%2�OP@�AUjS=SAB35@�1 Z{=�Z[b'G%\I47Z @�Oâ\I@�c+b'@�DJG%D�47Z�l-\I@�D/D/G%\I4735@�D/Z�l =�D/2\I@�D �/V�1/AB=S4735@�D/ZF=�ZuQÙG%E¨E-=�ZF476JGY4.`�b'G%ZF@�O�4[@�@�E Z71/b/b'@�A74Lb/AB@mj�3W2JG%2�QL35476¸476/GYE¨=�DJV�1/=SV�G�: ~ 6JGY\�EW=�Z7Z73 � \�=S4735@�D3WZ;DJ@�4;3WD�4[G%D/2JG%2à4[@�Z71/V�V�G%Z[4�\IG�AB47=�3WDÖE¨=�DJV�1/=SV�G%Z;Oº@�A�Z[b'G%\�3�� \+47=�Z � Z;_ 1J4 AB=S476/G�A;4[@Ëb/A7@�j�3W2/G¢=�D¼@�j�G�A7j�3WG�Q@�OâQL6/=S4�476JGÓj?=SAB3W@�1/ZUEW=�D/V�1/=SV�G%Z�b/A7@mj�3W2JGÓ=�D/2Ö6/@mQ 476JG�`¼\I@�c+b =SA7G�3WDÖZ71Jb/b'@�A74{OP@�A;jS=SAB35@�1 ZUOPG%=S471JA7G%Z�6JG\I@�D/Z73¨2JG�ABZRG%Z7Z[G%D�473W=�E�4[@Ó=�DC8FaFK�:

��� � � �^�/�3���.�J$ �^!+�Ø� �^�/�����u� � �L�MNGYDJ@mQ b/A7G%Z7G%D�4F=�DC@�j�G�A7j�3WG�QÞ@�O�Z7G�j�G�AB=�E 8eauK^ZF476/=S4FZ71Jb/b'@�A74e2/3×>'G�A7G%D�4F=�Z[b'G%\I47ZL@�OÙ6/35V�6��.E5G�j�G%E^Z[@�Oº4�Qh=SABG2JG%Z7\IA]35b/4735@�D�:��²f"!F8 � � ������b/A7@�j�3¨2JG%Z{Z71Jb/b'@�A74FOP@�A =�D/=�E5`�Z73WZu@�ORZ[`�Z74[G%c _ÄG%6 =%j�35@�A%:+au=SA7QL3WD � r�����3WZu_�=�Z[G%2@�D¸476/G b/A7G%cd3¨Z[G{476/=S4eZB3Wc+b E5G{3WZo_ÄG�4[4[G�Aml =�D/2C2 35A7G%\I47E5`Ób/A7@mj�3W2JG%ZLZ71Jb/b'@�A74âOP@�Ao@�D/E5`�476JG;Z[4[AB1/\I471JA]=�E"=�Z[b'G%\I47Z@�O"=�Z[`�Z74[G%c9:�XL=Sb 3¨2JG � < < ��3WZ�3¨D�4[G%D/2/G%2¢=�ZR=UZ73¨c;1/E¨=S4735@�D¢EW=�D/V�1/=SV�GLOP@�AÙG�j�G%D�4x�.2JAB3Wj�G%D&Z7`�Z[4[G%c¢Z�: �¸G�47=�! � � ���b/A7@�j�3¨2JG%Z¢Z71/b/b'@�A74+Oº@�A&Z[b'G%\�35OP`�3WD/VN_Ä@�476Ü476JG�6 =SAB2JQR=SA7GC=�D/2¾Z[@�Oº4�Qh=SABGË\I@�c+b'@�DJG%D�47ZÓ@�O =àZ[`�Z[4[G%c =�E5@�DJVQL35476¸476JGUA7G%E¨=S4735@�D/Z76/3Wb Zâ=�c+@�DJVÓ476JG%c9:âieD 3W\I@�D � ��� � Z71Jb/b'@�A747Zâ\I@�cdbÄ@�ZB354735@�D9@�O�Z[`�Z[4[G%cdZeOPA7@�c b/ABG%2JG�� DJG%2\I@�c+b'@�DJG%D�47Z�:+MNAB35V�6�4 � � ��GIH�b E5@�A7G%Z Oº@�ABc¢=�Eg=�Z[b'G%\I47Z @�OR=SAB\B6/3W4[G%\I471JAB=�E�\I@�D/D/G%\I4735@�D�:d8F\�c+G � � � ��=S4[4[G%c+b 47Z4[@¢c+@�2JG%E'476JG;\I@�D/Z[4[AB1/\I47ZoV�G%DJG�AB=�EWE5`�\I@�D/Z73¨2JG�A7G%2�4[@d_'G{G%Z7Z[G%D�473W=�E�4[@Ó=�EWE"8FaFK-Z�:"J@�A�G%=�\B6à@�OR476JG¢EW=�DJV�1 =SV�G%Z�l-QhGdA7G�b A7@�2 1/\IG+=�D¼GIHJ=�c+b E5Gd2JA]=%QLDNOPA7@�c 476/Gdb 1J_ E¨3WZ76JG%2ËEW354[G�AB=S471/A7Gd2JGI�

Z7\IAB3W_ 3WDJVÓ476JGdEW=�DJV�1/=SV�G�:¢<�b�=�\IGd2J@�G%Z{D/@�4{bÄG�A]cd354u1/Zu4[@¸2/3WZ7\�1 Z7ZF476JG+GIH�=�cdb E5G%Z{3WD�2JG�47=�3WE:+nu1/Au3¨D�4[G%D�4 3WZZ73Wcdb E5`¸4[@¸V�3Wj�G¢=%� =mj�@�A;@�OhG%=�\B6ÂEW=�DJV�1/=SV�G�� 476JG¢A7G%=�2JG�AU3WZ A7G�OºG�ABA7G%2�4[@C476JGdE¨354[G�AB=S471JA7G+OP@�AUc+@�ABG¢Z[b'G%\�3�� \3WDJOP@�ABcd=S473W@�D�:

� �� �� ��� /

~ 6JG¸fR6JG%c¢3W\�=�EÙ8e_ Z[4[A]=�\I4���=�\B6/3¨DJG �f"!e8�� U3¨Z;=�DÂ@�b'G�AB=S4735@�D/=�ERc+@�2JG%EÙ_ =�Z[G%2Â@�DÂ476JG&476JG�@�A7`à@�OL4[G�ABcA7G�QoA]35473WDJVJ:��#4{1/Z[G%Zu476JG+c+G�47=Sb�6J@�ABZu@�ORc+@�E5G%\�1/E5G%ZF4[@¸c+@�2JG%Eg\I@�c+b'@�DJG%D�47Z�l"\]6JG%cd3W\�=�EgZ[@�E¨1J4735@�D/ZF4[@¸c+@�2JG%EZ[`�Z[4[G%c Z[47=S4[G%Z�lJ=�D/2¢\]6JG%cd3W\�=�E�A7G%=�\I4735@�D Z�4[@Yc+@�2/G%E Z[`�Z[4[G%cßZ747=S4[Gu\]6/=�DJV�G%Z � < �:Ù<�4[AB1 \I471JA7G%2d3WD¢=Ub =SAB473W\�1/EW=SAQR=%`�l�=;f"!F8 �tb/A7@�j�3¨2JG%Z�= c+G%=�D Z�OP@�A�\I@�D/\�3WZ[G%EW`�2JG%ZB\IAB35_ 3WD/VF476/GL\I@�c+b'@�DJG%D�47Z�=�D/2+_'G%6/=mj�3W@�A�@�OÄ=UZ[@�Oº4�Qh=SABGZ[`�Z[4[G%c =S4u476JG�=SA]\B6/354[G%\I471/AB=�E E5G�j�G%E � � l ����l � � �:uieZB3WDJVÓ3W47ZF=�ZBZ[@�\�3¨=S4[G%2Ë=�D =�E5`�ZB3WZL4[G%\]6/D/3 ��1JG%Ze@�O�Z[4[AB1 \I471JAB=�E

� [�J�4A&�*)�(���+# ��� ��/��26� % :dG��������� /�)���:�9-+26�;-T�-2Q8 ,��?2A�:#)�$/R��#),���47!$/2"! & !$4T6����S�-� L �$�(/F!�#�4A2+E��B26�2A&@'1!P&-!�4�61�$��� L !$4A2+U

���

Page 16: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

FilterFilterPseudo Filter

(Adaptor)

gzipCompressing Proxy

process

component

channel

function−call interface

UNIX pipe interface

2 3

1 4

" 35V�1JA7G � � ~ 6JG;fh@�c+b A7G%Z7Z73WD/V ��A7@%H�` � � �:

3WD/2 1/\I4735@�DY=�D/2d4[A]=�D/Z7354735@�D+Z7`�Z[4[G%c´\I@�D/Z[4[AB1 \I4735@�D�l�f"!F8��CZÙ\�=�DdA7G�j�G%=�E�3WD/\I@�A7A7G%\I4�V�E5@�_ =�E/Z[`�Z[4[G%cß_ÄG%6 =%j�35@�ABZ=�ZoQhG%EWE�=�Ze\I@�c+b'@�DJG%D�4â_'G%6/=mj�3W@�AB=�E�cd3WZ7c¢=S47\B6JG%Z�:" 35V�1JABG � 2JG�b 3W\I47ZF=&Z[`�Z74[G%c c+@�2/G%E5G%2C1/ZB3WDJVÓ=9f"!F8 �àl�=¢b'@�A7473W@�D¸@�OÙ=9fRTÙXL� ! ~o~ � � !e`�b'G�A ~ GIH�4

~ AB=�D/Z[OPG�A ��A7@�4[@�\I@�E ØZ[G�A7j�G�Ag476 =S4�1/Z[G%ZØ476JG 2�� %(� \I@�c+b/A7G%ZBZ735@�D �?2JG%\I@�cdb/A7G%Z7Z73W@�D;b A7@�V�AB=�cÞ4[@ 3WD/\IA7G%=�Z7Gh4[A]=�D/Zx�OPG�ALAB=S4[G%Z � �%r �:R8�fâT�XL� ! ~o~ �¾Z[G�A7j�G�Ae3¨ZLZ[4[AB1 \I471JA7G%2¸=�Ze=¢Z[G�AB3WG%Zâ@�O � E54[G�ABZâ4[@&=�EWE5@�Q G%=�Z[`�GIH�4[G%D/Z735@�D�lÄ=�Z3WD+476/Ge\�=�Z[GF@�O�476JG 2�� %(� =�2/2/35473W@�D�:-8 f"!F8�� 2JG%Z7\IAB35b 4735@�D+OP@�A�476JGF\I@�c+b/A7G%Z7ZB3WDJV b/AB@%H�`Y=SA]\B6/354[G%\I471/A7G � � �'3WZZ76J@�QLD�3WD," 35V�1JA7G � =�D/2�3WD/\�EW1 2JG%ZÙcd@�E5G%\�1/E5G%Z�l�Z[@�EW1/4735@�D/Z�l�=�D/2&A7G%=�\I4735@�D9A]1/E5G%Z �½=�EWZ[@+\�=�EWE5G%2�4[AB=�D Z[Oº@�A]cd=S4735@�DAB1/EWG%Z ]: ~ A]=�D/Z7354735@�D ZL3WDC476JG;Z[47=S4[GY@�Og476JGYZ[`�Z[4[G%c =SA7G�2/G%Z7\IAB35_'G%29476JAB@�1JV�6¸A7G�QLAB35473WDJV¢@�Og4[G�ABcdZ�lÄQL6JG�A7G;476JG4[G�ABcdZ;@�Oâ=�DàGIH�b/A7G%ZBZ735@�D¼=SA7G&4[AB=�D/Z7Oº@�ABcdG%2¼3WD�4[@�=CD/G�QßGIH�b/A7G%Z7Z73W@�D¼_ =�Z[G%2à@�Dà476/G¢AB1/EWG%Z 2JG�� DJG%2¼Oº@�A�476JGZ[`�Z[4[G%c9:

8 Z[@�OP4.QR=SA7GU=SAB\]6/354[G%\I471JABGU2JG%Z7\IAB3W_ÄG%29=�ZL=Óf"!F8 � 3WZâZ[4[A]1/\I471JA7G%2¸3¨D�4[@+476JABG�G b =SA747Z �

� = §]ÈS± ¶ª%Ð OP@�AoA7G�b/ABG%Z[G%D�473¨DJVY476JGUZ[`�Z[4[G%c \I@�c+b'@�DJG%D�47Z��

� =¢Z[G�4o@�O ¬[«Bª�¿%¶½¦°­S±¼¬�»�Ç5«I§ Oº@�AL2/G%Z7\IAB35_ 3¨DJV;476/GUZ[`�Z[4[G%c _'G%6/=%j�35@�A �/=�D 2

� =�D ¦º± ¦P¶½¦°ªSÇ�§�­SÇ�»J¶½¦°­S± Oº@�ALA7G�b/A7G%Z[G%D�473WDJV+476/G @�AB35V�3WD =�E°l�Z747=S473W\ \I@�D �/V�1/AB=S4735@�D9@�O 476JG Z[`�Z[4[G%c9:

"J@�EWEW@mQL3WD/V �ØG�A7A7`Ô=�D 2¾MN@�EWO � � ���luf !e8�� 2JG%Z7\IA]35b/4735@�D/ZÓ2/3WZ[473¨DJV�1/3WZ76Ô476JA7G�GË4.`�bÄG%Z&@�OU2/G%Z735V�D¾G%E5G%c+G%D�47Z �2/=S47=�l/b A7@�\IG%ZBZ73WDJVJlJ=�D/2¸\I@�D DJG%\I473WDJVJ: ~ 6JG{2/=S47=+G%E5G%c+G%D�47Zo\I@�D�47=�3WDC3¨DJOº@�A]cd=S4735@�D�l�476JG b/AB@�\IG%Z7ZB3WDJVYG%E5G%c+G%D�47Z4[AB=�D/Z7Oº@�ABc 476JG�3WDJOP@�ABcd=S473W@�D�lg=�D/2à476/G�\I@�D DJG%\I473WDJVËG%E5G%c+G%D�47ZYV�EW1JG&476JG�\I@�c+b'@�DJG%D�47ZY@�Oe=�DÂ=SA]\B6/354[G%\I471/A7G4[@�V�G�476JG�A%:

~ 6/GËZ[`�D�47=?H²Z76/@mQLD²3WD " 35V�1JA7G � \I@�D/Z73WZ747ZÓ@�O;476JGNZ[G�4�� A7G�b/A7G%Z7G%D�473WD/VÖ476JABG�G � 3WD/2/ZÓ@�OUb A7@�\IG%ZBZ73WDJVG%E5G%c+G%D�47Z�: ~ 6JGY\I@�D/DJG%\I473WDJV�G%E5G%cdG%D�47ZuOP@�A{476JG+=SAB\B6 354[G%\I471JA7G+=SA7G+V�35j�G%DË_�`�=�Z[G%\I@�D/2NZ7G�4�� \I@�D/Z73WZ[473¨DJVÓ@�O4.Qh@u@�b'G�AB=S4735@�D/Z�l�� �POP@�A 3¨DJb 1J4 '=�D 2 �POº@�A @�1J4[b 1/4 ]l�476/=S4Ø=�\I4 @�D�476JGhG%E5G%c+G%D�47ZØ@�O =L476 35AB2UZ7G�4��Ö: ~ 6/3WZ^476/35AB2Z[G�4R3WZ�1 Z[G%2d4[@Y2JG�� DJGe476JGL4[@�b'@�E5@�V�`¢@�O�476JGeZ[`�Z[4[G%c 3WD¢4[G�ABcdZÙ@�O�476JGF\I@�c¢c;1/D 3W\�=S4735@�D¢\]6/=�D/DJG%E¨ZÙ\I@�D/D/G%\I473WDJV476JGU\I@�cdbÄ@�D/G%D�47Z�lÄ=�D/2C\I@�ABA7G%Z[b'@�D/294[@Ó476JG;D�1/c;_ÄG�A]ZRV�35j�G%D�3¨D " 35V�1JA7G � :R8 OP@�1JA7476¸Z[G�4� 3WD�4[AB@�2/1 \IG%Zâ476JG\I@�D�4[A7@�E Z735V�D/=�EWZe1/Z[G%2Ë3WD¸476/G�\I@�cdc�1/D/3¨\�=S4735@�DC_'G�4�QÙG�G%D 2�� %(� =�D/2Ë3547Ze=�2 =Sb/4[@�A%: ~ 6JG;Z7G�4�� \I@�D�47=�3WD/ZF476JG

�%r

Page 17: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

������������� �������������������������������� ���

! "#"%$'&)(+*)(-,.(-!0/1!& "#" $'2)(-354 (7698* "#" $;:=<?>A@B(-C�<?>A@> "#" $ � (-DE(-FG(-H, "#"%$'I#JLKNMO(-IJNKQP2 "#" $ORTSVUW(7RXSZY

���\[������������B�#�#�����������]������������������\���

^�_ $ RTSVUZ/ZC�< � @�`RTS Y /V:=<aH#@�`:=<bD�@�/ZI#JNK M /ZC�<?F�@�/ZIJNK P /c698T`:=< � @�/ZC�<dD�@�/ZI#JNKNPN/Z3e4

����f#g�����h�����g�i�����������j� ���kh����

lnmQop:=<aq�@�/Vr9m `sC�<?q�@�/Vrut�v�wxr9mN/V:=<?q�@�`srutQ/ZC�<aq�@l t oOyz/VrG/Z{Bv�wx{Q/Zyz/Vrl�|zoOI#JLKQPN/Vr m /ZC�<aq�@�`AIJNKNM�/Vr t /V:}<?q�@pv�w~r m /ZC�<aq�@�/ZI#JLKNP `sr t /V:=<aq�@�/ZI#JLKNMl���oOI#JLKNM�/Vr m /c698�/Vr t v�w�r m /c6989/Vr t /ZI#JNKLMl��zoOI#JLK P /c698u/Vr�v w 6989/Vr�/ZI#JLK Pl��zo�698u/Vr�v�wxr�/c698l��zo��X/Z{�v w�{N/1�l��zoO354�/V:=< � @�/Vr�v wx:=<?F@�/ZI#JLKNM�/ZC�<aH#@�/Z354l��zoO354�/V:=<?F�@�/Vr�v wx:=< � @�/ZC�<bD�@�/ZI#JLK P /Z354

" 35V�1JA7G � �hf !e8�� aFG%Z7\IA]35b/4735@�D9@�OØ476JG�fR@�c+b/A7G%Z7ZB3WDJV ��A7@mH�` � � �:

� �

Page 18: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

A7G�b/ABG%Z[G%D�47=S473W@�DÓ@�O^476JG ![1Jb�Z[4[A7G%=�c #�=�D/2Ó476JG ![2/@mQLD/Z74[A7G%=�c #dfRT�Xe� � E54[G�ABZ�_'G�4.QhG�G%D�QL6/3W\]6¢3WZÙb EW=�\IG%2Ó476JG=�2/=Sb/4[@�A�Oº@�A 2�� %(� :�kh`Y\I@�D�j�G%D�4735@�D�l�476JGo3WD��JHU@�b'G�AB=S4[@�A !�� #U3WZg1/Z[G%2Y4[@ GIH�b/A7G%ZBZg476JGoZ[47=S471/Z�@�O'=ub A7@�\IG%ZBZ73WDJVG%E5G%c+G%D�4L3WD�4[G�A]cdZâ@�Og3547Zâb'@�Z7Z73W_ E5GeZ7G���1JG%D \IG @�O _ÄG%6 =%j�35@�ABZ�:

�e@�473W\IG�476/=S4Y=S4;476JG�E5G�j�G%EÙ@�Oo=S_ Z[4[AB=�\I473W@�DÂ1 Z[G%2Ö3¨D¼476/3WZUb =SA7473W\�1 EW=SA;2JG%ZB\IAB35b/4735@�D"l-476JG&\I@�D/\IG�ABD)3WZ�DJ@�4QL35476�476/G¢=�\I471/=�Eh2/=S47=94[AB=�D/Z7OºG�A7ABG%2N_'G�4.QhG�G%D¼476JG¢\I@�cdbÄ@�D/G%D�47Z�lØ_ 1J4 ZB3Wc+b E5`C476JGdb/A7@�4[@�\I@�E�_�`ËQL6/3W\]6N476JG\I@�c+b'@�DJG%D�47Ze\I@�c¢c;1/D 3W\�=S4[G�:��xD¸V�G%DJG�A]=�E°l�f !e8�� 2JG%Z7\IA]35b/4735@�D/ZL\�=�DC_'GU1/Z7G%2C4[@�Z[b'G%\�35OP`&2/=S47=&=�Z[b'G%\I47Zu=�ZQhG%EWE°:

~ 6/G&DJGIH�4+Z[4[G�bÏ3WDÂZ[b'G%\�35Oº`�3WDJVË=�D)=SAB\B6/3W4[G%\I471JA7G93WZ�4[@N2JG�� DJG�=�D)3WD/35473W=�EÙZ[@�EW1J473W@�D����?: ~ 6 3WZUZ[@�E¨1J4735@�D3WZ&=àZ71/_ Z[G�4¢@�O;=�EWEob'@�Z7Z73W_ E5G¸c+@�E5G%\�1 E5G%Z¢476 =S4&\�=�DÒ_'G�\I@�D/Z74[AB1/\I4[G%2Ò1/D/2JG�A���¢=�D/2¾\I@�A7A7G%Z[b'@�D/2 Z¢4[@Â476JG3WD/3W473W=�E�\I@�D��/V�1JAB=S4735@�D�@�O =+Z[`�Z[4[G%c \I@�DJOP@�ABcd3¨DJV;4[@¢476JG =SAB\B6 354[G%\I471JA7G�: ~ 6JG{Z[@�EW1J4735@�D&G%Z[47=S_�EW3WZ76JG%ZR476/G{_ =�Z73W\\I@�D/DJG%\I473Wj�354�`N@�Oo476JG&\I@�c+b'@�DJG%D�47Z�=�D/2Ö476JG%35A�3WD/35473W=�E�Z[47=S471/Z�: "/@�A�GIHJ=�c+b EWG�l���+G%Z[47=S_ EW3¨Z76JG%Z 476 =S4 � � 3WZ3WD/3W473W=�EWE5`�3WD�476JG+Z[47=S4[GY@�OÙ=�\�\IG�b/473WD/V�2 =S47=&=�EW@�DJV9\B6/=�D/D/G%E � �POPA7@�c /�� ]:��#4{\�=�DË476JG%DËG%D/2�3547Zu3WDJb 1J4F=�D/2G%D�4[G�A;=9Z[47=S4[GÓ@�OÙ@S>'G�AB3WDJV¸2 =S47=¸=�E5@�DJV¸\]6/=�D/DJG%E�r �P4[@ /�� ]l-=SOº4[G�A;QL6/3W\]6N354{\�=�D¼G%D/2�476/=S4U@�1J4[b 1J4�: /��3WZe3WD/35473W=�E¨E5`¢3WD9476/G;Z[47=S4[GY@�Og=�\�\IG�b/473WDJV�2/=S47=Ó=�E5@�DJVÓ\]6/=�D/DJG%EÙ� �POPA7@�c =�D�1Jb�Z[4[A7G%=�c ��E54[G�A R=�D/2�c;1 Z[4LQR=�3541/D�473WE"354e6/=�ZLZ[4[@�b bÄG%2�=�\�\IG�b/473WDJVÓ476JG;2 =S47=d_'G�Oº@�ABGU354L\�=�D�@S>ÄG�Au2/=S47=¢@�D�\]6/=�D/DJG%E � �P4[@ ��� ]: �#4L\�=�D�476JG%DG%D/2¼3W47Z{@�1J4[b 1J4�: ~ 6JG+O½1/EWEgc+G%=�D 3WDJV9@�OR476JG¢3WD 35473W=�E Z[47=S4[G¢_'G%\I@�c+G%Z;=Sb/b =SA7G%D�4 QL6/G%D¼\I@�cU_�3WDJG%2NQL3W476N476JG4[AB=�D/Z7Oº@�ABc¢=S4735@�D9AB1/EWG%Z�:

~ 6/G�A7Gh=SABGâG%35V�6�4 4[AB=�D Z[Oº@�A]cd=S4735@�D�AB1/E5G%Z-476/=S4g2JG�� D/GÙ476JGâ\I@�c+b�E5G�4[Gâ_'G%6/=%j�35@�AØ@�O 476JGâ\I@�c+b/ABG%Z7Z73WDJVFb/A7@mH�`=S4^476 3WZ^E5G�j�G%E�@�O/=SAB\B6 354[G%\I471JAB=�E�c+@�2JG%EW3WDJVJl�QL6JG�A7G������ � ��� ��� � l�� � �àl�� � �Yl�� � dl�=�D/2 � � �+:ØXe1/E5G! � 3WZo=+V�G%D/G�AB=�E^3WD�4[G�A[�G%E5G%cdG%D�4L\I@�c¢c;1/D 3W\�=S4735@�D¸A]1/E5G�lJAB1/EWG%Z ! � 476/A7@�1JV�6 !�" \�=Sb/471JABG 476JGU\I@�cdc�1/D/3¨\�=S4735@�Db/A7@�4[@�\I@�E"_'G�4�QÙG�G%D 2�� %(� =�D/2�3547ZL=�2 =Sb/4[@�A%l A]1/E5G !�# G%D/=S_ E5G%ZL476JGU354[G�A]=S4735@�D¸@�O ��� lÄ=�D/2¸AB1 E5G !�$ 2JG%Z7\IAB35_'G%Z476JG+=�\I4735jS=S4735@�DN@�OÙ476JG+1Jb Z[4[A7G%=�c =�D 2Ë2/@mQLD/Z74[A7G%=�c � E54[G�ABZ%:UXL1/EWG%Z !�% =�D/2 !�& 2JG%ZB\IAB35_'GU476JG+_'G%6/=mj�3W@�AF@�O476JGU=�2 =Sb/4[@�A%:

MNG�DJ@mQÉ4[AB=�\IGU476JAB@�1JV�6 w 1/Z[4L=+OPG�Q =Sb/b�EW3W\�=S4735@�D/ZR@�Og476/G 4[AB=�D/Z[OP@�ABcd=S473W@�D9AB1/E5G%ZR4[@&3WEWEW1 Z[4[AB=S4[G{6J@mQÉ476JGOP@�ABc;1 EW=S4735@�DU\�=Sb 471JA7G%Z-476JG�G%Z7Z7G%D/\IG�@�OJ476JGh=SAB\B6 354[G%\I471JA7G�: " 35ABZ[4�lS2/=S47=e4[@L_'GÙ\I@�cdb/A7G%Z7Z[G%2;c;1 Z[4^_'G�=mj?=�3WE¨=S_ E5G�l=�D/29476/G�A7G�Oº@�ABG 476JG Z[@�EW1/4735@�D9c;1 Z[4â_'G ![6JG%=S4[G%2�#d_�`&AB1/E5G !'$ =�\I473WDJVd@�D9476/GUc+@�E5G%\�1/EWG � �)( � �x��:

���+*�,-/. � � l/QL6JG�A7G� �10 �x��� � �)( l

� �32 � � � � ]l� �x�4� � ��/� �8$&�65 � /�� l� � ��4� �8$ �67 � �°r�/� �8$ �85 � ���

�e@mQ =tA7G%=�\I4735@�D \�=�D @�\�\�1JA QL35476/3WD 476JG Z71J_ Z[@�E¨1J4735@�D \I@�D/ZB3WZ[473WDJVt@�O¾c+@�EWG%\�1/E5G%Z �x�4� � �( =�D/2� �x��� � ���� �:$&�95 � /�� : ~ 6/3WZ&A7G%=�\I473W@�D 3WZ�V�@mj�G�ABD/G%2 _�` ! � =�D/2²ABG�b/A7G%Z[G%D�47Z�476JGN3WD/35473¨=�EL4[AB=�D Z[OºG�A9@�O2/=S47=+OPA7@�c � �( 4[@ /�� :

� � * �-/. ��l/QL6JG�A7G

�� 0 � �)( � �x�]l

� �32 � � � � ]l � ���� �:$&� 5 � /�� � � �x�]l� � ��4� �8$ � 7 � �°r�/� �8$ � 5 � ���

~ 6JGY2/=S47=&4[AB=�D/Z7OºG�Au6/=�ZF@�\�\�1/A7A7G%2Ë476JA7@�1JV�6Ë=�Z73WDJV�EWGUA7G%=�\I4735@�D"l'=�D 2 � �( 3WZFDJ@�Q 3WD�=&Z[47=S4[Gd3WD�QL6/3¨\B6 !'$3WZuA7G���1/35ABG%2�4[@¸=�\I4735j?=S4[G&354{@�D/\IG¢=SV�=�3¨DNOº@�A;=�OP1JAB476JG�A 2/=S47=94[AB=�D Z[OºG�Am:d8eE5476/@�1JV�6 !�$ \�=�D¼_ÄGd=Sb b EW35G%2�l'OP@�A_/A7G�j�354�`ÓQhGU2J@dDJ@�4e\I@�D/Z73W2JG�Aâ476 3WZRb'@�Z7Z735_ 3¨EW354.`�:

8R4-476/3WZ�b'@�3WD�4�lmA7G%=�\I473W@�D ! � \�=�D @�\�\�1JA-=SV�=�3¨D�l�c+@�2/G%EW3WDJVR476JG�b�=�Z7Z73WDJVâ@�OJ2/=S47=LOºAB@�c /�� 4[@ � � Oº@�AØ\I@�cY�

� <

Page 19: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

b/A7G%ZBZ735@�D�: ! � l�3WD+476/3WZ�\�=�Z[G�l�=�\I47Zh1Jb'@�DY476JGLZB1J_ Z[@�EW1/4735@�DY\I@�D/Z73WZ[473¨DJV{@�O�c+@�E5G%\�1/E5G%Z � ���� �:$&�85 � /�� � � �x�=�D/2�� � ��/� �8$ �67 � �°r��� �:$&�85 � � � :

��* �-/. ���?l/QL6JG�A7G

��� 0 � �)( � �x�]l� �32 � � � � ]l�8$&�65 � /�� � � �x�4� � ��]l�8$&� 7 � �°r�4� �8$&�65 � ��� � � � ��

"JA7@�c 476/3WZâZ[47=S4[G�lÄ=�D�`�@�DJGU@�O-476JGU476JA7G�G{A7G%=�\I4735@�D Z !�l ! �?l !�� lJ@�A !'$ \�=�D¸@�\�\�1JALDJ@�D/2/G�4[G�ABcd3WD/3¨Z[473W\�=�EWE5`�:

�xD¼Z71/c¢cd=SA7`�l^476 3WZUf"!F8 � c+@�2JG%EWZ =�DÖ=S_ Z[4[AB=�\I4;cd=�\B6/3¨DJGd476/=S4 G�j�@�EWj�G%Z;2J`�D/=�cd3¨\�=�EWE5`¸OPA7@�c @�D/G¢=�2��cd3WZBZ735_ E5GoZ747=S4[GF4[@+=�DJ@�476/G�A%l�Z747=SA7473WDJV�OºAB@�cß476JGu3WD/3W473W=�E/Z[@�EW1/4735@�D � � A7G�b/A7G%Z7G%D�473WD/V;476JGu3WD/3W473W=�E/\I@�D �/V�1/AB=S4735@�D@�O^476/G Z[`�Z74[G%c =�D/2�1/Z73WDJV�476JGu4[AB=�D/Z7Oº@�ABc¢=S4735@�D�AB1/E5G%Z ! � 476/A7@�1JV�6 !�& 4[@dc+@�2JG%EÄ476JGub'@�Z7Z735_�E5GL_'G%6/=mj�35@�A]ZÙ@�O476JG�Z[`�Z74[G%c9: ~ 6/3¨Z � 3¨D/29@�O�=SAB\]6/354[G%\I471JAB=�EØ2JG%Z7\IA]35b/4735@�D¸EWG%D/2/ZL3W47Z[G%E5O D/=S471JAB=�EWEW`&4[@ÓOº@�A]cd=�E^GIHJ=�cd3WD =S4735@�D/Zo@�O_'G%6/=%j�35@�AB=�E'b A7@�b'G�A74735G%Z�:

� �� � ),� � %�$au=SA7QL3WDÜ3WZ¢3WD�4[G%D/2JG%2Ô4[@à_'G¸1/Z[G%2ÜOº@�AÓ476JG�Z[b'G%\�3���\�=S4735@�D�lR\I@�D/Z[4[AB1/\I473W@�D�lâ=�D/2Ôcd=�D/=SV�G%cdG%D�4&@�O{Z[@�Oº4�Qh=SABGZ[`�Z[4[G%cdZ�lSQL3W476UG%c+b�6/=�Z73WZ^@�DU476JGR2JG%Z7\IA]35b/4735@�DU@�O/\I@�D/\�1JA7A7G%D�4�l�2/3WZ74[AB35_ 1J4[G%2"lm=�D/2�2J`�D =�cd3W\�Z[`�Z[4[G%cdZ%:�<�471/2/35G%Z6/=mj�G+_ÄG�G%DË\I@�D/2/1 \I4[G%2N3WD�j�@�EWj�3WD/VÓ\I@�D �/V�1/AB=S4735@�DË@�OÙ2/3¨Z[4[AB35_ 1/4[G%2¸1/Z[G�Aub/A7@�V�A]=�cdZ�l�c;1 E5473WZ[G�A7j�3W\IG�DJG�4.Qh@�A � Z�l=�D/29G%c;_'G%2/2JG%29Z[`�Z[4[G%cdZ%:

au=SA7QL3¨Dà2JG%Z7\IA]35_'G%Z =�Z7`�Z[4[G%c�4[@�b'@�E5@�V�`¼=�ZY=C6/3WG�AB=SAB\B6 3W\�=�E�Z[4[A]1/\I471JA7G¢\I@�cdb/AB3WZ[G%2à@�Oo\I@�c+b'@�Z7354[G&\I@�cY�b'@�DJG%D�47Z�:�8R4{476/GdE5@mQhG%Z[4 E5G�j�G%E°l-=9\I@�c+b'@�Z7354[G+\I@�c+b'@�DJG%D�4{QL3WEWE-_'GY\I@�cdbÄ@�Z7G%2�@�OÙb/A]3Wcd354735j�GY\I@�c+b'@�DJG%D�47Z�:au=SA7QL3WDà2J@�G%Z;DJ@�4;2 35A7G%\I47E5`Ëb/A7@�j�3W2/Gd=Cc+G%=�D/ZUOº@�A�c+@�2JG%EW3WDJV9\I@�c+b'@�DJG%D�4;3¨D�4[G�AB=�\I473W@�D¼@�AU@�j�G�AB=�EWEhZ[`�Z[4[G%c_'G%6/=%j�35@�A%:��xD�=�2 2/354735@�DU4[@{476JGR_ =�Z73W\hZ[4[AB1/\I471/AB=�E�j�35G�QÏ2JG%Z7\IA]35_'G%2;3WD�au=SA7QL3WD"l?_'G%6/=mj�3W@�AB=�E°l�Z[G�A7j�3W\IG�l�=�D/2�b'G�A[�OP@�ABcd=�D/\IG;j�35G�QeZL=SA7G�Z71JV�V�G%Z[4[G%2�Oº@�Au=�D/=�E5`�Z73WZL=�D/2C=�ZF=�3W2/Ze2/1JAB3WD/V�476/G;3Wc+b�E5G%c+G%D�47=S4735@�DC2JG%\�3¨Z735@�D��.cd= � 3WDJVb/A7@�\IG%Z7Z�:

� ~ 6JG §�¶½¬�»J¿m¶½»�¬xªSÇ-®m¦«I³ 2JG%Z7\IA]35_'G%Zh\I@�cdbÄ@�D/G%D�47Zâ=�D/2�476/G%35Ao3WD�4[G�AB\I@�D/DJG%\I4735@�D Z�:Ùfh@�c+b'@�DJG%D�47Zâ=SA7G Z[b'G%\��3 �/G%2¾=�Z9Z7G�47ZÓ@�O;b'@�A747=�EWZ �P476JGNaF=SABQL3WD¾4[G�ABc Oº@�A !xb'@�A747Z$# ]lF3WD/Z[47=�D�473W=S4735@�D/ZÓ@�O;\I@�cdbÄ@�D/G%D�47Z�lF=�D/2_�3WD/2/3WD/V�Z�_'G�4.QhG�G%D¸476/G b'@�A747=�EWZR@�O 476JG 3WD/Z747=�D�473W=S4[G%2C\I@�c+b'@�DJG%D�47Z%:

� ~ 6JG ÁB«�¥�ªS®m¦°­S¬[ªSÇ�®m¦«I³ 3WZuZ[b'G%\�3��/G%2Ë3WD "�< �ÊDJ@�47=S473W@�DN=�D/2�=�D/=�E5` '�G%2�Oº@�A{Z7=SOPG�4.`N=�D/2�EW35j�G%D/G%Z7ZFb/A7@�bJ�G�AB4735G%ZU1/ZB3WDJV�476JG ~ Xe8Lf ~ 8 � � � �h\I@�c+b'@�Z7354735@�D/=�EØA7G%=�\]6/=S_ 3WE¨354.`�=�D/=�E5`�Z73WZu4[G%\]6/D/3 ��1JG�: ~ 6/GdK^=S_'G%EWE5G%2~ AB=�D/ZB354735@�DÒ<�`�Z[4[G%c 8FD/=�E5` '�G�A �½K ~ <�8 +3¨ZÓ1/Z7G%2Ô4[@ÂbÄG�ABOº@�ABc 476JG ~ XL8Lf ~ 8 =�D/=�E5`�Z73WZ%:ÊK ~ <�8 3WZO½1JA7476/G�Ao2/3WZ7\�1/ZBZ[G%293WDC<�G%\I4735@�D � :W�S: ��:

� ~ 6JG §�«I¬�®m¦°¿]«¼®m¦«I³ 3¨Z&=)ABG�� DJG%2²j�35G�Q @�O;476/G¼=SAB\B6/3W4[G%\I471JA7G¼=�3Wc+G%2²4[@�Qh=SA]2 3Wc+b�E5G%c+G%D�47=S4735@�D�: �#43¨D/\�EW1/2JG%Z�3¨DJOº@�A]cd=S4735@�D{=S_'@�1J4�476JG�b'@�A747=�E¨Z�l�Z71 \B6U=�Z^_ 3WD/2 3WDJVhb =S4[4[G�ABD/Z"=�D 2 QL6JG�476/G�A^=âb'@�A747=�E�b/AB@mj�3W2JG%Z@�AeA7G���1/35A7G%Zâ=+Z[G�ABj�3W\IG�:

� ~ 6JG ©J«I¬Pµ�­S¬]·dªS±Ä¿]«Y®�¦°«�³ 3WZoZ71/V�V�G%Z[4[G%2C=�Zo=�D�3Wc+b'@�A747=�D�4â=SA7G%=+OP@�ALO½1J471JA7GuQh@�A � :

au=SA7QL3¨D;Z[b'G%\�3���\�=S4735@�D/ZØ\�=�DY_ÄGhV�35j�G%DY=�ZgZ73Wcdb E5G�_'@%H�=�D/2Y=SA7A7@mQÔ2 3W=SV�AB=�cdZ-@�Ag\�=�DY_ÄGRc+@�A7GhG%EW=S_'@�AB=S4[G%E5`2JG%Z7\IA]35_'G%2¸3WD¸476/G;au=SA7QL3WDC4[GIH�471 =�E-DJ@�47=S473W@�D�l'QL6/3W\]69b/A7@�j�3W2/G%Ze\I@�D/2 354735@�D/=�EWZL=�D/2C354[G�A]=S4[@�ABZ�:eT�H�=�cdb E5G%Zo@�O_'@�47694.`�b'G%Zâ@�Og2JG%Z7\IAB3Wb/4735@�D�=SA7GUZ76/@mQLD¸3¨D,�/V�1JA7G%Zop+=�D 2Cs�:

�{A]=�c+G�Ad=�D/2 �C=SV�G�G � ��p �L1/Z[G%2)au=SA7QL3WDÂ4[@¼Z[471 2J`¼476JG�476JG¸Xe3WDJV�aF=S47=S_�=�Z[G¸b/A7@�_�E5G%c � � < �: �xDÂ476/3WZb/A7@�_�E5G%c�354�3WZ�bÄ@�ZBZ735_ E5GROP@�AÙ3WD \I@�D/Z73WZ[4[G%D�4�2/=S47=U4[@ A7G%Z71/EW4gOºA7@�cß473Wcd3WD/Vu3¨Z7Z71JG%Z�: " 35V�1JA7GFs{\I@�D�47=�3¨D/ZÙ=UaF=SABQL3WD

� �

Page 20: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

NODE[2]

out in

CHANNEL[2]

in

out

out inCHANNEL[1]

in

NODE[1]

out

outinCHANNEL[0]

outin

NODE[0]

" 35V�1/A7GUp�� ~ 6JG Xe3WDJV+au=S47=S_ =�Z[G�:

Z[b'G%\�3�� \�=S473W@�DYOº@�A�= AB3WDJV{2/=S47=S_ =�Z7G�:�8¾V�A]=Sb 6/3W\�=�E�j�G�ABZB35@�Dd3WZ�ZB6J@mQLD+3¨D " 35V�1JA7Gop{=�D/2¢={_'G%6/=%j�35@�AB=�EJ2JG%ZB\IAB35bJ�4735@�D¼3¨Z{V�35j�G%D¼3WD "Ø3WV�1JA7G¸��q�: ~ 6JGdZ[`�Z[4[G%c X��#� 3WZ{2/G%Z7\IAB35_'G%2N=�ZU=C\I@�c+b'@�Z7354[Gd\I@�c+b'@�DJG%D�4 476/=S4 _�3WD/2/Z4[@�V�G�476JG�Au=�DC1/D Z[b'G%\�3��/G%2�D�1 cU_'G�Ao@�O b/AB3¨cd354735j�Gu\I@�c+b'@�DJG%D�47ZFf"!F8e�F�FT�KÂ=�D/2¸�{nuauTo:Äfh@�c¢c;1/D 3W\�=S4735@�D_'G�4.QhG�G%D)476JG9\I@�c+b'@�DJG%D�47Z�3¨Z�2/G�� DJG%2Â3WDà476/G�3¨D�4[G�A7O½=�\IG9i �Ùao8 ~ TL: ~ 6JG&3¨D�4[G�A[�.\I@�cdbÄ@�D/G%D�4+\I@�D/DJG%\I473W@�D/Z=SA7G{2JG%Z7\IA]35_'G%2¢=�Zâ=�Z[G���1/G%D/\IGu@�O"_ 3WD/2 3WDJV�Zg_'G�4.QhG�G%D93WD�4[G�A7O½=�\IGFb'@�A747=�E¨ZhD =�c+G%2 ![3¨D�#;=�D 2 !x@�1/4$#Y@�O"476JGu4.Qh@4.`�b'G%ZF@�OÙ\I@�c+b'@�DJG%D�47Z�: ~ 6JGY3WD�4[G�A7O½=�\IG�b�=�Z7Z[G%ZF476JGYD/=�c+GY@�O�476JGY@�AB35V�3¨D/=S473WDJV&DJ@�2/G;=�D/2�=&j?=�E¨1JG;476/A7@�1JV�6476JG b'@�A747=�E¨Z�:

~ 6/G¢K ~ <�_'G%6/=mj�35@�A]=�E�2JG%Z7\IAB3Wb/4735@�DNOP@�A;=�DÖ3WD/Z[47=�D/\IG¢@�OoX �x� \I@�D/Z73WZ7473WDJV9@�Oâ476JA7G�GÓDJ@�2/G%ZU=�D/2à476JA7G�G\B6 =�D/DJG%EWZâ3WZhV�35j�G%DC3WD,"Ø3WV�1JA7G+��q�:�8FZâDJ@�4[G%2¸=S_'@mj�G�l =�DCK ~ <¢3¨Zâ2JG%Z7\IAB35_'G%2&3WD&476JG�"�< �ÔDJ@�47=S473W@�D�:*�xDÓ@�A]2JG�A4[@�b/A7@�j�3W2/G�=Ó_ =�Z73W\�1/D/2/G�ABZ[47=�D/2/3¨DJVd@�O�476JG "�< � DJ@�47=S473W@�D�l�QÙGY2JG%Z7\IA]35_'GU476JG+Z[G%cd=�D�473W\�ZF@�O�476/G;OP@�EWE5@�QL3WDJVZ[`�cU_'@�EWZâ1 Z[G%2¸3WD�476JG{GIHJ=�c+b EWG�:

� � . � 3¨D/2/3W\�=S4[G%ZR476/=S4LQL6JG%D¸=Yb/AB@�\IG%Z7ZoG%DJV�=SV�G%Ze3¨D9=�\I4735@�D �Ë354âQL3WEWEÄ476JG%D¸_ÄG%6 =%j�GU=�Zâb A7@�\IG%ZBZ �+:

� � . ��� � .�� 3WD/2/3¨\�=S4[G%Zg476/=S4Ù= b/A7@�\IG%Z7Z�cd=m`YG%35476JG�A�G%D/V�=SV�GF3WD �&@�A��+=�D/2¢476JGoA7G%ZB1/E547=�D�4�_'G%6/=%j�35@�AQe3WEWEÄ_'G � 3WD�476JG OP@�ABc+G�Ae\�=�Z[GU=�D/2 � 3WD�476JGUE¨=S4[4[G�AL\�=�Z[G�:

� �xD¼476/G¢_'G%6/=%j�35@�AB=�E�2JG%Z7\IAB35b 4735@�D�@�Oo�un{aFTLl^476JG Õ�»�¦«�¶�� l Õ�»�¦«�¶� l =�D/2 ¯�¦¨§.©�Çת�È =�\I4735@�D/Z�=SA7GÓ1/Z7G%2N4[@2/G�� DJG{QL6JG%D�476/G j?=�E¨1JG%Zâ@�O E5@�\�=�E"j?=SAB3¨=S_ E5G%Zâ\�=�D9_'G{A7G%=�2¸=�D 2¸1/Z[G%2�:

� ~ 6JGeEW=�Z74Ù=�\I4735@�D&@�O^\I@�c+b'@�DJG%D�4R�unuauT)3WZh= V�1/=SA]2JG%2Ó\I@�c¢cd=�D/2�: ~ 6/GL@�b'G�AB=S4[@�A�!� #�3¨D/2/3W\�=S4[G%Z�476/=S43WO�@�DJGe@�O-476JG �/j�GF\I@�D 2/354735@�D/ZhEW3WZ74[G%2d_'G%\I@�c+G%Zh4[AB1JG�l�476JGFA7G%Z71/EW47=�D�4h_'G%6/=%j�35@�AhQL3WEWEJ_'Ge476/=S4â2JG%Z7\IAB35_'G%24[@¢476JG AB35V�6�4â@�OØ476JG . :

� �

Page 21: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

��������� JNI#J� j�[� �������g��#�#�\� $�� ����������� ��h � �k���#���}��� " ������! ��"k���#�k���!� ��� "$#�%�& ����'( ) ����� �k���#���}����* �����������"k��������!� ���!*}� ��

�k���#���}����*}��������+"k������#�!�-,�, �-���/.�0��.�1����* ����2

2

3 J� I�4�576 � I8�9 � & f����+������kh: <;���� �k�= 2

��������� JNI#J� #�%�& ��� '��� 4��>6�? � � " 8�9 � & f��! ��� 4��>6�? ����� " 8�9 � & f��!

2

��������� JNI#J� ��������� 4��>6�? � � " 8�9 � & f��! ��� 4��>6�? ����� " 8�9 � & f��!

2

" 35V�1JA7GUs���au=SA7Qe3WD9aFG%Z7\IAB35b/473W@�D�@�OØ476/G XL3WDJVdau=S47=S_ =�Z7GY<�4[AB1 \I471JA7G � ��p �:

� ~ 6JG{DJ@�47=S4735@�D !� � #+1/Z7G%2�_ÄG�OP@�A7GF476JG{_'G%6/=%j�35@�AB=�E'2JG%ZB\IAB35b/4735@�DÓ@�O X �x� Þ3WD 2/3W\�=S4[G%Zh476/=S4â476/3WZR3WZR4[@+_'G=db =SAB=�EWE5G%E�\I@�cdbÄ@�ZB354735@�D�@�O 3547Zo\I@�c+b'@�DJG%D�47Zo�{nuauT¾=�D/2Ëf"!e8F�F�eTÙK�:

� ~ 6JG+Z[`�c;_'@�E ! � #¸2JG%DJ@�4[G%Z =&A7G%E¨=S_ÄG%E¨3WDJV¢476 =S4 3WZuZ[@�c+G�473Wc+G%ZUDJG%\IG%Z7Z7=SA7`�l-Z73WD/\IGY_ 3WD 2/3WDJV�Ze3WD�aF=SABQL3WD=SABGUc+@�2JG%E5G%29=�ZLZB6/=SA7G%29=�\I4735@�D/Ze3WD9=�D¸K ~ <Ä:

~ 6/Ge<�@�Oº4�Qh=SABGe8eAB\B6/3W4[G%\I4�$yZÙ8FZ7Z73WZ747=�D�4 �<J8e8 � r�p ��3¨Z�={4[@�@�E/476/=S4�b A7@mj�3W2JG%Z�ZB1Jb/b'@�A74 Oº@�AÙ_'@�476d={4[GIH�471/=�E=�D/2Ë=¢V�A]=Sb 6/3W\�=�E-2JG%Z7\IAB35b 4735@�D¸@�O�\I@�c+b'@�DJG%D�47Zu=�D/2Ë\I@�D/DJG%\I4735@�D/Z%:e8FZeDJ@�4[G%2�=S_'@mj�G�l'4[GIH�471/=�E 2JG%Z7\IAB3Wb/4735@�D/Z\�=�DË3WD/\�EW1/2/G{476JG;1/Z7G @�O�\I@�D/2/35473W@�D/=�EWZL=�D 2C354[G�AB=S473W@�DC3WDC@�AB2JG�AL4[@&jS=SA7`9476JGU4[@�b'@�E5@�V�`9@�O�=ÓZ[`�Z[4[G%ct2 1JAB3WDJVAB1/Dà473Wc+G�:ËMN@�A � 3¨Z;3WDàb/A7@�V�A7G%ZBZ;4[@Ëb/A7@�j�3¨2JGÓZ71/b/b'@�A74 OP@�A�_'G%6/=mj�3W@�AB=�E�=�D/=�EW`�Z73¨ZU476JAB@�1JV�6Ö3¨D�4[G�V�AB=S473W@�DÖ@�OK ~ <�8Þ3WD�4[@Ó<�8e8;:

� �� � � )���%(���

XL=Sb�3W2JG�3¨Z¢=Â6/35V�6��.E5G�j�G%ElâG�j�G%D�4x�_ =�Z7G%2 Z73Wc�1/EW=S4735@�D¾EW=�DJV�1/=SV�GË476/=S4&b/A7@mj�3W2JG%Z&Z71Jb bÄ@�AB4dOº@�A&476JG�2J`�D/=�cd3W\=�2/2/3W4735@�DÓ=�D 2&2/G%E5G�4735@�D&@�O-b A7G%2JG%\�EW=SA7G%2&\I@�c+b'@�DJG%D�47Z�:�Xe=Sb 3W2JGu2JG%Z7\IAB3Wb/4735@�D/Zh=SA7G{\I@�c+b'@�Z[G%2�@�O^4�`�b'G{Z[b'G%\�3×�� \�=S4735@�D Z-OP@�A�\I@�c+b'@�DJG%D�4g3WD�4[G�ABOP=�\IG%Zg=�D/2Y=SAB\]6/354[G%\I471JABGRZ7bÄG%\�3 � \�=S4735@�D/Z-Oº@�Agb'G�ABc¢3WZ7Z735_�E5G�\I@�D/DJG%\I4735@�D ZØ=�cd@�DJV476JGU\I@�cdbÄ@�D/G%D�47Zâ@�Og=+Z[`�Z[4[G%c9:

<�`�Z[4[G%c _'G%6/=%j�35@�AR3WZh2JG%Z7\IAB35_'G%2¢476JA7@�1JV�6�=SAB\]6/354[G%\I471JAB=�E'\I@�D/D/G%\I4735@�D&AB1/E5G%Z�l�Z[47=S4[G{4[AB=�D/ZB354735@�DdA]1/E5G%Z�l�=�D/2b =S4[4[G�ABD Z+@�OuG�j�G%D�47Z¢A7G���1 35A7G%2)4[@¼V�G%DJG�A]=S4[GCG�j�G%D�47Zd476/=S4¢=�\I473Wj?=S4[G�476JG¸AB1/EWG%Z�:Ü<�`�Z74[G%c _'G%6/=%j�35@�Ad\�=�DÔ_'GZ73Wc�1/EW=S4[G%2¾476JA7@�1/V�6¾GIH�G%\�1J4735@�DÒ@�O;476JGËXe=Sb 3W2JG�2JG%Z7\IA]35b/4735@�D�: ~ 6JG�A7G%Z71/EW47ZÓ@�O;=ÂZB3Wc;1 EW=S4735@�DÔ@�O�Z[`�Z[4[G%c_'G%6/=%j�35@�Ao\�=�DC_ÄG Z7471/2/35G%2�1/Z73¨DJV+=+A7G�b/A7G%Z7G%D�47=S4735@�DC\�=�EWE5G%29= ©�­S§�«�¶ :h8ÞbÄ@�Z7G�4o3WZâ=+b =SA7473¨=�EWE5`d@�AB2/G�A7G%2¸Z[G�4o@�OG�j�G%D�47Ze\�=Sb/471/A7G%2¸2/1JA]3WDJVY=dZ73WDJV�EWGuZB3Wc;1 EW=S4735@�D&@�Og=+Z[`�Z74[G%c9:

fh@�cdbÄ@�D/G%D�47Ze=SA7G;2JG���DJG%2¸3WD94[G�A]cdZL@�O 476JG%3WAe3WD�4[G�A7O½=�\IG%Z�: ~ 6JA7G�G 4�`�b'G%Ze@�O�\I@�c+b'@�DJG%D�47ZL=SA7G�2JG%Z7\IAB35_'G%23WD " 35V�1/A7Gd���Sl QL6 3W\B6¸3¨Zâ476JGUXe=Sb 3W2JG 2JG%ZB\IAB35b/4735@�D�@�O 476JG;OP=�c¢3WEW3W=SARV�=�ZFZ[47=S4735@�D¸b A7@�_ E5G%c9: ~ 6JGU\I@�c+b'@�DJG%D�44.`�b'G%Zd=SA7G¸=�b 1 c+b"l�=N\�1/Z[4[@�cdG�A%lÙ=�D/2Ï=�DÔ@�bÄG�A]=S4[@�A%: �#D)476/3¨Z�ZB3Wc+b E5G&GIHJ=�c+b E5G�QhG¸Z[G�G9476/=S4¢3WD�4[G�A7O½=�\IG%Z

�%p

Page 22: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

�����h�� $ ����� �#��i ) ��g ����k���#�khg���������������kh $ ���� ���������h�� ����� $� ��� 8�� ������� ���#���k�khg���������;������k� $ ���� ���������

�����h���������h�� $ ������h�� fg�k� $ �g������������#��� $ ������h�� ��� fg�k�

#�%�& ��� ' $ , ��� ��� " ������kh-� �d� " ;���������w ����� ����� � ��� w #�%�& ��� '�. *

������=, [ $ � . $ ������ � � � ��� & '������ `������ ��� " ;��#���k��� �b� � ��� " ���#���� $�������k� ��k������ � ����������� ��� i�� � h��������#���k�����B�E���,���"k��� ,��b� � ��.���k����(�d� " ;��#���k��� w ����� �}[����d��� w ������ �d��� �df#g�k���

���]���k����#��� � �kh#h�������� � �h � ���� �����h#�h �����#�����������\�������"k��� ,��b� � ��. ��������� � w ����h � ���� ��� � w ����� ��� ]w ������ ��� � �d� � �� �

���Bg��k�� �!����� � ���������g���i���g��������k������g"� ���������������B������s��� ��� " ������kh-� �d� " ;������k��� w

,#��"k��� , [ $#$ ��$%$�� � ���. ���i � ������ w ������ ��� ����������h�����&��"k��� , [ $#$ ��$%$'�d� � ��. �� � h w �#jj���j�&��"k��� , [)(*��$%$]� � ��. � �h#���g�� w ������ ��� ���d� � �����&��"k��� , [)+*��$%$]� � ��. ����� ������� � � w ������ � � ����������h�����&��"k��� ,�-, [ $#$ ��. $%$,�d� � ���. ����� ������� � � w ������ � � ����������h����.

. *

�%� j�[� � $ ,s�k���#���}� " ������kh-� " ������(, ��.�%�u�"k����k���!� ������kh-� "$#�%�& ����'�.

�����#��g����#�(�}� " ������kh-� ��k������� ����* ���#�k���"k���#�����=�}���(*=� � `�k������� ����*=���k���"k����k�#�!��,�, �����/.�0/.�1/ �!* ���#� `��������� � ���k���#���}����*-��������� � `��������� ���k���#���}����*-���������

22 *

" 35V�1JA7Gd��q � "g< �ÜK ~ <&aFG%Z7\IAB35b 4735@�D9@�OØ476JGUXL3¨DJV+aF=S47=S_�=�Z[G;khG%6/=mj�35@�A � ��p �:

�%s

Page 23: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

�#� � �������#���g�h]�h\������������g! ���]���#��i �Q` � ` ` � ����� ���#��i �#� � �������#�����h]�h\������������g! ���]���#��i �Q` � ` ` � ����� ���#��i

�#� � � 9 ��i � �h\��������g����k���k������������ � , . ` ���#�=,>. ` & ���!������� , # �kh � " ���#�#���g�h�.

���#�\j�� � ��g#�(, & i����#�#� " �����#������h ` # �kh � " �����#���g h . ) �-"k��������g

�#g��#� " ����g����#����#��� " $ f#g�k�= j����������� ` '�� iL��� " ����g]���#�#���g�h " $ � �k���������[�� 8 h�� ,>. ` �����k� , .

) �)�����, ��� " ��������g�h . , ����� & ����������� , ��� .�. ��"k��g���)�g��#� �%�-+ �#g��#� " $ ������h��= ' � iL��� " $ ��� p[�� 8 h��= � [�� 8 h��'�%�-+�j��#��� ����� " $ ��'��=iL���! e�����k�= � ����\��g\�����k�'�%�-+ �#g��#� " $ f#g���= ej�� � ��g#�(,���j��#�������%�. �

��� � 9 ��i �

�#� � � # ��h ����i���g �h\��������g����k���k������������ ������(,>. ` # "k������� , # �kh�� " �����#���g h .

���#� 9 g�� 9 ���(, # �kh � " ��������g�h .-������(, . ` f���g� � �!,>. `� ����(,>. ` f�#g� ����=,>. ) �-"k��������g

� " ���#�#���g�h��h � � ) �)�����

h ����g#� �%�-+ 9 g�� 9 ���(, ��. � ������ �%�-+ ����! � �#�� �%�-+�f��g� ���� �

��� � # ��h ����i���g!

�#� � � � � ��g�������g �h\��������g����k���k������������ j������k�kh �=, # �kh � " �����#���g�h . ` j��kh�� ���=, # �kh � " ���#�#���g�h�.

���#� �k+"k����� ��� , # �kh�� " �����#����g�h . ` j���iL���=, # "k���%��� " �����#����g�h . ) �-"k��������g

9 ����i������ " ����g ��������g�h " $�� ) �)�����

, ��� " �����#����g�h .�j��*���k�kh��(, ��� . �*�-+ 9 ����i������ " $ ��� s�k�"k����� �� , ��� . � , ��� " �����#����g�h .�j��kh�� ���=, ��� . �%��+�j���iL���(,�� 9 ����i������ � ��� . �

��� �(

��g �"������� ���g�� ���kh h������������!,>.pg������g�]g�������h� " � � ��g�������g! 9 " 9 ��i � # � ` # " # ��h ����i���g!

����#�k�k �, � # " # ��h�����i���g( ��� " ���#�#���g�h�. � # * 9 g�� 9 ���(, ��� . �*�-+ �(*%j��*���k�kh �(, ��� . , ��� " ��������g�h . �(* �k�"������ �� , ��� . �%�-+ 9 * & ���!������� , ��� . , ��� " ��������g�h . �(* �k�"������ �� , ��� . �%�-+ # � * ������! , � # " # ��h�����i���g�. � # *%f���g� ��� �*�-+ 9 * ���� , � # " # ��h�����i���g�. � # *%f���g� ���#� �%�-+ 9 * ����( , ��� " ����������h: �� " ��������g�h . 9 *%j�� � ��g#�(, ��� ` �� . �%�-+ �(* j��kh�� ���(, �� .

��� ������h h ������������

" 35V�1JA7Gd������Xe=Sb 3W2JG aFG%Z7\IA]35b/4735@�D�@�OØ476JG�u=�Zu<�47=S4735@�D¸T�H�=�cdb E5G � < � �:

�Sq

Page 24: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

Z[b'G%\�35OP`¢Z[G�j�G�AB=�E-=�Z[b'G%\I47Zâ@�OØ476JG \I@�c+b'@�DJG%D�4�$yZo3WD�4[G�AB=�\I4735@�D/ZâQe35476&@�476JG�AL\I@�c+b'@�DJG%D�47Z�: ~ 6/Gu2/G%\�EW=SAB=S4735@�D9@�O¦P± =�D/2 ­S»J¶ =�\I473W@�D/ZLZ[b'G%\�35OP`¢476/G \I@�c+b'@�DJG%D�4�$yZe=S_ 3WEW3W4.`¢4[@¢@�_ Z[G�A7j�G @�ALG%cd354âb =SA7473¨\�1/EW=SAâG�j�G%D�47Z�: �xc+b EW3¨\�3547E5`2JG%\�EW=SABG%2�=�\I4735@�D ZLA7G�b A7G%Z[G%D�4LG�j�G%D�47ZuV�G%DJG�AB=S4[G%2�3WD¸476/GUG%D�j�35AB@�D/c+G%D�4L@�Og476JG�Z[`�Z74[G%ct476 =S4e=SA7G�G%cd354[4[G%2�_�`@�ARQh=S47\]6JG%29OP@�Aâ3WD�=�D&3¨D�4[G�A7O½=�\IG��J476JGFG�j�G%D�4����������d3WDÓ476JG �/ABZ[4h4[AB=�D/Z73W4735@�D¢A]1/E5GL@�O-476JG{\�1/Z[4[@�c+G�Aâ3WD�4[G�A7O½=�\IG3WD " 35V�1/A7G ���L3WZÙ=�DdGIHJ=�c+b E5G�:gkhG%6/=mj�35@�A]Z�l�QL6 3W\B6dc¢=%`d3WD�j�@�E5j�GLE5@�\�=�EJjS=SAB3W=S_ EWG%Z�l�2JG%Z7\IA]35_'Gâ476JGL\I@�c+b 1/47=S4735@�Db'G�A7OP@�ABc+G%2&_�`Ó476JG \I@�c+b'@�DJG%D�4�l/3WD/\�EW1 2/3WDJVU6/@mQ 476JG \I@�c+b'@�DJG%D�4âA7G%=�\I47Zâ4[@ ¦P± =�\I473W@�D/Zo=�D/2�V�G%DJG�A]=S4[G%Z ­S»J¶=�\I4735@�D/Z%:Ófh@�c+b 1J47=S473W@�D/Z{=SA7Gd2JG�� D/G%2N3WD�=�DNG�j�G%D�4;b =S4[4[G�ABD¼E¨=�DJV�1/=SV�G � < � �l-QL6JG�A7G+=9b =S4[4[G�A]D¼3WZ{=9Z[G�4 @�OG�j�G%D�47ZL4[@�V�G�476JG�AFQL35476�476/G%35Aâb =SA7473W=�E'@�A]2JG�AB3WDJVJ: ~ 6JG{b =SA7473W=�E'@�A]2JG�Ao@�OØG�j�G%D�47ZF3WZRA7G�b/ABG%Z[G%D�4[G%2�=�Zo=+b'@�Z[G�4�:�xDC=�2/2 354735@�D¸4[@&476JG�\I@�D/\IG�b/47ZF@�O�=�\I4735@�D/ZF=�D/2�_ÄG%6 =%j�35@�ABZ�lÄ3WD�4[G�ABOP=�\IG%ZF\�=�DË_ÄG;2JG%Z7\IAB35_'G%2¸1 Z73WDJV¢Z7G�j�G�AB=�E

@�476JG�A{\I@�D/Z[4[A]1/\I47Z�l'3WD/\�EW1/2 3WDJVYOP1 D/\I4735@�D/Ze=�D/2C\I@�D/Z74[AB=�3WD�47Z�:�"/1 D/\I4735@�D/ZF2JG%Z7\IAB3W_ÄG;DJ@�ABcd=�E-Z[`�D \B6JA7@�D/@�1/Zo_'GI�6/=mj�35@�Am:efh@�D/Z[4[AB=�3¨D�47Zeb/A7@�j�3W2/GU=�DC@�b bÄ@�AB471/D/354�`Ó4[@�2JG%Z7\IAB3W_ÄG{476/GUb =S4[4[G�ABD ZL@�O�G�j�G%D�47ZF476/=S4FG%35476JG�Aec�1/Z[4e@�Ac�1/Z[4oDJ@�4L6 =%j�G @�\�\�1JA7A7G%2¸b/AB35@�Aâ4[@d476/G 4[AB35V�V�G�AB3¨DJVY@�O Z7@�c+G G�j�G%D�4�:

�Ø@�Z[G�47ZY=SA7G¢=�\IAB35473W\�=�E�G%E5G%c+G%D�4U@�OâXL=Sb 3¨2JG�: ~ 6/Gdb'@�Z[G�4U3WZ 1 Z[G%2¼_'@�476N4[@ËZ[b'G%\�35Oº`�3WD¼=�DÖ3WD�4[G�A7OP=�\IG&=�D=�EWE5@�Qh=S_�E5Gdb =S4[4[G�ABDÖ@�OâG�j�G%D�47Z+=�D/2¼4[@ËA7G%\I@�AB2à476JG&=�\I471 =�E�G�j�G%D�47Z�@�\�\�1JABAB3WDJVC3¨D¼=¸b =SAB473W\�1/EW=SA�Z73Wc�1/EW=S4735@�D�:�Ø@�Z[G�47Z�A7G�b/ABG%Z[G%D�4&\�=�1/Z7=�EF=�D/2¾473Wcd3WDJVÖ2JG�b'G%D/2JG%D/\�35G%ZÓ=�D/2Ü=SABG�476JGË_ =�Z73¨ZdOP@�AÓ476JG�2J`�D/=�cd3W\¸_ÄG%6 =%j�35@�AB=�E=�D/=�E5`�Z73WZÓb'G�A7OP@�ABc+G%2¾_�`Ô476/G�Xe=Sb 3W2JG�4[@�@�E¨Z�: 8 XL=Sb�3W2JGËbÄ@�Z7G�4ÓA7G�b A7G%Z[G%D�473WDJV)=ÂZB3Wc;1 EW=S4735@�DÔ@�O;476JGËV�=�ZZ[47=S4735@�D¾GIHJ=�c+b E5GC3¨Z¢Z76J@�QLDÜ3¨D " 35V�1JA7GÖ�%r�:Þ<�1Jb/b'@�A74YOP@�A&Z747=S473W\C2JG�b'G%D/2/G%D/\IGC=�D/=�E5`�Z73WZ¢3WZdb/AB@mj�3W2JG%2ÏOP@�AXL=Sb�3W2JG{Z[b'G%\�3�� \�=S4735@�D ZR_�`98FEW=�2/2/3WD � < � �:�xDàXe=Sb 3W2JG�lØ\I@�c+b'@�DJG%D�4;4.`�b'G%ZU=SA7G&3WD/Z[47=�D�473W=S4[G%2à=�D 2¼476JG%DÖ\I@�D/DJG%\I4[G%2Ö4[@COP@�ABc =SAB\]6/354[G%\I471JABG%Z�: ~ 6JG

=SAB\]6/354[G%\I471JA7G{2JG%\�E¨=SAB=S4735@�D�=S4R476JGu_Ä@�4[4[@�c @�O�" 35V�1JA7GY���u3WD/Z[47=�D�473W=S4[G%Zh476JGuV�=�ZâZ[47=S4735@�D9\I@�c+b'@�DJG%D�47ZâZ76J@�QLDV�AB=Sb 6 3W\�=�EWE5`¢3¨D " 35V�1/A7G+����: �xD�476/3WZhV�AB=Sb 6/3¨\�=�E'j�35G�QUl�476/G 2J@�4[4[G%2¸=SA7A7@�QLZâQL3W476/3WDÓ476JG \I@�c+b'@�DJG%D�47Zâb'@�A74[AB=%`476JG9Z71/c¢cd=SAB3�'%=S4735@�DÖ@�Oe3¨D�4[AB=?�.\I@�cdbÄ@�D/G%D�4Y_'G%6/=%j�35@�AY476/=S4+3WZY2JG%Z7\IA]35_'G%2Ö3WDÖ476JG�_'G%6/=%j�35@�A+Z[G%\I4735@�D)@�Oe476JG3WD�4[G�A7O½=�\IGU2JG�� D/3W4735@�D�:

~ 6/G Z[G%cd=�D�473W\�Zo@�Og\I@�D/DJG%\I473W@�D/Zâ_'G�4.QhG�G%DC=SAB\]6/354[G%\I471JA]=�E"G%E5G%c+G%D�47ZL=SABGUZ[b'G%\�3��/G%2&476JA7@�1/V�69AB1/E5G%Z%:Ùfh@�D��DJG%\I4735@�D&AB1 E5G%Z�6/=mj�G{=;4[A]35V�V�G�A%l�=�DÓ@�b'G�AB=S4[@�Aml�=�D 2Ó=�_'@�2/`�:ØXe=Sb 3W2JGeb/A7@mj�3W2JG%ZÙOP@�1JA � 3WD/2 Z�@�O^\I@�D/D/G%\I4735@�D/ZR3WD\I@�D/DJG%\I473W@�DÓA]1/E5G%Z�: ~ 6JGeGIH�=�c+b�E5GeZ76/@mQLD&6JG�A7GF1/Z[G%ZÙ@�D/E5`+476JGu=SV�G%D�4â\I@�D/D/G%\I4735@�D �PQLAB354[4[G%D&Z[`�D�47=�\I473W\�=�EWEW`¢=�Z!��� # ]:!�#D�=�DC=SV�G%D�4F\I@�D/D/G%\I4735@�D�l 476/GU@�_ Z[G�ABj?=S4735@�DC@�O 476JGUb =S4[4[G�A]DC2JG%Z7\IA]35_'G%293WD9476JG;4[AB35V�V�G�AeZ7473Wc;1 EW=S4[G%Z476JG G�j�G%D�47ZL3¨D�476JG _'@�2/`�:

� �� � � +5) �

�CG�47=�! 3¨Zu47=�3WE5@�A7G%2�4[@9476JGd2/G�j�G%E5@�b c+G%D�4{@�OÙABG%=�E×�473Wc+G�l"O½=�1/E54u4[@�E5G�A]=�D�4UZ7`�Z[4[G%c¢ZuQL35476�b/AB3¨cd=SA7`9G%c+b 6 =�Z73WZ@�D9=%j�35@�D/3¨\�Zo=Sb/b EW3¨\�=S4735@�D/Z�: �¸G�47=�!Þb/AB@mj�3W2JG%ZâZ71Jb bÄ@�AB4ÙOP@�Aâ476JG Z[b'G%\�3�� \�=S473W@�DÓ@�OØG%D�4735A7G{Z[`�Z[4[G%cdZ�l/3WD \�EW1/2/3WD/VZ[@�OP4.QR=SA7G�c+@�2 1/E5G%Z�lR6/=SAB2JQR=SA7GË\I@�c+b'@�DJG%D�47Z%lo=�D/2Ô476JG�_ 3WD/2 3WDJV�ZY=�D/2Ò3WD�4[G�A]=�\I4735@�D/Z¢=�cd@�DJVÖ476/G%c9: ~ 6JGZ[4�`�E5GC@�O Z[b'G%\�3�� \�=S4735@�DÔ3¨Zd354[G�AB=S4735j�G�lâ_'G�V�3WD D/3WDJVËQL35476Ïb�=SA7473W=�EoZ[b'G%\�3���\�=S4735@�D/Z+_ =�Z7G%2Ô@�DÜZ7`�Z[4[G%c A7G���1/35A7GI�c+G%D�47Zu=�D/2C\I@�D�473WD�1/3WDJVÓ4[@&E5@�QÙG�AuE5G�j�G%EWZe@�O�A7G���DJG%c+G%D�4e3WDC476JG;OP@�ABc @�O�Z[@�1JAB\IG;@�_ w G%\I47Z�:eM²6/3WEWG#�¸G�47=�!´3WZZ73Wc¢3WEW=SAR4[@d@�476JG�ALZ74[AB1/\I471JA7G%2C2JG%Z735V�D9=�D/2�@�_ w G%\I4x�@�AB3WG%D�4[G%2ËDJ@�47=S4735@�D/Z%l Z735V�D/3 � \�=�D�4â=�2/2 354735@�D/=�E'\�=Sb =S_ 3¨EW354735G%Z=SA7GdZ71/b/b'@�A74[G%2�l�Z71/\]6N=�Z 6/35G�AB=SA]\B6/3W\�=�E Z[b'G%\�3���\�=S4735@�DË@�OÙ_'@�476NZ[@�OP4.QR=SA7G¢=�D/2�6/=SA]2JQh=SABGd\I@�c+b'@�DJG%D�47Z%l^=�D/2=�1J4[@�cd=S473¨\+V�G%DJG�AB=S4735@�D¼@�Oh476/G+V�EW1JGd\I@�2JG+4[@C\I@�c;_ 3WDJG+b/ABG%2JG�� DJG%2�Z[@�OP4.QR=SA7GÓ=�D 2N6/=SAB2JQR=SA7Gd\I@�c+b'@�DJG%D�47Z3WD�4[@d=d\I@�c+b EWG�4[GU=Sb/b EW3¨\�=S4735@�D�:

8 � G�`Ó=�Z[b'G%\I4R@�O^476JG��CG�47=�!ÉE¨=�DJV�1/=SV�G{3WZR3547ZRZ71Jb/b'@�A74ÙOº@�Aâ=�D/=�EW`�Z73¨Zh=S4R476JGuG%=SABE¨35G%Z[4RZ[47=SV�G%Zâ@�O-=Sb b EW3W\�=?�4735@�D�2JG�j�G%E5@�b�c+G%D�4u_ =�Z7G%2�@�D�3WD/Oº@�ABc¢=S4735@�D�ZB1Jb/b EW3WG%2¸_�`CZ[`�Z[4[G%c =SAB\B6 354[G%\I47Z{=S_'@�1J4eGIH�b'G%\I4[G%2�@�A{A7G���1/35A7G%2b/A7@�b'G�A7473WG%Z�lâ_'@�476ÜO½1/D/\I4735@�D =�EL=�D/2ÒGIH�4[AB=?�OP1 D/\I4735@�D/=�E°: ~ 6JG%Z7GCb/A7@�b'G�A7473WG%ZÓ=SA7G�Z71Jb b EW35G%2Ô3¨DÔ476JGËOº@�A]c @�Oª�¶°¶½¬�¦°Á�»J¶.«�§ l�=�D/2¸\I@�D/\IG�ABD�Z7\B6/G%2/1/EW=S_ 3¨EW354.`�l�A7G%EW3¨=S_ 3WEW354�`�l�ZB=SOºG�4�`�lÄ=�D/29Z7G%\�1JAB354�`�:

TÙ=�\B6 �CG�47=�!É@�_ w G%\I4â3WZR2JG�� D/G%2&3¨D¢4[G�ABc¢ZR@�O-3547ZR3WD�4[G�A7O½=�\IGu=�D 2&=�D93¨c+b E5G%c+G%D�47=S4735@�DÓ@�O^476/=S4â3WD�4[G�A7O½=�\IG�:nF_ w G%\I4g3Wc+b EWG%c+G%D�47=S473W@�D/Z \�=�DY_ÄGâ6/3WG�AB=SAB\B6 3W\�=�E°l�\I@�D�47=�3¨D/3WDJVu@�476JG�Ag@�_ w G%\I47Z�=�D/2+\I@�D DJG%\I4735@�D/Zg=�c+@�D/V{476JG%c9:~ 6JABG�GL_ =�Z73¨\��¸G�47=�!ÉEW=�DJV�1/=SV�Gu\I@�D/Z[4[A]1/\I47ZÙ3¨D/\�EW1/2JGâb�=�\ � =SV�G%Z�lJb/A7@�\IG%Z7Z[G%Z�l�=�D/2&=Sb/b EW3¨\�=S4735@�D/Z�:Ø8eDÓGIH�=�cdb E5G

���

Page 25: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

" 35V�1/A7Gd������XL=Sb�3W2JG FAB=Sb�6/3W\�=�E �u35G�Q @�O 476JG�u=�Zu<�47=S4735@�D¸T�H�=�c+b�E5G�:

=Sb/b E¨3W\�=S4735@�DË2JG%Z7\IAB35b 4735@�DC3WZFZ76J@�QLD�3WD�"Ø3WV�1JA7G�� � : 8 4.`�b'G;b�=�\ � =SV�G�l^4.Qh@�b/A7@�\IG%Z7Z[G%Z�l"=�D 2�=�DN=Sb/b�EW3W\�=S4735@�D=SA7GuZ[b'G%\�3��/G%2�: ~ 6JGLV�AB=Sb 6/3W\�=�EÄ2JG%Z7\IA]35b/4735@�Dd3¨Z�Z76J@�QLD&3WD " 35V�1JABGU� < : ~ 6JGF=Sb/b EW3¨\�=S4735@�Dd3WZhZ[b'G%\�3��/G%2d=SOP4[G�Aâ=�EWE@�Og3547ZL\I@�cdbÄ@�D/G%D�47Ze6/=%j�G;_ÄG�G%D�Z[b'G%\�3��/G%2�@�AF6/=%j�G;_ÄG�G%DCb/A7G%2JG���DJG%29=�D/2¸3WD \�EW1/2JG%293WD�476/G;Z[G�4o@�O�=mj?=�3¨EW=S_ E5G\I@�c+b'@�DJG%D�47Z�:g8eDY=Sb/b�EW3W\�=S4735@�D�3WZØ2JG%Z7\IAB35_'G%2�3WD;4[G�ABcdZØ@�O 476JGâZ[@�OP4.QR=SA7Gâ476/=S4g3WZ-4[@{_'GÙ2JG�b�E5@m`�G%2Y@�DY=uZ[b'G%\�3�� \4.`�b'G¢@�Oâ6/=SAB2/Qh=SA7G�: �xD¼476/3WZU\�=�Z[G¢476JG&Z[@�OP4.QR=SA7G&3¨Z =Ccd=�\IAB@Jl =CZ[G�4U@�Oâb/AB@�\IG%Z7Z7G%Z�lØ\�=�E¨E5G%2������������� Äl"=�D/2476JG�6/=SAB2JQR=SA7GU3WZe=�D �[pSq�s � q ��fF:�f � �CT ~ � ��T�a b/A7@�\IG%Z7Z[@�A%:������������� �3WZo=�DË3Wc+b EWG%c+G%D�47=S473W@�D9@�Og476JG��cd=�\IA7@Ë3WD�4[G�A7OP=�\IG�:%�#4U3WZ;\I@�c+b'@�Z[G%2¼@�Oâ4�QÙ@ ©J«I¬�¦°­%¯S¦°¿ b/A7@�\IG%Z7Z[G%Z�l���Ó=�D 2���/:98 bÄG�A]35@�2 3W\�b/A7@�\IG%Z7ZU3WZU@�DJG476/=S4U3¨Z 2/3WZ[b�=S47\B6JG%2N@�DÖ=9A7G�V�1/E¨=SA _ =�Z73WZ%: �#D¼\I@�D�4[AB=�Z[4�lg=�D ª]©J«I¬�¦°­%¯S¦°¿ b/A7@�\IG%Z7Z 3WZ{@�D/Gd476/=S4U3WZU2/3WZ[b =S47\]6JG%21Jb'@�D�A7G%\IG%35j�3WDJV+=�DCG�j�G%D�4eOºA7@�c =�D/@�476JG�ALb/AB@�\IG%Z7Zo@�AL=d6/=SAB2/Qh=SA7G \I@�cdbÄ@�D/G%D�4�:

fh@�cdbÄ@�D/G%D�47Zu2JG%Z7\IA]35_'GUb/A7@�\IG%Z7Z[G%Z%l'6 =SAB2JQR=SA7G�l�3WD ��@�1J4Fb'@�A747Z�l'3WD ��@�1J4FG�j�G%D�47Z%l^=�D/2Ë4.`�b'G%Z�:��#c+b�E5G%c+G%D��47=S4735@�DÂZ[b'G%\�3�� \�=S4735@�D Z{=�D/2à=Sb/b�EW3W\�=S4735@�D¼Z7bÄG%\�3 � \�=S4735@�D/Z =SABG¢2JG�� DJG%2à=�ZUb/ABG%\�3WZ[G%E5`�=�ZU2JG%ZB35A7G%2¼3WD¼4[G�ABcdZ @�O\I@�D/DJG%\I473W@�D/Z;=�cd@�DJV�476/G¢b'@�A747ZU=�D 2¼G�j�G%D�47ZY@�Oo\I@�c+b'@�DJG%D�47Z%lØGIH�G%\�1J4735@�DÖb =S476�Qh=m`�Z%l�=�D/2Ö=S4[4[A]35_ 1J4[G%Z�:%�xD�������� ¸G%=�\]6àb/AB@�\IG%Z7Z{2/G�� DJG%Zu476JA7G�Gd=S4[4[A]35_ 1J4[G%Z�l^476JG¢cd=�\IA7@¸2/G�� DJG%Zu476JG¢\I@�D DJG%\I4735@�D/Z{_'G�4�QÙG�G%DN476/Gd4.Qh@b/A7@�\IG%Z7Z[G%Z%lÙ=�D/2Â476JG¸=Sb/b�EW3W\�=S4735@�DÂ2JG�� DJG%Z+=�DÏ=�2 2/354735@�D/=�Eh=Sb/b E¨3W\�=S4735@�D��.E5G�j�G%ER=S4[4[AB3W_ 1J4[G�Oº@�A+476/G&b A7@�\IG%ZBZ[@�A\�E5@�\ � b'G�AB35@�2�:gnuj�G�A ��q�qYb/A7G%2JG%\�EW=SABG%2&=S4[4[A]35_ 1J4[G%Zâ6/=mj�G{_'G�G%D92JG�� DJG%2&3WD&476JG EW=�DJV�1 =SV�GFOP@�Ao2JG%Z7\IA]35_ 3WDJV;476JG=�EWE5@�QÙG%2�_'G%6/=mj�3W@�AF@�OhZ[@�OP4.QR=SA7Gd=�D/2�6/=SAB2JQR=SA7G+\I@�c+b'@�DJG%D�47Z�: ~ 6/G%Z[G+=S4[4[AB35_ 1J4[G%Zu=SA7G+476/G�b AB3Wcd=SA7`¸Z7@�1JAB\IG@�Og3WDJOP@�ABcd=S4735@�D&OP@�AL=�D/=�E5`�Z[G%ZoZB1Jb/b'@�A74[G%2�_�`,�CG�47=�!U:

� �� �� � $&%('*��$

iFD/3W\I@�D�b/A7@�j�3W2/G%ZØZB1Jb/b'@�A74^OP@�A 476JGâ\I@�c+b'@�Z7354735@�D�@�OÄZ[`�Z74[G%cdZØOºA7@�c�\I@�cdbÄ@�D/G%D�47Z =�D/2+\I@�D/D/G%\I4[@�ABZg3WDY= !xb EW1JV=�D/2Cb EW=%` #¢Z74.`�E5GU@�O�=SAB\]6/354[G%\I473WD/VJ:LK^3 � G�au=SA7QL3WD�l�ieD/3¨\I@�D¸b EW=�\IG%ZeG%c+b 6 =�Z73WZâ@�D�476JG;Z74[AB1/\I471JAB=�E-=�Z[b'G%\I47ZL@�OZ[`�Z[4[G%c 2JG%Z7\IAB35b 4735@�D�: ~ 6JGd@�j�G�AB=�EWEÙ@�_ w G%\I4735j�G%Z�Oº@�A�476JGÓ2/G�j�G%E5@�b c+G%D�4U@�OoiFD/3W\I@�DÂ=SA7G¢4[@Ëb/A7@�j�3¨2JG¢=¸_�=�Z73WZOP@�AFZ[471 2J`�3¨DJVd=¢EW3¨DJV�1/3WZ[473¨\F=Sb b/A7@�=�\B6�4[@�=SAB\B6/3W4[G%\I471JA7G;2/G%Z7\IAB35b/473W@�D¸=�D/2¸4[@&V�=�3WD � DJ@�QLE5G%2JV�G;@�Og476JG;2/G%Z735V�D4[AB=�2JGU@S>'Zo3¨D�j?=SAB3W@�1/ZoZ[`�Z[4[G%c b/AB@�bÄG�AB4735G%Z�:

~ 6/GhEW=�D/V�1/=SV�Go\I@�D�47=�3¨D/ZØOº@�1JA _ =�ZB3W\hG%E5G%c+G%D�47Z �-\I@�c+b'@�DJG%D�47Z�l�\I@�D DJG%\I4[@�ABZ�l�b�EW=%`�G�ABZ%l�=�D/2�A7@�E5G%Z�:�fh@�c+b'@S�DJG%D�47Ze=SABG;Z[b'G%\�3��/G%2¸476JA7@�1JV�6�3WD�4[G�ABOP=�\IG%ZF=�D/2C\I@�D DJG%\I4[@�ABZF=SA7G;Z[b'G%\�3�� G%29476JA7@�1JV�6Cb/A7@�4[@�\I@�EWZ�:Lfh@�c+b'@�DJG%D�4

� �

Page 26: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

START

START

START

START

STARTPRE_PAY

REQUEST PRE_PAY

SCHEDULE REQUEST

ACTIVATE

OKAY SCHEDULE

WALK

TURN_ON

ACTIVATE

OKAY

ON

WALK

TURN_ON

ONREPORT

RESULT

STOP STOP REPORT

GET_REFUND

GET_REFUND

RESULT

STOP STOP

CASH_BACK

REMIT CASH_BACK

CHANGE REMIT

CHANGE

" 35V�1/A7Gd�%r��ÙXe=Sb 3W2JG �Ø@�Z[G�4LOP@�AL=Ó<J3Wc;1 EW=S4735@�D&@�O-476/G�u=�ZF<�47=S4735@�D¸TgHJ=�c+b EWG�:

��r

Page 27: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

�#� � � � �� ������B����� & [� f �9 ��� �h[�#f�� ���#j f �9 � " �#� � �=

�����]����� & [� f �9 ���=

������" �#� � � � �k ��)���B����� & [� f �9 ���= � g��k��kh#h 9 ���h�#j���� 9 " ��� � ��g#������� & [� f �9 ���(*=[�#f������#j f �9 �! f�� 9 " ���#� � ��g#�]����� & [� f �9 ���!*=[+#f�� ���j f �9 �!

����� 9 �

� ��g�� ����� � g��k��kh#h�� i � ���i���������������� 9 � * �k[�� 9 '�� �h����#�#g�� ) �����khh�������� �#����g����f�� i�� " $ � ��� ��h: h�������� 9 ��g������ " $ ��h��k: h�������� �#����g���������� " $�� � � * � �

����� 9 � * �k[�� 9 '��(

������" �#� � � � �k ��)���B����� & [� f �9 ���= � g��k��kh#h 9 �h�#j���� 9 � " ��� � ��g#������� & [� f �9 ���(*=[�#f������#j f �9 �! f�� 9 � " ���#� � ��g#�]����� & [� f �9 ���!*=[+#f�� ���j f �9 �!

����� 9

� ��g�� ����� � g��k��kh#h�� i � ���i���������������� 9 * �k[�� 9 '�� �h����#�#g�� ) �����khh�������� �#����g����f�� i�� " $���� ��h: h�������� 9 ��g������ " $ ��h��k: h�������� �#����g���������� " $�� � * � �

����� 9 * �k[�� 9 '��(

i��k g������h��������!

i��k g�� �=i � ���i������������������ * � [�� 9 '�� �h9 � " � ��g�������� � g��k���h#h 9 � * �k[�� 9 '��( 9 " � ��g�������� � g��k���h#h 9 * �k[�� 9 '��(

����#���k ��������h9 � *-�#j���� 9 (�� 9 * f�� 9 � 9 *-�#j���� 9 � (�� 9 � * f�� 9

�����]� * � [�� 9 '��!

� �%� ��������� ���]� [�� 9 '����hi��k g���� * � [�� 9 '��]��� � g��k���h#h���g [�� ���� � # * # ;��� f�[�����!

���#�#g�� ) ������h[�� ���� � # � # ��k 9 ��g����/� " $������ i�h:

�����\� [�� 9 '��!

"Ø3WV�1JA7Gd� � �&�CG�47=�!�aFG%Z7\IAB35b/473W@�D9Oº@�Au< � � ��K-T � � � �:

� �

Page 28: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

" 35V�1JA7Gd� < � FAB=Sb 6 3W\�=�E�aFG%Z7\IAB35b/473W@�D�@�Og< � � ��K^T¾ieZB3WDJVdaF@ �CTL:

� <

Page 29: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

3WD�4[G�A7O½=�\IG%ZØ=�D 2;\I@�D/D/G%\I4[@�Agb/A7@�4[@�\I@�EWZ-\I@�D�47=�3WD�476JG%35AØ4.`�b'G�l�476JG%35AØc+G%=�D/ZØ@�O 3WD�4[G�AB=�\I4735@�D�QL35476U@�476JG�Ag=SAB\B6 354[G%\��471JAB=�E'G%EWG%c+G%D�47Z%l =�D/29Z[G�47ZL@�O-b/AB@�bÄG�AB4735G%Z�: ~ 6JG�`&=SA7GU=�EWZ[@d=�ZBZ[@�\�3¨=S4[G%29QL35476Cf²E¨=�DJV�1/=SV�G 3Wc+b�E5G%c+G%D�47=S4735@�D/Z�:fh@�c+b'@�DJG%D�47ZLc¢=%`9_'GUb/A]3Wcd354735j�Gu@�Aucd=%`9_'GU\I@�cdbÄ@�ZB354[G;3WD Z[47=�D�473¨=S4735@�D/Zâ@�O�Z[`�Z[4[G%cdZ%:efh@�c+b'@�DJG%D�47ZL3WD�4[G�A[�=�\I4U476/A7@�1JV�6¼476/G%35A b EW=m`�G�ABZ�=�D/2¼\I@�D/DJG%\I4[@�A]Z�3¨D�4[G�AB=�\I4;476JA7@�1JV�6¼A7@�E5G%Z�: ~ 6�1/Z�l^476/G¢b EW=m`�G�ABZU=�D 2¼A7@�E5G%Z;=SA7G476JG�Z[@�1JAB\IG;@�O�3WD�4[G�A]=�\I4735@�DC=�c+@�D/VÓ476JG�\I@�c+b'@�DJG%D�47ZL=�D/2Ë\I@�D/DJG%\I4[@�ABZe@�Og476JG�Z[`�Z74[G%c9: ��A7@�b'G�A7473WG%ZoZ[b'G%\�35OP`=S4[4[AB35_�1J4[G%Z�l/=�Z7Z[G�AB4735@�D/Z�lJ@�AF\I@�D/Z[4[AB=�3WD�47ZâA7G%E¨=S4[G%294[@¢476JG E¨=�DJV�1/=SV�G G%E5G%cdG%D�47Z�:

fh@�cdbÄ@�D/G%D�47Z �P_ 1/4hDJ@�4o\I@�D DJG%\I4[@�ABZ h\�=�D�_'G{2JG�� DJG%2Ó_�`¢476JG{2JG%Z73WV�DJG�A%l�476�1 ZâZ71Jb/b'@�A7473WD/V��/GIHJ35_ 3WEW3W4.`+3WD2JG%Z73WV�D�:-iFD/3W\I@�DUb/A7@mj�3W2JG%Z"_Ä@�476UV�AB=Sb 6/3¨\�=�E�=�D/2U4[GIH�471/=�E�3WD�4[G�A7OP=�\IG%ZØOP@�A-2JG%ZB\IAB35_ 3WD/VR=SA]\B6/354[G%\I471/A7G%Z�l�=�D/2 476/G%Z[G3WD�4[G�A7O½=�\IG%Zâ=SA7GF3¨D�4[G�A[�.\I@�D�j�G�A74735_�E5G�: ~ 6JGeV�AB=Sb 6/3W\�=�EÄ3WD�4[G�A7O½=�\IGu=�E¨E5@mQLZh=Y2JG%Z735V�D/G�AÙ4[@+Z[G%E5G%\I4R\I@�c+b'@�DJG%D�47Zâ=�D/2\I@�D/DJG%\I4[@�A]ZoOPA7@�c b/A7G%2/G�� DJG%29c+G%D�1/Z�:Ù<�@�cdG Z71Jb/b'@�A74â3WZRb/AB@mj�3W2JG%2�OP@�Ae3WD�4[G�A7O½=�\IG \I@�c+b =S4735_ 3¨EW354.`&\B6JG%\ � 3¨DJVJ:

~ 6/G{GIH�=�c+b�E5G{Z76J@mQeD93WD%" 35V�1JA7G+� � 2JG%ZB\IAB35_'G%ZR=¢<�47=�\ � \I@�c+b'@�DJG%D�4 � ��� �:�8�<�47=�\ � 3WZâ=¢\I@�c+b'@�DJG%D�4â@�O4.`�b'Ghfh@�c+b�1J47=S4735@�D�:Ønu476JG�A^b/ABG%2JG�� DJG%2u\I@�c+b'@�DJG%D�4"4.`�b'G%Z^3WD \�EW1/2JG " 3WE54[G�A%l�<�6/=SA7G%2/au=S47=�l�<�G�� " 3WE5G�l ��A7@�\IG%Z7Z�l<�\]6JG%2 ��AB@�\IG%Z7Z%l =�D 2 FG%D/G�AB=�E°: ~ 6JGÓ\I@�c+b'@�DJG%D�4�4.`�bÄG%ZY2JG%ZB\IAB35_'Gd_'G%6/=%j�35@�A%lØO½1/D/\I4735@�D/=�E¨354.`�l b'G�A7OP@�ABcd=�D/\IG\B6 =SAB=�\I4[G�AB3WZ[473¨\�Z�lg=�D/2¼GIH�b'G%\I4[G%2Ö3WD�4[G�AB=�\I4735@�DÖZ[4.`�E5G�: ~ 6JGÓ3WD�4[G�ABOP=�\IG&Z[G%\I4735@�DÖ@�OR=�\I@�c+b'@�DJG%D�4;2JG%Z7\IA]35b/4735@�Dcd=m`&\I@�D�47=�3WDC=+E¨3WZ[4h@�O-b/AB@�bÄG�AB4735G%ZR=�D/2¸=+EW3WZ74Ù@�OØb EW=m`�G�ABZ�:h<�47=�\ � 6/=�ZâDJ@+b/A7@�b'G�A7473WG%ZÙ_�1J4â6/=�ZâOP@�1JAâb EW=m`�G�ABZ�:<�47=�\ � 3WZÙG�j�3¨2JG%D�47EW`d3Wc+b E5G%cdG%D�4[G%2¢476JA7@�1JV�6Ó476JGu1/Z[GF@�O"476JG ![Z[47=�\ � :y\ #¢<�@�1JAB\IG � E5G�:�nF476/G�Ah3Wcdb E5G%c+G%D�47=S4735@�D4.`�b'G%Zo=%jS=�3WEW=S_�E5G =SA7G�nF_ w G%\I4�l T�H�G%\�1/47=S_ E5G�l�nF_ w G%\I47K^3W_/AB=SA7`�l �xD/\�EW1/2/G�l�=�D 29aF=S47=�:

~ 6/GC2JG�� D/3W4735@�DÂ@�O <�47=�\ � 3WZd=ÖZ71J_�\I@�c+b'@�DJG%D�4YOº@�AÓ476JGCXoG�j�G�A]Z[G�A&\I@�cdbÄ@�D/G%D�4d476 =S4¢3WZd2JG%ZB\IAB35_'G%2Ï3WD" 35V�1JA7G¸� � =�ZU=%� EW4[G�A QL6J@�Z[Gd3¨D�4[G�A7O½=�\IG¢6/=�ZU476JA7G�G+b E¨=%`�G�ABZ�: ��47ZU3Wc+b E5G%cdG%D�47=S4735@�DN3¨Z =¸\I@�c+b'@�Z7354[GÓ3Wc+b E5GI�c+G%D�47=S4735@�D¸476 =S4o2JG%Z7\IAB35_'G%ZR476JG 1 Z[G{@�O-476/A7G�G \I@�c+b'@�DJG%D�47Z �PA7G�j�G�ABZ7G�l Z[47=�\ � l�=�D 2¸EW35_�\�=�D/2�@�DJGU\I@�D/D/G%\I4[@�A�½2/=S47=�1/Z7G ]: ~ 6JG&3¨c+b E5G%c+G%D�47=S4735@�D)=�EWZ[@¼\I@�D�47=�3WD/Z+=NE¨3WZ[4�@�Oe\I@�D/DJG%\I473W@�D/Z�l�AB@�E5GI�b EW=m`�G�Ad=�Z7Z[@�\�3W=S4735@�D/Z�lh=�D/2_ 3WD 2/3WDJV�Z�:

� �� �� � ��%(2.7�+

MNAB35V�6�4^3WZ^3WD�4[G%D 2JG%2{4[@ob/AB@mj�3W2JG�=âOP@�ABcd=�E�_�=�Z73WZ�OP@�A-2JG%ZB\IAB35_ 3WD/Vh=�D/2U=�D/=�E5` '%3WDJVoZ[@�OP4.QR=SA7GÙ=SA]\B6/354[G%\I471/A7G%Z�: ~ 6JGb/AB3¨cd=SA7`{@�_ w G%\I4735j�G%Zg@�OÄ476JGâEW=�DJV�1/=SV�Go=SABGh4[@{b A7@mj�3W2JGâ=Fb/AB=�\I473W\�=�EJE¨=�DJV�1/=SV�Gâ476/=S4g3WZg1/ZB=S_ E5Gh4[@ 2JG%Z7\IAB35_'GÙA7G%=�EZ[`�Z[4[G%cdZR_�`dA7G%=�E�Z[`�Z[4[G%c 2JG%ZB35V�DJG�ABZ�l�4[@Y_'GuZ7@�EW3W2/E5`YOP@�1/D/2JG%2Ó@�D9=�476JG�@�A7G�473W\u_�=�Z73WZ�l�4[@+3WD/\�EW1/2/Ge=S_ Z[4[A]=�\I4735@�DOP@�ALZ[`�Z[4[G%c _'G%6/=mj�35@�Ao=�ZLQÙG%E¨E�=�ZLZ[4[AB1 \I471JA7G�l/=�D/294[@¢b/A7@mj�3W2JG{=+_�=�Z73WZROP@�AL2JG%Z7\IAB3W_ 3WDJV�OP=�c¢3WEW35G%ZR@�O Z[`�Z[4[G%cdZ�:

8 MNAB35V�6�4U2JG%ZB\IAB35b/4735@�D�b A7@mj�3W2JG%ZuOP@�A 476JG¢Z7bÄG%\�3 � \�=S4735@�DN@�Oh_'@�476N476JG¢Z[4[A]1/\I471JA7Gd=�D/2¼476JGd_'G%6/=%j�35@�A @�O=ËZ[`�Z74[G%c9: ~ 6/GÓZ[4[AB1 \I471JAB=�EhZ[b'G%\�3�� \�=S4735@�DÖ3WZ;\I@�cdb/AB3WZ[G%2à@�OL=ËZ[G�4;@�Oo\I@�cdbÄ@�D/G%D�47Z�l�=ËZ[G�4�@�OL\I@�D/DJG%\I4[@�A]Z�l=�D/2²476JG¼Z7`�Z[4[G%c \I@�D �/V�1JAB=S473W@�D�: fh@�cdbÄ@�D/G%D�47Z92JG%ZB\IAB35_'GË\I@�cdb 1J47=S4735@�D/Z%lu\I@�D DJG%\I4[@�ABZ¸2JG%ZB\IAB35_'GËcdG%=�D/Z@�OU\I@�c+b'@�DJG%D�4�3WD�4[G�A]=�\I4735@�D�lL=�D/2Ò\I@�D �/V�1/AB=S4735@�D/Z&2JG%Z7\IAB3W_ÄG�6J@mQ 476JG�\I@�c+b'@�DJG%D�47Z&=�D 2¾\I@�D/D/G%\I4[@�ABZ9=SA7G=S4[47=�\B6/G%2�:dT�=�\]6¼\I@�c+b'@�DJG%D�4 6/=�Zu@�DJG+@�A c+@�A7G ©J­S¬�¶P§ 476/=S4{A7G�b/A7G%Z7G%D�4ub'@�3WD�47Ze@�OR3WD�4[G�AB=�\I4735@�DNQe35476Ë@�476JG�A\I@�c+b'@�DJG%D�47Z�:dfh@�D/DJG%\I4[@�ABZU6/=%j�GdZ[b'G%\�3W=�EØb'@�A747Z{\�=�EWEWG%2 ¬[­SÇW«�§ : �#D�4[G�AB=�\I4735@�D�@�\�\�1JABZ{_'G�4�QÙG�G%DN4�QÙ@9@�A;c+@�A7G\I@�c+b'@�DJG%D�47Z�_�`Nb E¨=�\�3WDJVC=Ë\I@�D/DJG%\I4[@�A+_'G�4.QhG�G%DÂ476JG%c =�D/2à_�`à=�Z7Z7@�\�3W=S473¨DJVCG%=�\]6)bÄ@�AB4;3WDÖ=�\I@�c+b'@�DJG%D�4QL354769=dA7@�E5G 3WD�476JG \I@�D DJG%\I4[@�A%:

~ 6/G¸6/35V�6��.E5G�j�G%ERZ[4[A]1/\I471JA7G9@�Ou=¼Z73Wcdb E5G�\�EW35G%D�4x�.Z[G�A7j�G�AdA7G%E¨=S4735@�D/Z76/3WbÂ3WZ+2/G�b 3W\I4[G%2Ô3WD " 35V�1JABG¼�%p�: ~ 6JGMNAB35V�6�4Y2JG%Z7\IAB35b 4735@�D¼@�Oe476JG&\�E¨35G%D�4x�.Z7G�A7j�G�A+3WZ;ZB6J@mQLDÂ3WD " 35V�1JA7GË�%s�: ~ 6/3WZUGIH�=�c+b�E5GÓ3WZ�=�2/=Sb/4[G%2)OPA7@�c =�DGIHJ=�c+b E5G;V�35j�G%DC_�`¸8FEWE5G%D¸=�D/2 u=SABE¨=�D � ���: ~ 6JGU\�EW35G%D�4x�.Z[G�A7j�G�AFGIHJ=�c+b E5G�2JG%Z7\IAB35_'G%Zâ4�QÙ@9\I@�c+b'@�DJG%D�47Z�lÄ@�DJG\I@�D/DJG%\I4[@�Aml�=�D/29=d\I@�D��/V�1JAB=S4735@�D":ÙnuD/E5`Ó476JG _'G%6/=%j�35@�Aâ@�O�fÙ�#<��.\I@�D DJG%\I4[@�Ae3WZâZB6J@mQLDC3WD�476JG��/V�1/A7G�:

MNAB3WV�6�4g_'G%6/=mj�35@�A]=�EJ2JG%Z7\IAB35b 4735@�D/Z =SA7GâV�35j�G%Dd3¨D+={Z71J_ Z[G�4 @�O"fo< �Ø:�fo< �à3WZg=�D+G�j�G%D�4x�_ =�Z[G%2¢Z7bÄG%\�3 � \�=S4735@�DEW=�DJV�1 =SV�GhOP@�Ag2JG%Z7\IAB3W_ 3WDJVL\I@�D \�1JA7A7G%D�4-b A7@�\IG%ZBZ[G%Z � �Sq �: ~ 6JGRZ[`�c;_'@�EWZØ1/Z[G%2Y3WD;476/3WZØZ73Wc+b EWG�GIH�=�cdb E5Gâ2JG%Z7\IAB3W_ÄG\I@�cdc�1/D/3W\�=S473W@�DdG%D�47354735G%Z�_�=�Z73W\â4[@;476JGe2JG%ZB\IAB35b/4735@�Dd@�O'Z7@�Oº4�Qh=SA7GuZ[`�Z[4[G%cdZ�: ~ 6JGLc+G%=�D/3¨DJV @�O'476JG%Z[GFZ[`�c;_'@�EWZ3WZâ=�ZLOº@�EWEW@mQLZ�:

� ��� � �½3¨DJb 1J4o@�b'G�AB=S4[@�A � �¼3WZF=�D�3WD/b 1J4ojS=�EW1JG;Oº@�AFG�j�G%D�4 ��lÄQe6JG�A7G �Y\�=�DË_'GU3WD�4[G�A7b/ABG�4[G%2�=�Zu=&\I@�cY�c�1/D/3¨\�=S4735@�D9\B6/=�D DJG%E°:

� �

Page 30: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

# ��� 9 �-���#f]�����k �[�#f��#j%� & # � [��

f �9 � # ��i � ��������� ���

9 ' & �#j h����k ��������[���j����������k�������� [��� & f 8 j�� , �������� ������ .

��#� h ���k �������9 ' & �#j h����k �h ��i � �� [��]j�����������������

� [��� & f 8 j�� , ���� ����� � � .��#� h ���k �h ��i � �#�9 ' & �#j � ��h�"�[���j�������� �k������

� [��� & f 8 j�� ,���� �"���g � ��� �������� ��� �� .��#� � ��h�"9 ' & �#j � � � [��]j�����������������

� [��� & f 8 j�� ,���� �"���g � � ��� ��������k������ .��#� � � �

��#��[�f��#j%� &�# �

[�� 9 '��#����f & f�[/�-\[��; & j�[ & f h ���k [+����=h ���k �*} ��

[�� 9 '�f �9 � , �#����g����.��#� h ���k

��#��[�� 9 '��#����#f & f�[-�/��#�\�����k

" 35V�1/A7Gd� � ��iFD/3W\I@�D¸aFG%Z7\IAB3Wb/4735@�D�@�O�<�47=�\ � � ��� �:

� �

Page 31: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

# ��� 9 �/���#fBj��)����g�h���g��[�#f��#j*� & # �\[��

f �9 ������������g

9 ' & �#j���� � ��� [�� ���#g��#��iL[��� [��� & f 8 j�� ,����}�k����� �� .9 ��j#f*��[�#��[��� , h ������� .

���G��� � ���9 ' & �#j\����� � ��� [��]���#g��#��i ���#�

� [��� & f 8 j�� ,����}�k����� �� .9 ��j#f*��[�#��[��� , h ���������.

��� ���#� � ���9 ' & �#j\��g#g���g [�� ���#g��#��i �����

� [��� & f 8 j�� ,����}�k����� �� .9 ��j#f*��[�#��[��� , h ������g#g.

��� ��gg���g��#��[�#f��j%� & # �

[�� 9 '������#f & f�[/�/][��***

8 �/��� h ���k �[�f��#j%� &�# �]������ ***

# �-��� # f�g�������g�h��!* � � ) f����#��������h��!* ��h���g***

����f & ��'�[ � %�# � � g��k�������#� [�f %g�������g h��!*}h ���k ������� & � ��#�#���gh ���k �*}h ���k � ����� & � �����������g

��� # � � g��k�������#�***

��[+#�\����� � �#� f�� & �k��f#j &�# f�[/�/� & 9 ��f�� , g�������g h��!* � � g��������.

��� ���#� � �����#��[�� 9 '��#����#f & f�[/�/

��� j�������g�h���g

" 35V�1JA7Gd� � �hieD 3W\I@�D9aFG%Z7\IAB35b/473W@�D9@�OØXLG�j�G�ABZ[G�A � ��� �:

request

Client

provide

ServerC−S−connector

Client Server

" 35V�1JA7Gd�%p��Ù8�<J3Wc+b E5G fREW3WG%D�4x�#<�G�ABj�G�AoXoG%EW=S4735@�D Z76/35b":

��p

Page 32: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

����� ��I � � � i � ������ 6 ��� ??IR ��� �!� JNI#J� ���g%����g

� � 4�� � g��)������� ��� �������������� ��������� 2� � I � ������������� �!"�#�$�%&�$��' �#���)( 2

R ��� �!� JNI#J� # �k�������� � 4�� g��*���k�kh �����*�$+-,��)�*�.���� ��������� 2� � I � �#/&���#��(��0�!"�#�$�%&�$��' �#���)( 2

R � JNJNI � � � 4 # �� ������#�k�k�����g4 � ?bI # �k� ����� $21�y�3�4�y�5!687 qew91 y�5:4*;<6>=!? w *@;a:%y-A�6�BDC4 � ?bI �#��g*����g $\:EA�F#C)G�y�= qew91 y-6H4I1�A"7 ? w ^ y-1�F#y:1 CJ ?LKLI\$�*@;a:%y-A�6 � 1�y�3�4�y�5!6>= q5w ^ y-1�F#y:1 � :MA�FC)G�y�7 q

w ^ y-1�F#y:1 � 1 y-6H4I1�A�=:? w *@;?:%y:A�6 � 1 y�5!4�;N687 ?Tw J ?<KNI CO J � �>6�J � I �h " �#��g%����g " # ���������#h " # ��� �������k�k ����g

3 � �+6 ��P:� IJ� �h * � g��������#���kh #h *}h���g%����g! *%g��*���k�kh��]�kh #h *}����������!

I#JNK � 3 � � ?bI ��� 6 ��� ??I*Q

"Ø3WV�1JA7G+�%s���MNAB3WV�6�4LaFG%Z7\IA]35b/4735@�D�@�O�<�3Wcdb E5G fREW35G%D�4x�#<�G�A7j�G�A � ���:

� ��R � �P@�1J4[b 1J4¢@�bÄG�A]=S4[@�A � �Ï3WZ¢=�DÜ@�1J4[b 1J4+jS=�EW1JGCOº@�AÓG�j�G%D�4 ��lâQL6JG�ABG���\�=�DÜ_'GC3WD�4[G�A7b/A7G�4[G%2Ô=�Z&=\I@�c¢c;1/D 3W\�=S4735@�D¸\]6/=�D/DJG%E°:

� � . � �Pb A7G��JHJ3WDJVY@�b'G�AB=S4[@�A � =¢b/A7@�\IG%Z7ZRG%DJV�=SV�G%ZF3WD�G�j�G%D�4 �U=�D 29_'G%\I@�c+G%Zâb/A7@�\IG%Z7Z �d:

� �TS � �½2JG%\�3WZ735@�D�@�b'G�AB=S4[@�A � =db/AB@�\IG%Z7ZeDJ@�D/2JG�4[G�A]cd3WD/3WZ7473W\�=�EWE5`+_'G%6/=mj�G%ZLEW3 � G{b A7@�\IG%ZBZ � @�ALb/A7@�\IG%Z7Z� :

� � � �½=�E54[G�A]D/=S4735j�GY@�b'G�AB=S4[@�A � =&b/A7@�\IG%Z7ZF_'G%6/=%j�G%ZuEW3 � GUb/A7@�\IG%Z7Z �´@�AFb A7@�\IG%ZBZ � QL3W476C476JGY\B6/@�3W\IGc¢=�2JG _�`Ó@�476JG�Aeb/A7@�\IG%Z7Z[G%Zâ476 =S4L3WD�4[G�AB=�\I4oQL35476�476/G{b/A7@�\IG%Z7Z�:

�VU � �P4[G�ABc¢3WD/=S4735@�D9@�b'G�AB=S4[@�A R=Yb/A7@�\IG%Z7Zo3WZL=S_ E5G{4[@d4[G�ABc¢3WD/=S4[G�:

8²DJ@�4735@�D¢@�O'\I@�D Z73WZ[4[G%D/\I`+3WZ�3WD�4[AB@�2/1 \IG%2Yj�3W=U={_'G%6/=%j�35@�AB=�EJG���1/35jS=�E5G%D/\IGâ_'G�4�QÙG�G%DÓ476JGFfo< �à=SV�G%D�47ZÙ2JG%ZB\IAB35_J�3WDJV+476/G Z[G%cd=�D�473W\�Zo@�O \I@�A7A7G%Z[b'@�D/2 3WDJVYb'@�A747Zâ=�D/29A7@�EWG%Z�:�xD{476JGh\�EW35G%D�4x�.Z[G�A7j�G�A^GIHJ=�c+b EWG�l�476JGÙ\�EW35G%D�4"Z[G%D/2/Z"=LA7G���1JG%Z[4"QL3W476{2/=S47=oG%E5G%cdG%D�46�U476/=S4-b/A7@�2/1/\IG%Z"=âABG%Z71/E54

QL35476Ó2/=S47= G%EWG%c+G%D�4 �Ä: khG%\�=�1/Z7Ge476JGe@�b'G�AB=S4[@�AWSË3WZÙ1/Z[G%2�l�476JGe\�EW3WG%D�4h3547Z[G%E5O'\B6J@�@�Z[G%Z�lJDJ@�D 2JG�4[G�ABcd3WD 3WZ[473W\�=�EWEW`�lQL6JG�476/G�A&4[@ÏABG�bÄG%=S49476/GËb A7@�\IG%ZBZ�@�A94[@Ï4[G�ABcd3WD/=S4[G�: nuDÒ476JG�@�476JG�AC6/=�D 2�lo476JGN@�b'G�AB=S4[@�A =Sb/b'G%=SAB3WDJV3WDN476/GÓ2JG%\�EW=SA]=S4735@�Dà@�Oe<�G�A7j�G�A;Z[47=S4[G%Z�476/=S4�476JG&2JG�4[G�ABcd3WD =S4735@�DN@�OâQL6JG�476/G�A;354�3WZ A7G�b'G%=S4[G%2/EW`�3¨D�j�@ � G%2Ö@�A4[G�ABcd3¨D/=S4[G%2�3WZec¢=�2JGY_�`¸@�476/G�A{b/A7@�\IG%Z7Z[G%Zu3WDË3547ZFG%D�j�35A7@�D/cdG%D�4�l�D/=�c+G%EW`ËfREW35G%D�4�: ~ 6JG�V�EW1JGY2JG%Z7\IAB35_'G%Ze476JG=�EWE5@�QÙG%2�Z[G���1JG%D/\IGY@�OÙG�j�G%D�47Z{_'G�4�QÙG�G%DàfRE¨35G%D�4u=�D/2¼<�G�A7j�G�Am: ��O�476/GY\�E¨35G%D�4ucd= � G%Z =&A7G���1JG%Z[4F@�O�476/GYZ7G�A7j�G�A354FGIH�b'G%\I47Z{=&A7G%Z71 E54e4[@�_'G�A7G�471JABDJG%2": 8LOP4[G�A{476JGY\�EW35G%D�4FABG%\IG%35j�G%Zu476JGYA7G%Z71/EW4e354{2JG%\�3W2/G%ZeQe6JG�476JG�Au4[@9cd= � G=�DJ@�476JG�A;A7G���1JG%Z[4 @�A 4[@�4[G�ABcd3WD =S4[G+476JG¢Z[G%Z7ZB35@�D�: ~ 6/GdZ[G�A7j�G�AUQe3WEWEØb/A7@�j�3W2/G+A7G%Z71/E547Z{=�Z;E5@�DJVC=�Z 476JG¢\�EW35G%D�4cd= � G%ZLA7G���1/G%Z[47Z�:

��s

Page 33: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

system

connector role

component portconnector

component

representation

Representation map

" 35V�1JA7G��Sq �â<�G�j�G%D¸TÙE5G%c+G%D�47Zâ@�Og=�D¸8e\�cdGU8LA]\B6/354[G%\I471/A7G�:

� �� �� / ' ���

~ 6JG92JG�j�G%EW@�b c+G%D�4d@�OF8FauK^Zd3¨Z+Z[473WEWER=S4¢=�b'@�3WD�4YQL6JG�A7G�476JG�A7G¸3¨Z+=NV�G%DJG�AB=�EoE¨=�\ � @�OF=SV�A7G�G%cdG%D�4Ó@�DÏ476JGO½1/EWE�Z[G�4e@�O�EW3WDJV�1/3¨Z[473W\F\I@�D/\IG�b/47ZFA7G���1/35A7G%2�4[@�2JG%Z7\IAB3W_ÄG Z7@�Oº4�Qh=SA7GY=SAB\]6/354[G%\I471JA7G%Z%:R�eG�j�G�A7476JG%EWG%Z7Z�lÄ476JG�A7G;3¨Zo=�DG%c+G�A7V�3¨DJV+\I@�D/Z[G%D/Z71 ZÙ@�D�=+\I@�A7G{Z[G�4â@�OØ\I@�D/\IG�b/47ZR476/=S4âb AB3Wcd=SAB3¨E5`�6 =%j�G{4[@d2J@�QL35476&476JG{Z[4[AB1 \I471JAB=�E'=�Z[b'G%\I47Z@�O�Z[@�OP4.QR=SA7Gd=SAB\]6/354[G%\I471JABG%Z�: ~ 6/3WZF3WZ ��1/3W4[G;G�j�3W2JG%D�4eG�j�G%DËOPA7@�c 476JG�_/AB35G�OgA7G�j�35G�QÞ@�O�476JG �/j�G+8FaFK-ZFV�35j�G%D=S_'@mj�G�:

XLG%\I@�V�D/3�'%3WDJVu476/3¨Z^G%c+G�ABV�3WDJV{\I@�D/Z[G%D/ZB1/Z�l�476JGâ2JG%Z73WV�DJG�ABZ-@�O 476JGâ8F\�c+GâEW=�DJV�1/=SV�Gâ=SA7Go=S4[4[G%c+b 473WDJVu4[@uA7G�bJ�A7G%Z[G%D�4â=Y1/Z[G�O½1/E 3WD�4[G�ABZ[G%\I473W@�DÓ@�O-GIH�3¨Z[473WDJV�8eauK^Zâ=�ZR=Yc+G%=�D/Zh4[@+Z71Jb bÄ@�AB4ÙZ[@�c+G{2JG�V�ABG�GF@�O-3WD�4[G�AB@�bÄG�A]=S_ 3WEW354�`=�c+@�DJV;476JG%35Ah=�Z7Z[@�\�3W=S4[G%2&4[@�@�EWZ � � � �:g8F2/2/354735@�D =�EJV�@�=�EWZÙOº@�Ah476JGeE¨=�DJV�1/=SV�Ge3¨D/\�EW1/2JGâb A7@mj�3W2/3WD/V =U2JG%Z7\IA]35b/4735j�GZ[47=�D/2 =SAB2¸OP@�Ae=SAB\]6/354[G%\I471JA]=�E^4[@�@�EWZ�lÄ=�Z7Z73WZ[47=�D \IGU3WD¸476/GU2JG�j�G%E5@�b cdG%D�4e@�O�DJG�QÉ8FauK^Z�lÄ=�D/2C=ÓEW=�DJV�1/=SV�G;476/=S43WZâ=�\�\IG%Z7ZB35_ E5G 4[@Óc+@�Z[4oZ[`�Z[4[G%c 2/G�j�G%E5@�b'G�ABZ�:

~ 6/GuE¨=�DJV�1/=SV�G{b/A7@�j�3¨2JG%ZRZ[G�j�G%D9_ =�Z73¨\F\I@�D Z[4[AB1/\I47ZROP@�AL2JG%Z7\IA]35_ 3WDJV�Z[@�OP4.QR=SA7G =SAB\B6 354[G%\I471JA7G%Z�� " 35V�1/A7G �Sq ]:

��� È�§I¶.«I· � 2JG%Z7\IAB35_'G%Zâ476/G \I@�D �/V�1JAB=S473W@�D9@�O-476/GU\I@�c+b'@�DJG%D�47Zo=�D/2¸\I@�D/D/G%\I4[@�ABZ�:

��� ­�·L©J­S±Ä«I±�¶ � A7G�b/A7G%Z[G%D�47Ze476JG b/AB3¨cd=SA7`Ó\I@�cdb 1J47=S4735@�D/=�E"G%E5G%c+G%D�47Zo=�D/2¸2/=S47=¢Z[4[@�A7G%Zo@�O =dZ[`�Z[4[G%c9:

��� ­�·L©J­S±Ä«I±�¶'©�­S¬I¶ � 3W2JG%D�473��/G%ZR=UbÄ@�3¨D�4Ù@�O"3WD�4[G�A]=�\I4735@�D¢_'G�4�QÙG�G%D�=�\I@�c+b'@�DJG%D�4R=�D/2Ó3547Z�G%D�j�35A7@�D/c+G%D�4�:

��� ­�±/±Ä«7¿m¶­S¬ � A7G�b/A7G%Z7G%D�47Ze476JGUc+G%=�D Zâ@�OØ3¨D�4[G�AB=�\I473W@�DC=�c+@�DJVÓ\I@�c+b'@�DJG%D�47Z%:

��� ­�±/±Ä«7¿m¶­S¬�¬x­SÇW«�� 2JG�� D/G%Zo=+b =SA7473¨\�35b =�D�4h@�O 476JG 3¨D�4[G�AB=�\I473W@�D¸A7G�b/ABG%Z[G%D�4[G%2¸_�`�=d\I@�D/DJG%\I4[@�Am:

��� «�©�¬7«�§%«I± ¶ª�¶½¦°­S±�� A7G�b/ABG%Z[G%D�47Zu6/3WG�AB=SAB\B6 3W\�=�E�=SAB\B6 354[G%\I471JAB=�E-2JG%Z7\IAB35b 4735@�D/Z�:

��� «�©�¬7«�§%«I± ¶ª�¶½¦°­S±�·dª]©�� =;cd=Sb b 3WDJV OPA7@�c = A7G�b A7G%Z[G%D�47=S4735@�D$yZh3WD�4[G�ABOP=�\IGF4[@;476 =S4Ù@�O�476JGuZ[`�Z[4[G%c \I@�cY�b'@�DJG%D�4â@�Ae\I@�D DJG%\I4[@�AL476/=S4e354âA7G�b/A7G%Z7G%D�47Z�:

rSq

Page 34: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

~ @àZ[@�c+G¸GIH�4[G%D�4�lh476/GCZ[G�j�G%DÔ_�=�Z73W\�8e\�cdG�\I@�D/Z[4[A]1/\I47ZdZ[G�A7j�G�=�Z¢= ![E5G%=�Z74x�.\I@�cdc+@�DÜ2/G%DJ@�cd3WD/=S4[@�A #N=�D/2�l476JG�A7G�OP@�A7G�luZ[@�c+G¼3WcdbÄ@�AB47=�D�4�EW=�DJV�1/=SV�GI�.Z7bÄG%\�3 � \�\I@�D/\IG�b/47Z¸\�=�D/D/@�49_ÄG�2/35ABG%\I47E5`ÔA7G�b/ABG%Z[G%D�4[G%2":´8FZ9c+G%D��4735@�DJG%2�=S_'@mj�G�lÄ476JG @�AB35G%D�47=S4735@�DC@�Og476JGU\I@�D/Z[4[A]1/\I47Ze3¨Zâ4[@mQR=SAB2ËZ[4[AB1/\I471JABG�l�Z[@d476/G;cd3WZBZ73WDJV+\I@�D/\IG�b/47ZF\IG%D�4[G�A@�DÂ_'G%6/=%j�35@�A%:¼8FD)=�2/2/354735@�D =�E�8F\�c+G9\I@�D/Z[4[AB1/\I4�l � ¬[­]©J«I¬I¶½¦«�§ lR=�EWE5@�QLZY=�D)=SAB\B6/3W4[G%\I4 �P@�AY2/G�j�G%E5@�b'G�A�@�OF=�D8FaFK"�4[@S�.8e\�cdG;4[AB=�D Z7EW=S4[@�A h4[@Ó2JG%Z7\IAB35_'Gub/A7@�b'G�A7473WG%ZR476/=S4Lcd=m`9_ÄG{1/Z7G�OP1/E'OP@�Ae=�D =�E5`�ZB3WZRb 1JA7b'@�Z[G%Z%l�_�1J4oDJ@�4A7G�b/ABG%Z[G%D�47=S_�E5Go1/Z73WD/Ve476JGâ@�476/G�A�\I@�D/Z[4[AB1 \I47Z�:g8eZ�=�DdGIH�=�c+b�E5G�l�35O�@�DJGâQL3WZ76/G%Z-4[@;1/Z[Gâ8eE¨=�2/2/3WD � < � �/4[@ ABG%=�Z[@�D=S_'@�1J4o476JG�2JG�b'G%D/2JG%D/\�3WG%Zâ3WD¸=¢Z7`�Z[4[G%c¸l�=+b =S476Cb/A7@�b'G�A74�`�\�=�D�_'G Z[b'G%\�3��/G%294[@&3WD/2/3¨\�=S4[G{476JG;=S_ 3¨EW354.`&@�Og=�D3WDJb�1J4Ù4[@&\I@�D�4[A]35_ 1J4[G{4[@d476/G Z[473Wc�1/EW=S4735@�D�@�Og=�D9@�1J4[b�1J4o3WD9Z[@�c+GUQh=m`�:

u=SA]EW=�Dà=�D/2¼M¼=�DJV�3WD�j�G%Z[4735V�=S4[G%2Ö476JG¢1 Z[Gd@�Oâ8e\�cdGÓ=�ZU=�DÖ=SAB\B6 354[G%\I471JA7G&3WD�4[G�A]\B6/=�DJV�G&EW=�DJV�1/=SV�G � � � �:~ 6JG{b�1JA7b'@�Z[Gu@�O 476JG%35AL\�=�Z[G�Z[471/2J`ÓQh=�Ze4[@¢3WD�j�G%Z[4735V�=S4[G;476JG OPG%=�Z735_ 3¨EW354.`¢@�O \I@�c;_ 3WD 3WDJVY476JGU3WD 2/35j�3W2/1/=�E�=�D/=?�E5`�473W\�=�EÄZ[4[A7G%DJV�476/Zh@�O^8eG%Z[@�b"l�MNAB3WV�6�4�l/=�D/2&XL=Sb�3W2JGe3¨D¢@�AB2/G�Ah4[@Yb/AB@mj�3W2JGe=�jS=SAB35G�4�`d@�O^=�D/=�E5`�Z73WZh\�=Sb =S_ 3¨EW354735G%Z3WD¢@�DJGLG%D�j�3WA7@�D/c+G%D�4�:g8LG%Z[@�b&b/A7@�j�3¨2JG%Z�=�D/=�EW`�Z73¨Z�@�O"=SAB\]6/354[G%\I471JAB=�EÄZ[4�`�E5G%Z%l�MNAB3WV�6�4Ùb/A7@mj�3W2JG%ZÙZ[47=S473W\e=�D/=�E5`�Z73WZ4[G%\B6 D/3 ��1JG%ZLOP@�Aub/A7@�j�3WD/V¢b/A7@�b'G�A7473WG%Z�l�=�D/2ËXL=Sb�3W2JGUb A7@mj�3W2JG%ZeOº@�AuZ73Wc�1/EW=S473W@�DC=�D/2Ë2J`�D/=�cd3W\;=�D/=�E5`�Z73WZ�:Lau35Oº�� \�1/EW4735G%ZRQÙG�ABG G%D/\I@�1/D�4[G�A7G%2C3¨D�j�@�E5j�3WDJV+2/35>ÄG�A7G%D \IG%Zo3WD¸Z[4[A]1/\I471JAB=�E'A7G�b A7G%Z[G%D�47=S4735@�DC=�ZâQhG%EWE"=�ZeZ[G%cd=�D�473W\�Zo@�O476JGUE¨=�DJV�1/=SV�G%Z�:ÙMÒ6/3¨E5G 8e\�cdG�l�8eG%Z[@�b"l =�D/2¸MNAB35V�6�4LZ76/=SA7G;Z73Wcd3WE¨=SARZ7G%cd=�D�473¨\�Z�l�2/3 �¢\�1/E54735G%ZR=SA7@�Z7G _'G�4.QhG�G%D476JG%Z[GFEW=�DJV�1/=SV�G%Zh=�D/2ÓXL=Sb 3W2/G�: 8Fc+@�DJVU476JG%Z[Gu2/3×>'G�A7G%D/\IGL3WZ�EW=�\ � @�O"Z71/b/b'@�A74gOº@�AR2JG�� D 3WDJV{\I@�D/DJG%\I4[@�AR4.`�b'G%Z3WDdXe=Sb 3W2JGo=�D 2+476JGLEW=�\ � @�O�Z71Jb/b'@�A74 OP@�AÙ2J`�D/=�cd3W\R=�2/2 354735@�Dd=�D/2¢2JG%E5G�4735@�D+@�O�\I@�c+b'@�DJG%D�47Z�3¨D+MNAB35V�6�4�: ~ 6JG=�1J476J@�A]Ze\I@�D/\�E¨1/2JG%2�476/=S4{354LQh@�1/EW2�DJ@�4u_ÄG;b'@�Z7Z735_ EWG{4[@�=�\]6/35G�j�GY4[@�47=�E 3WD�4[G�AB\B6/=�D/V�G�_'G�4�QÙG�G%DËMNAB35V�6�4{=�D/2XL=Sb�3W2JG�: ~ 6JG�`&\B6J@�Z[G{4[@d\I@�D \IG%D�4[AB=S4[GU476JG%35ARGI>Ä@�AB47Zâ@�D�3WD/\�EW1/2 3WDJVU=�ZâEW=SABV�Gu=+ZB1J_ Z[G�4h@�O^476JG{OPG%=S471JA7G%ZR@�OØ=�EWE476JA7G�GeEW=�DJV�1/=SV�G%ZÙ=�Z�b'@�Z7Z735_�E5G�: ~ @U2J@ 476 3WZg476JG�`+EW3Wc¢354[G%2�476JGo4.`�b'G%Z�@�O�Z[`�Z[4[G%cdZ�476/=S4�Qh@�1/EW2+_'Go=Sb/b/AB@�b/AB3W=S4[GOP@�AR3¨D�4[G�AB\]6/=�DJV�G�l/\IA7G%=S4[G%2C=;Z[G%c¢=�D�473W\��_�=�Z[G%2�4[AB=�D/Z7E¨=S4[@�Aâ4[@Yc¢=Sb&MNA]35V�6�4âZ[b'G%\�3���\�=S4735@�D/Zh3WD�4[@+Xe=Sb 3W2JG�l�_ 1J42/3W2CDJ@�4F=S4[4[G%cdb/4e4[@�\IA7G%=S4[G+=¢Xe=Sb 3W2JGU4[@ÓMNAB3WV�6�4F4[AB=�D/Z7E¨=S4735@�D�: ~ 6JG;=�1J476J@�ABZF\I@�D/\�EW1/2/GU476/=S4FQL6/3WEWG{476JG�A7GA7G%cd=�3¨DÖcd=�D�`Ö\]6/=�EWE5G%D/V�G%Z�3¨Dà476/3¨Z�=SABG%=�@�OeA7G%Z[G%=SAB\]6�l�=SAB\]6/354[G%\I471JABG�3¨D�4[G�AB\]6/=�DJV�G9_ =�Z7G%2Ö@�D)8F\�c+G9Z76J@�QLZb/A7@�c¢3WZ[G�:

� ����� � � � �� ��� � �$� � � ��� � � ��� � �� � � ��� ��� ����� �

"J@�ABc¢=�E�Z[@�OP4.QR=SA7Gu=SAB\B6 354[G%\I471JA7GF2JG%Z7\IAB35b 4735@�DdEW=�DJV�1 =SV�G%ZÙ=�EWEW@mQÜ@�D/GL4[@UABG%=�Z[@�DÓ=S_'@�1J4ÙOP1 D/\I4735@�D/=�E/=�D 2dGIH�4[AB=?�O½1/D/\I4735@�D/=�E�b/A7@�b'G�A74735G%Z{@�OâZ[@�OP4.QR=SA7G�Z[`�Z[4[G%cdZ G%=SA]E5`N3WDN476JG&Z[@�Oº4�Qh=SABG&EW3WOºGd\I`�\�E5GÓ=�ZUQÙG%E¨E�=�ZU=S4�6/35V�6¼EWG�j�G%EWZ@�Og=S_ Z[4[AB=�\I473W@�D�:hXLG%Z[G%=SAB\]6�3WDC=SAB\B6/3W4[G%\I471JAB=�E^=�D =�E5`�ZB3WZo\IG%D�4[G�ABZL@�D�2JG�4[G�ABcd3¨D/3WDJVYQL6/3¨\B6¸Z[b'G%\�3���\ub/A7@�b'G�A74735G%Z=SA7G{=Sb/b/AB@�b/AB3W=S4[GeOº@�AR476/3WZhE5G�j�G%EÄ@�O^=�D/=�EW`�Z73¨Z�l�=�D 2¢@�D�2JG�j�G%E5@�b�3WDJV�4[G%\B6/D/3 ��1JG%Zh4[@+\�=SA7A7`¢@�1J4Ù476/@�Z[G{=�D/=�E5`�Z[G%Z�:~ 6JGâb A7G%cd3WZ[Gâ1/D 2JG�ABE5`�3WDJVe476/3WZ Qh@�A � 3WZ 476/=S4�476JGo\I@�D�� 2JG%D/\IGoV�=�3¨DJG%2Y476JA7@�1JV�6¢=�D/=�E5`�Z73WZg=S4�=�Dd=SA]\B6/354[G%\I471/AB=�EE5G�j�G%E�Qe3WEWEÄ4[AB=�D/Z7E¨=S4[G 3WD�4[@Ó\I@�D � 2JG%D/\IG 3¨D�@�476JG�AeE5G�j�G%E¨Zâ@�O-476/GUZ[`�Z[4[G%c9:��=�D�`Ö4[G%\B6/D 3 ��1/G%Z;OP@�A+=�D/=�E5` '%3WDJV�Z[@�OP4.QR=SA7G9Z[`�Z74[G%cdZ+6/=%j�G�_'G�G%D)2JG�j�G%E5@�b'G%2Â@mj�G�A+476JG�b =�Z74�2JG%\�=�2/G%Z�:

�C@�Z[4�lÄ6/@mQhG�j�G�A%lÄ=SABGU3WDJGI>'G%\I4735j�GUOP@�Ae=�D =�E5` '%3¨DJVdEW=SA7V�G�Z[`�Z74[G%cdZ�: ~ 6/3WZâ3WZLb =SA7473W\�1 EW=SABE5`d4[A]1JG OP@�AL4[G%\B6 D/3 ��1JG%Z=�3Wc+G%2Ö=S4;=�D/=�EW` '%3WD/V¸\I@�D/\�1JA7A7G%D�4;Z7`�Z[4[G%c¢Z�l-Qe6JG�A7GdZ[47=S4[G&GIH�b�E5@�Z735@�DNb A7@�_ E5G%cdZU=SA7GdG%Z[b'G%\�3W=�EWEW`Ë=�\�1J4[G�: ~ @cd= � GF476JG%c c+@�A7GF4[AB=�\I47=S_ E5G�l�4[AB=�2/3W4735@�D/=�E/Z[b'G%\�3���\�=S4735@�D¢=�D/2&=�D/=�E5`�Z73WZ�4[G%\B6/D 3 ��1/G%Z�6/=mj�GF_'G�G%D¢G%D/6/=�D/\IG%2&3WD=�j?=SA]35G�4.`Ó@�O^QR=%`�Z�:h<�@�OP4.QR=SA7G =SAB\]6/354[G%\I471JA7G{\�=�D�_'GuZ[G�G%D�=�Zâ=�DJ@�476JG�Ao=Sb/b/AB@�=�\B6�4[@+=S4[47=�\ � 3WDJVd476/GFb A7@�_ E5G%c_�`Ób/AB@mj�3W2/3WDJV+=Yb =SAB473W\�1/EW=SAoc+G�476/@�29OP@�AL=S_ Z74[AB=�\I4735@�D¸=�D/2Cc+@�2 1/EW=SAB3�'%=S473W@�D�:

8F1J4[@�cd=S4[G%2Ó=�D/=�E5`�Z73WZ 4[G%\B6 D/3 ��1JG%Z�\�=�Dd2/35>ÄG�A�3WDY476/GoE5G�j�G%EWZg@�O'=�Z7Z71JA]=�D/\IGâ476JG�`Yb/A7@�j�3W2/G�: �xDYV�G%DJG�AB=�E°l�476JG4[G%\B6 D/3 ��1JG%Z 4[AB=�2/G¢@S>ÔG �¢\�35G%D \I`¼=�D/2¼4[AB=�\I47=S_�3WEW354�`�=SV�=�3¨D/Z[4Ub A7G%\�3WZ735@�Dà=�D/2à\I@�c+b�E5G�4[G%DJG%Z7Z�: "/@�A�3WD Z[47=�D/\IG�l354¢c¢=%`Ï_'G¸b'@�Z7Z735_�E5G�4[@àV�1/=SAB=�D�4[G�G�Z[@�c+GCb A7@�b'G�A74735G%Z+@�D/EW`)1 D/2JG�A¢\IG�A747=�3¨DÜ=�Z7Z71 c+b/4735@�D/Zd@�AÓ\I@�D/2/3W4735@�D/Z�:fR=SA7G�O½1/EWEW`Ó\B6/@�Z[G%D�lÄ476J@�Z[G;=�ZBZ71/c+b/473W@�D/Zo=�D/2�\I@�D/2/354735@�D Zo\�=�D�c¢=S47\B6ËQÙG%E¨E�QL35476C476JG;\I@�D�4[GIH�4u3WD9Qe6/3W\B6C476JGZ[`�Z[4[G%c 3¨Zâ=�D�473W\�3Wb =S4[G%294[@d@�b'G�AB=S4[G�lÄ=�D/2�476�1 Zâ476JGU=�D/=�EW`�Z73¨Zâ\�=�D9b/A7@�j�3W2/G 1/Z[G�O½1/E�3WDJOP@�ABcd=S4735@�D":

8 2JG%ZB35AB=S_ E5GÓ\B6/=SAB=�\I4[G�A]3WZ[473W\¢@�OL=�D�`¼3¨c+b/A7G%\�3WZ7G+@�A�3WD \I@�c+b E5G�4[G&=�D/=�E5`�Z73WZ{4[G%\]6/D/3 ��1JGÓ1 Z[G%2¼4[@ËGIH�=�c¢3WDJG=Nb/AB@�bÄG�AB4.`Ö3¨Z+476/=S4d354+V�35j�G�DJ@NOP=�E¨Z[G9b'@�Z7354735j�G�A7G%Z71 E547Z+\I@�D/\IG�ABD/3¨DJVN476/=S4db/AB@�bÄG�AB4.`�: �xD)@�476JG�A¢Qh@�AB2/Z�lh354Z76J@�1 EW2¼DJG�j�G�AY3WD/2/3¨\�=S4[Gd476JGÓ=S_�Z[G%D/\IG¢@�Oo=Cb/A7@�_ EWG%c QL6JG%D�l 3WDNO½=�\I4�lg476JG�A7G&3WZ =�b/A7@�_ EWG%c9:9n{D¼476JGÓ@�476JG�A

r��

Page 35: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

6/=�D/2"lÄ354u3WZFA7G%=�Z[@�D =S_ E5G�4[@�=�E¨E5@mQ�=&4[G%\B6/D 3 ��1/G;4[@93WD/2 3W\�=S4[G;476/G;b'@�Z7Z73W_ E5G b/ABG%Z[G%D/\IGY@�O�=&b/A7@�_ EWG%c9l�G�j�G%DN3WODJ@�DJG{4[A]1/E5`¢GIHJ3WZ[47Z%l =�D/292JG�OPG�ALO½1JA7476JG�Ao=�D =�E5`�ZB3WZR4[@¢Z[@�c+GU@�476JG�AL=�1J4[@�cd=S4[G%2Ë=�D/=�E5`�Z73WZR4[G%\]6/D/3 ��1JG{@�Ae4[@d476JG6�1/cd=�D�: ~ 6/3WZ \]6/=SAB=�\I4[G�AB3WZ7473W\â3WZ \I@�cdc+@�D/EW`UA7G�OPG�A7A7G%2Y4[@ =�Z ¿]­S±J§%«I¬�®?ª�¶½¦º§]· :hfREWG%=SABE5`�lS476JGoc+@�Z[4�\I@�D Z[G�A7jS=S4735j�G=�D/=�E5`�Z73WZR4[G%\]6/D/3 ��1JG 3WZo@�DJG{476/=S4L3WD 2/3W\�=S4[G%Zâ476JG{b'@�Z7ZB35_ E5GFb/A7G%Z[G%D \IG{@�O =�D¸G�A7A7@�AL3WD9=�E¨E"Z735471/=S473W@�D/Z�:�<�1/\]6¸=�D=S_ Z71/AB2+4[G%\B6 D/3 ��1JG�l�QL6 3WE5Gâ6/35V�6/EW`UG �¢\�35G%D�4 �½3W4�\�=�D¢_'GL3¨c+b E5G%c+G%D�4[G%2+1/Z73¨DJV =U\I@�D/Z747=�D�4ÙOP1/D \I4735@�D ]l�3¨Z�DJ@�4�@�O1/Z[G�:ânuDJG V�@�=�E^@�Og=�D/=�E5`�Z73WZâA7G%Z7G%=SAB\B6�3WZâ4[@Ó3¨D/\IA7G%=�Z[G 476/G b/A7G%\�3WZB35@�D�@�Og\I@�D/Z[G�A7jS=S4735j�GU4[G%\]6/D/3 ��1JG%ZeZ71/\B6¸476/=S4476JG�`9=SA7G{_'@�4769G �¢\�3WG%D�4L=�D 2¸1/Z[G�O½1/E°:

~ G%\B6/D 3 ��1/G%Z¢4[@Â=�D/=�E5` '�G�476JGËZ[4[AB1/\I471/AB=�Eob/AB@�bÄG�AB4735G%Zd@�O =ÖZ[`�Z74[G%c9lLZ71/\]6Ü=�Z&476JG�b/A7@�b'G�AÓ\I@�D/D/G%\I4735@�D@�O !x@�1J4$#�b'@�A747Z 4[@ ![3WD�#¸b'@�A747Z%l-=SA7GÓQÙG%EWE � D/@mQLDÖ=�D/2à1/D 2JG�ABZ[4[@�@�2": �xD¼476/3¨ZUZ[G%\I4735@�DÖQhGÓ\I@�D/\IG%D�4[AB=S4[G�@�D_'G%6/=%j�35@�AB=�E^b/A7@�b'G�A74735G%Z%l�Z71/\]6�=�Zu2JG%=�2 E5@�\ � OPA7G�G%2J@�c 3WDC\I@�cdc�1/D/3¨\�=S4735@�DCb A7@�4[@�\I@�E¨Z�l�_�`¸_/A]35G��/`&A7G�j�3WG�QL3WDJVA7G%\IG%D�4âA7G%Z[G%=SAB\]6¸3WD&476JA7G�G{\�=S4[G�V�@�AB3WG%Zo@�O-=�D =�E5`�ZB3WZh4[G%\B6/D/3 ��1JG%Z�� ©Ä¬x­%­[µB§ l §Iª�·L©ÄÇ�¦P±�à l�=�D/2 ¬[«B¯S»/¿%¶½¦°­S± :ÙMNG =�EWZ[@_/AB3WG��/`¢A7G�j�35G�Q A7G%\IG%D�4LQh@�A � 3WD9=�D/=�E5` '%3WDJV+GIH�4[AB=?�O½1/D/\I4735@�D =�E�b/A7@�b'G�A74735G%Z%l�ZB1/\B6¸=�ZobÄG�ABOº@�ABc¢=�D/\IG�:

8FZ93WDÒ@�1JA92/3WZ7\�1 Z7Z735@�D¾@�O;EW=�D/V�1/=SV�G%Z93WDÊ<�G%\I4735@�DÊr�lFQÙGNb A7G%Z[G%D�4�3¨DJOº@�A]cd=S4735@�DÒ=S_Ä@�1/4�=SA]\B6/354[G%\I471/AB=�E=�D/=�E5`�Z73WZÙ3WDd_ A7G%=�2J476ÓAB=S476JG�Ah476/=�DÓ=S4â2JG�b 476�: ~ 6JGo4[G%\]6/D/3 ��1JG%Zh=SA7GeA]=S476JG�Aâ\I@�c+b E5GIH'l�c¢= � 3WD/VU354Ù3¨c+b'@�Z7Z735_ EWGOP@�Ah1/ZÙ4[@Y\I@�D�j�G�`¢cd@�A7Ge476 =�D w 1/Z[4h=UZ[G%D/Z7GL@�O"QL6 =S4�476JGF4[G%\B6/D 3 ��1/G%Z�\�=�D�2J@Jl�6J@mQÒ476JG�`¢=SA7GF1/Z[G%2�l�=�D/2¢QL6�`476JG�`¢=SABGe=Sb/b E¨3W\�=S_ E5Go4[@YZ[@�OP4.QR=SA7G{=SAB\B6 354[G%\I471JA7G%Z�:Ùn{1JA�V�@�=�E'3WZÙ4[@;b A7@mj�3W2JGF=U_ =�ZB3W\oZ71JABj�G�`d@�O�A7G%\IG%D�4h4[ABG%D/2/Z3WDCA7G%Z[G%=SAB\]6�@�DË=SAB\]6/354[G%\I471JAB=�EØ=�D/=�E5`�Z73WZL=�ZF=ÓZ[47=SA7473WD/V¢b'@�3WD�4oOº@�Au=ÓOP1JAB476JG�ALGIHJ=�cd3WD/=S473W@�D¸@�Og476JG�4[@�b 3W\S: �xDb/A7G%Z7G%D�473WD/V¸476JG¢=�D/=�EW`�Z73¨Z{4[G%\B6/D 3 ��1/G%Z�l-QhG¢cd=�3¨D/E5`Ë_ =�Z[Gd476JG&2/3WZ7\�1 Z7Z735@�DË@�DÖ476JG¢EW=�DJV�1 =SV�G%ZU@�OL<�G%\I4735@�DÂr�:�e@�4[G¢476/=S4�=�E5476J@�1JV�6NQhGÓ2 3WZ7\�1/Z7Zu476/Gd4[G%\B6/D 3 ��1/G%Z 3WDN4[G�ABc¢Z @�OR476JG%35AU=Sb b EW3W\�=S4735@�D�4[@ËZ[b'G%\�3�� \YEW=�DJV�1 =SV�G%Z�l476JG�`9=SA7G{V�G%DJG�A]=�EWE5`�=Sb/b EW3W\�=S_�E5Ge4[@¢QL6J@�E5G \�EW=�ZBZ[G%Zâ@�OgEW=�DJV�1/=SV�G%Z%:

� ��� � ���Ø�^!U F� ���Ù*���� ��� ���AB@�@�OF4[G%\B6/D 3 ��1/G%Z+=SA7G¸4.`�b 3W\�=�E¨E5`à1/Z[G%2Ô4[@NGIH�=�cd3¨DJG9b/A7@�b'G�A74735G%ZY6/=mj�3¨DJVN4[@à2J@NQL3W476ÂZ7`�Z[4[G%c Z7=SOºG�4�`Ô=�D/2EW35j�G%D/G%Z7Z�:Y<J=SOºG�4�`�b/AB@�bÄG�AB4735G%ZuZ7=%`Ë476/=S4 ![DJ@�476/3¨DJV�_ =�2ËQL3WEWE-G�j�G�AU6/=Sb/b'G%D�#�l � QL6/G�A7G%=�Z{EW35j�G%DJG%ZBZub/A7@�b'G�A74735G%ZZ7=m`Ö476/=S4 !xG�j�G%D�471/=�EWEW`ÖZ[@�c+G�476 3WDJV�V�@�@�2)QL3WE¨E�6/=Sb/b'G%D�#�: ~ 6JG9Z[47=�D/2/=SA]2ÂZB=SOºG�4�`Öb/AB@�bÄG�AB4.`à@�OF3WD�4[G�A7G%Z[4+3WD\I@�D/\�1JABA7G%D�4hZ[`�Z[4[G%cdZh3WZ�OPA7G�G%2J@�cßOºA7@�c 2JG%=�2/EW@�\ � : u35j�G%D&=U\I@�cdbÄ@�ZB354735@�D/=�E/=Sb b/A7@�=�\B6Ó4[@YZ[`�Z74[G%c´\I@�D/Z74[AB1/\��4735@�D�l�2/G%=�2/E5@�\ � OºA7G�G%2/@�c _ÄG%\I@�cdG%Z�={Z[G�AB35@�1 ZØ\]6/=�EWE5G%D/V�Go=S4g476JGâ=SAB\B6/3W4[G%\I471JAB=�E/E5G�j�G%E: ~ 6/GRZ747=�D/2/=SAB2+EW3Wj�G%DJG%Z7Zb/A7@�b'G�A74�`&3¨Zâ\I@�D�473WD�1JG%2¸\I@�cdb 1J47=S4735@�D/=�E"b/A7@�V�A7G%Z7Zo@�O =�E¨E°lJDJ@�4 w 1/Z[4oZ[@�c+G�l b/A7@�\IG%Z7Z73WDJVYG%E5G%cdG%D�47Z�:

~ 6/G�A7GU=SA7G 4�QÙ@�cd=�3WDC=Sb/b/A7@�=�\]6JG%Zo4[@Ób/A7@mj�3WDJVdZB=SOºG�4�`C=�D/2¸EW3Wj�G%DJG%Z7Zâb/AB@�bÄG�AB4735G%Z ��=�E5V�G�_ AB=�3W\u4[G%\B6 D/3 ��1JG%Z=�D/294[A]=�D/Z7354735@�DJ�.Z[`�Z74[G%c 4[G%\B6/D/3 ��1JG%Z%:

���� /19 2.������)�%(' /1$ ).9 � ;-% ;

8FE5V�G�_/AB=�3W\¢=�D/=�E5`�Z73WZ{3WD�j�@�E5j�G%Z 476/G¢=Sb/b EW3¨\�=S4735@�DN@�OâZ[4[AB1/\I471/AB=�E�3WD/2 1/\I4735@�D�4[G%\B6 D/3 ��1JG%Z{4[@�=�DÖ=�E5V�G�_/AB=�3¨\d2JGI�Z7\IAB3Wb/4735@�D�=dZ[`�Z[4[G%c9:

��� /

fh@�c+b�=SA7G�G�4^=�E°: � � ��1/Z[G%2U=�E5V�G�_/AB=�3W\g=�D =�E5`�ZB3WZ�4[@Lb A7@mj�G�476/G�b/A7G%Z[G%D \IG�@�OJ2JG%=�2/E5@�\ � 3WD{476/Ghf"!F8 � 2JG%Z7\IA]35b/4735@�D@�O 476JGN\I@�c+b A7G%Z7Z73WD/Vàb/A7@mH�`¾Z76J@mQeDÒ3¨D " 35V�1JABG � : ~ 6JG�2JG%=�2/EW@�\ � 3WD¾476JGNZ[`�Z74[G%c =SA]3WZ[G%Z&_'G%\�=�1/Z[GË@�O;=cd3WZBcd=S47\B6Ê3¨D 476JGNb/A7@�4[@�\I@�E _'G�4�QÙG�G%D 2�� %(� =�D/2Ê3547ZC=�2/=Sb/4[@�A%: �#D²b =SAB473W\�1/EW=SA%l 2���% � 1 Z[G%Z¸=Ï@�DJGI�b�=�Z7Z\I@�c+b/ABG%Z7Z735@�D;=�E5V�@�AB35476/cÉ=�D/2Uc¢=%` =S4[4[G%c+b/4Ø4[@FQoAB354[G�=Lb'@�A74735@�D{@�OJ476JGh\I@�c+b/A7G%ZBZ[G%2;2 =S47= �Pb'G�AB6/=Sb Z^_'G%\�=�1/Z[G=�DY3WD�4[G�ABD/=�E�_ 1�>'G�AØ3¨Z-O½1/EWE Ä_'G�Oº@�A7GR476JGR=�2/=Sb/4[@�A�3¨Z-ABG%=�2J`�l�476�1 Z-_�E5@�\ � 3¨DJVJ:-M²35476 2���% � _ E5@�\ � G%2�l�476/GR=�2 =Sb/4[@�A

��?�!$��26/ ' L �� L 26�(/��2A����#C/�)����4A��#T/2QJ�/��(�)�+*�&-,�#���/�032R4A�+#���*)�(2A,�8:�@/� L �� L 26�(/��2A�:!$�(�(�?4A�-!$/27,�8:��/���(�4<=47!$&�&-2A,.; �! ��26/ 'S<=46��@/��47!$&� '�� /2A�B�(D�U f �)��&�2 �! ��26/ '�< 4Q���/��47!$&�� '�� /2A�B� !$#%,1/��2A�@� L �� L 26�(/��2A�R!$�2 ��� L ���(/F!�#?/7E -�26�('1&-�@/(/&�2"8����;6 �-#5�(�$��/ 8�!$�2P!$�4F�)�@/2A46/*��2�%!$�:032A2A#1/F! �;'+26/2A,1/�78�!$�F,5!�,),T�2A�(�(��# 'P/��2A�@�R� L 264A�1E%4 #)2627,��AU

r �

Page 36: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

=�EWZ[@+_'G%\I@�c+G%Zo_ E5@�\ � G%29QL6/G%D&3W4o=S4[4[G%c+b/47Zo4[@+b�=�Z7Zâ@�D9c+@�A7G{@�OØ476JGU2 =S47=Y4[@ 2�� %(� l E5G%=mj�3WD/V�476/G Z[`�Z74[G%c 3WD2JG%=�2/EW@�\ � :

~ 6/GFb A7@�@�O^@�O^476JG 2JG%=�2 E5@�\ � b/AB@�\IG�G%2/ZR_�`¢ABG%=�Z[@�D/3WDJVY=S_'@�1J4R476JG{=�E5V�G�_/AB=�3¨\FZ74[AB1/\I471JA7Gu@�O-476JG{Z[b'G%\�3�� \�=?�4735@�D�: "J@�AÙGIH�=�cdb E5GR476JG �/A]Z[4gZ[4[G�bÓ3WZ 4[@U@�_ Z[G�A7j�Go476 =S4�476JGo=Sb/b E¨3W\�=S4735@�DY@�O'=�D�`YAB1/EWGh@�476/G�A�476/=�D !�% 2J@�G%Z�DJ@�4\B6 =�DJV�G+476JG+D�1 cU_'G�Au@�OÙc+@�EWG%\�1/E5G%ZF@�A � 3¨D/2Ë@�O�b/A7@�\IG%Z7Z73¨DJV¢G%E5G%cdG%D�47Z 3¨D�=9Z[@�E¨1J4735@�D�_ 1J4u@�D/E5`¸4[A]=�D/Z[OP@�ABcdZ476JG�Z[47=S4[G;@�Og476/GUb/A7@�\IG%Z7Z73¨DJVdG%E5G%c+G%D�47ZFc+G%D�473W@�DJG%2C3WD¸476JG;E5G�OP4x�.6/=�D/2�Z73W2JGU@�Og476JG;=Sb/b�EW35G%2�AB1/EWG�: ~ 6/3WZâO½=�\I43WZ+1/Z7G%2Ï4[@àZ76J@�Q 476/=S4¢G�j�G�A7`Ï2JG�AB35j�G%2ÏZ[@�E¨1J4735@�D)QL3WE¨Eh6 =%j�GCGIHJ=�\I47E5`)476JGCZB=�c+G¸D�1 cU_'G�A+@�O{c+@�E5G%\�1/EWG%Zd=�Z476JGY3WD/35473¨=�E"Z[@�EW1J473W@�D�l�D/=�cdG%E5`9Oº@�1/A%l�@�D/G;OP@�AuG%=�\B6�@�O�476JG�OP@�1JAeb A7@�\IG%ZBZ73WDJVÓG%E5G%c+G%D�47Ze@�O�476JG�Z7bÄG%\�3 � \�=S4735@�D�:~ 6JG =SABV�1/c+G%D�4e\I@�D�473WD�1/G%Zo_�`&ABG%=�Z[@�D/3WDJVd=S_'@�1J4LQL6/=S4L354ocdG%=�D/ZoOP@�Ae=d2/G�AB35jS=S4735@�D�4[@¢4[G�ABc¢3WD/=S4[GU=�D/2¸476/=S4G�j�G�A7`�2JG�AB35jS=S4735@�DË476/=S4u4[G�ABcd3¨D/=S4[G%Z{3WD�j�@�E5j�G%Zu476JG+=Sb/b EW3¨\�=S4735@�DË@�O�AB1/EWG ! � @�A ! " : ~ 6/G%Z[GYAB1/E5G%Zuc+@�2JG%EØ476JGZ735471 =S4735@�D/Zâ3WD�QL6 3W\B6 2�� %(� =�1J4[@�DJ@�c+@�1/ZBE5`&2/G%\�3W2JG%ZR4[@¢G%D 293547Zo3WDJb�1J4R@�Ao@�1J4[b 1J4�l 476�1/ZoG�j�G%D�471/=�E¨E5`&EWG%=�2/3WDJV4[@¢=d2/G%=�2/E5@�\ � :

nFO-\I@�1JABZ[G�lJ=�ZhV�G%DJG�AB=�EÄGIH�bÄG�A]35G%D/\IGu6/=�ZÙZB6J@mQLD"l�=�EWV�G�_/AB=�3W\e=�D/=�E5`�Z[G%ZR\�=�D�_ÄGe4[G%2/35@�1/Zh=�D/2�\I@�c+b E¨3W\�=S4[G%2�:kR1J4{476JG�`�=SA7Gd=�EWZ[@96/3WV�6/E5`C3WD/Oº@�ABc¢=S4735j�G�l"Z73WD/\IGY476JG�`Ëcd=�3WD�47=�3WDN3WDJOP@�ABcd=S473W@�DË=S_'@�1J4u476JGdZ74[AB1/\I471JA7GY@�Oh476JGZ[`�Z[4[G%c9loQe6/3W\B6Ò\�=�DÒ_'GË1/Z7G�OP1/Ee3WDÜ=�\I471 =�EWE5`Ü2/3¨Z7\I@mj�G�AB3¨DJVà476JG�Z[@�1JA]\IG�@�OU=Âb/AB@�_ E5G%c9: �¸@�A7G�@�j�G�A%lFQL6JG%D476JGdZ[`�Z[4[G%c 1 D/2JG�A{Z[b'G%\�3�� \�=S4735@�DNEWG%=�2/Zu4[@C=�D�GIH�b E5@�Z735@�DN3¨D�476/GdZ[47=S4[G¢Z[b =�\IG�l-476JG%DN476JGd1 Z[GY@�Oh=�E5V�G�_ AB=�3W\4[G%\B6 D/3 ��1JG%Zo3WZR476JGU@�D/E5`¢b AB=�\I473W\�=�E"=Sb/b A7@�=�\B6C4[@¢1/Z[G�:

�� � �-)�$&;5% +-%(�.$�� 3�� ; +5�8� /1$&)�9 � ;5%(;

~ AB=�D/Z735473W@�D��.Z[`�Z[4[G%ct=�D =�E5`�ZB3WZe3¨Zeb'G�A7OP@�ABc+G%2Ë=�Zu=�Z[G%=SAB\B6�@�j�G�AU=&V�AB=Sb 6��_�=�Z[G%2�c+@�2/G%E^@�Oh=&Z7`�Z[4[G%c $yZ{Z[47=S4[GZ[b =�\IG�:Ù8eZâc+G%D�4735@�DJG%2�=S_'@mj�G�l�Z71/\B69=�D9=Sb b/A7@�=�\B69\�=�D�_'GFGIH�b'G%D/ZB35j�G{2/1JGF4[@+476JG{EW=SA7V�G{D�1 cU_'G�ABZh@�O-Z747=S4[G%Z=�D/2Âb'@�Z7Z735_�E5G¢Z[47=S4[G94[AB=�D Z7354735@�D/ZU476/=S4+=SA7G9\B6/=SA]=�\I4[G�AB3WZ[473W\&@�OF=�D�`ÖA7G%=�Z[@�D/=S_ EW`¼Z73�'�G%2)Z[`�Z[4[G%c9: FG%DJG�A]=�EWE5`�l=�D)=S_ Z[4[AB=�\I473W@�DÂcdG�476J@�2Â3WZ�1/Z[G%2Ö4[@�ABG%2/1/\IG&476JG&ZB3�'�G¢@�Oo476/G&c+@�2JG%E°:Ë8LOP4[G�AY476JG�c+@�2/G%EÙ3WZ;\I@�D/Z[4[AB1 \I4[G%2�lb/A7@�b'G�A7473WG%Z�l V�G%DJG�A]=�EWE5`9GIH�b/A7G%Z7Z[G%2Ë=�ZuZ[@�c+G�4.`�b'G;@�O�=�1/4[@�cd=S4[@�D�@�A{3WDCZ[@�cdG;OP@�ABct@�O�4[G%c+b'@�AB=�EØE5@�V�3W\Sl�=SA7Gb/A7@�j�G%2C=S_'@�1J4â476JG cd@�2JG%EWG%29Z[`�Z74[G%c9:

��� /

nuDJG9@�OF476JG¸Z[4[ABG%DJV�476/Z+@�OF476JGËf"!F8�� OP@�ABcd=�EW3¨Z7c 3WZ+476/=S4d354d=�2 cd3547Z�lhDJ@�4+@�D/E5`Ö4[@à=�E5V�G�_/AB=�3¨\9=�D/=�E5`�Z73WZ�l_ 1J4{=�EWZ7@94[@¸4[AB=�D/Z73W4735@�D��.Z[`�Z[4[G%c =�D/=�E5`�Z73WZ � � �:��xDNb =SA7473¨\�1/EW=SA%l'476JG+@�b'G�AB=S4735@�D =�EgZ[G%cd=�D�473W\�Z{@�OR476JGÓf"!F8 �\�=�D¼_'G+1/Z[G%2¼4[@C=�1J4[@�cd=S473W\�=�E¨E5`Ë2/G�AB35j�Gd=�4[AB=�D/ZB354735@�DNZ[`�Z[4[G%c9l-QL6JG�A7Gd=¸D/@�2JG+3WD�476/GdV�AB=Sb 6�A7G�b A7G%Z[G%D�47ZU=1/D/3 ��1JGdZ7@�EW1J4735@�D �½3°:}G�:5l�=�Z747=S4[G U=�D 2à476JG�=SAB\�Z�3WD¼476/GÓV�AB=Sb�6àA7G�b A7G%Z[G%D�4U476JG�=Sb/b EW3¨\�=S4735@�D¼@�Oo=�AB1/E5G �½3°:}G�:5l=¸4[A]=�D/Z7354735@�D ]:�8 b'@�A74735@�Dà@�OR476JG¢4[AB=�D Z7354735@�D¼Z7`�Z[4[G%c�OP@�A;476JG&\I@�c+b/A7G%ZBZ73WDJV9b/AB@%H�`¼Z[`�Z74[G%c�2JG%ZB\IAB35_'G%2N3WD" 35V�1JA7G � 3WZ"2JG�b�3W\I4[G%2U3WD�"Ø3WV�1JA7G ���S: ~ 6JGgV�AB=Sb�6 QR=�Z"b/A7@�2/1/\IG%2 _�`{=â4[@�@�E�2JG�j�G%EW@�bÄG%2U4[@LV�G%DJG�A]=S4[G�4[AB=�D/ZB354735@�DZ[`�Z[4[G%cdZâOPA7@�ctf !e8�� =SAB\B6/3W4[G%\I471JAB=�E"Z[b'G%\�3���\�=S4735@�D/Z � ��� �:

�e@�473W\IG�476JG�DJ@�2/G�EW=S_'G%E5G%2 � $ # loQL6/3W\]6Ü6/=�Z�DJ@Ö@�1J4[V�@�3WDJV)=SAB\�Z�=�D/2ÒZ[@ÂA7G�b/A7G%Z[G%D�47Z�=ÖZ7@�EW1J4735@�DÜ476/=S4OPA7@�c Qe6/3W\B6¾DJ@àO½1JA7476/G�A¢b/A7@�V�ABG%Z7ZÓ\�=�DÒ_'GCcd=�2/G�: ~ 6/3¨ZdDJ@�2JGCA7G�b A7G%Z[G%D�47ZÓ=Â2JG%=�2/E5@�\ � 3¨DÔ476JG�Z[`�Z[4[G%c9:TgHJ=�cd3WD =S4735@�DC@�O�476JG;O½1/EWE"V�AB=Sb 6ËA7G�j�G%=�EWZF476JG�OP=�\I4u476/=S4{=�EWE^b =S476/ZuE5G%=�2/3¨DJV¢OPA7@�c ���?lÄ476/G�3WD 35473W=�E"Z[@�E¨1J4735@�D�l4[@�� $ # 3WD�j�@�E5j�G�=�DN=SA]\�E¨=S_ÄG%EWG%2 !�� @�A !�" : ~ 6/3¨Ze\I@�D � ABcdZF476JGYA7G%Z71/EW4e=�\B6 35G�j�G%2¼1/Z73¨DJVÓ=�E5V�G�_ AB=�3W\�=�D/=�E5`�Z73WZ476/=S4o476/GU=Sb/b EW3¨\�=S4735@�D&@�O ! � @�Ao@�O ! " EWG%=�2/Zâ4[@¢2JG%=�2 E5@�\ � :

� ),� � %�$8FZ-2/3¨Z7\�1/Z7Z[G%2U3WD;<�G%\I4735@�DYr�:Ñr�l�476JGhaF=SABQL3WD 8FauK92/35A7G%\I47E5`Fb/A7@�j�3¨2JG%Z"@�D/EW`FOP@�A^476/GÙZ[b'G%\�3�� \�=S473W@�D @�O/Z[4[AB1 \I471JAB=�E=�Z[b'G%\I47Z9@�O+=�DÊ=SAB\]6/354[G%\I471JABG�: ~ 6JGNZ[`�Z[4[G%c%$yZ¸_'G%6/=mj�3W@�AB=�E{=�Z[b'G%\I47Z¸\�=�D _'G¼2JG%Z7\IA]35_'G%2Ò1 Z73WDJV)=ÔEW=S_'G%E5G%24[AB=�D/ZB354735@�D9Z[`�Z[4[G%c �½K ~ < h3WD�476JG�"�< �¾DJ@�47=S4735@�DC=�D 2¸=�D/=�E5` '�G%2¸1/Z73¨DJV+K ~ <�8U:/8FD¸K ~ <�3¨Zâ=+V�AB=Sb 69Qe6J@�Z[GDJ@�2JG%ZoABG�b/A7G%Z[G%D�4LZ[`�Z[4[G%c Z[47=S4[G%Ze=�D 2¸QL6J@�Z7G;=SAB\�ZLA7G�b/A7G%Z[G%D�4L476/GU=S_ 3WEW3W4.`&4[@Ó4[AB=�D Z7354735@�D9OPA7@�c @�DJGUZ[47=S4[G�4[@

r�r

Page 37: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

(0,0)

s58

T6

s67

T6

s76

T4

T2

s51

T6

s62

T6

T7

s72

T4

T7

T2

s65

T4 T7

T2

s70

T7

T2

T2T4

s44

T2

s47

T6

T7

T2

s59

T6

T7

s71

T4

T7

T7T2

s61

T4

T7T2

T7

T7

T7

s39

T2

s42

T6

T7T7

T2

s52

T6

T7T7

s66

T4

T7T7

T7T7T2

s54

T4

T7T7T2

" 35V�1/A7G������ÙT�H�\IG�A7b 4âOºA7@�c 476JG�fh@�c+b A7G%Z7Z73WD/V ��A7@%H�` ~ AB=�D Z7354735@�D¸<�`�Z[4[G%c � � �:

r �

Page 38: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

" 35V�1/A7G�� ����XoG%ZB1/E547Zâ@�O K ~ <�8Þ8eD/=�EW`�Z73¨ZROº@�AL=�DC8e\I4735j�G�kR=�2JV�G�<�`�Z[4[G%c � r � �:

=�DJ@�476JG�Am: ~ 6JGLZ[47=S4[G%Zh=SA7GFD�1/c;_'G�A7G%2+_'G�V�3WD/D 3WDJV{=S4 '�G�A7@Jl�QL35476d476JGeZ[b'G%\�3W=�E Z[47=S4[G !#�B� #�3WD/2 3W\�=S473WDJV{=�DdG�ABA7@�AZ[47=S4[G�:h8LAB\�ZL=SA7GUEW=S_'G%E5G%2�_�`Ó476/GUD/=�c+G{@�O 476JG =�\I4735@�DC476/=S4L=�EWEW@mQLZâ476/G{4[AB=�D/Z735473W@�D�_ÄG�4�QÙG�G%DC476JGUZ[47=S4[G%Z%:

K ~ <�8ßG%c+b E5@�`�ZU\I@�c+b'@�Z7354735@�D/=�EØA7G%=�\]6/=S_ 3WE¨354.`Ë=�D/=�E5`�Z73WZ��fRXe8 � � � ��=�ZU=9c+G%=�D/Z{@�ORcd=�D/=SV�3WD/V�Z747=S4[GI�Z[b =�\IGYGIH�b E5@�Z73W@�D�:��xD�fâXL8;lÄ\I@�c+b'@�DJG%D�47ZF@�O�=�Z[`�Z[4[G%c =SA7G�=�D =�E5` '�G%2Ë@�DJG+=S4u=&473Wc+G�: uE5@�_ =�EØ=�D/=�E5`�Z73WZF3WZb'G�A7OP@�ABc+G%2�_�`C\I@�c;_ 3WD 3WDJV¢476/G�ABG%Z71/E547Ze@�O�476JGY3WD/2 35j�3¨2/1/=�E�\I@�c+b'@�DJG%D�4{=�D/=�E5`�Z[G%Z�:�"J@�A{GIHJ=�c+b E5G�l�\I@�D/ZB3W2JG�A476JG�2JG%Z7\IAB3Wb/4735@�DÖ@�OL=�Z[`�Z74[G%c�476 =S4Y\I@�1 EW2Ö3¨D/\�EW1/2JGÓ=�Qh@�AB2Öb/A7@�\IG%Z7Z[@�A+=�Z+=Ë\I@�c+b'@�DJG%D�4�: ~ 6JGÓ3WD�4[G�A7O½=�\IG@�O�476/G+QÙ@�AB2�b A7@�\IG%ZBZ[@�A 2JG%Z7\IAB3W_ÄG%ZF3547Z{=�EWEW@mQR=S_ E5G+3WD�4[G�AB=�\I4735@�D/ZuQL3W476�@�476/G�A \I@�c+b'@�DJG%D�47Z%l^Z71/\]6N=�Zu476JG � E5GZ[`�Z[4[G%c9lg3WD�j�@�\�=S473W@�Dà@�OL=�Z[b'G%EWE�\]6JG%\ � G�A%lÙ=�D/2à476/GÓEW3 � G�: ~ 6JGÓ3WD�4[G�ABD/=�E�_'G%6/=%j�35@�AU@�Oâ476/GÓQh@�AB2¼b A7@�\IG%ZBZ[@�A\I@�D/Z73¨Z[47Zâ@�O j?=SA]35@�1/ZâA7G%Z7bÄ@�D Z[G%Zâ4[@¢3WD/b 1J47Zâ=�D/2¸3¨D�4[G�ABD =�E"=�\I4735@�D/Z�: ~ 6/3WZâ3¨D�4[G�ABD =�E�_'G%6/=%j�35@�AL\�=�DC_ÄG{j�G�A]3��/G%23WD/2/G�bÄG%D 2JG%D�47EW`¸@�OR476JGdA7G%Z[4U@�Oh476/G¢Z[`�Z[4[G%c9lØb/A7@�cd3WZB3WDJV&476/=S4;35OhA7G���1/35A7G%2N3¨DJb 1J47Z{=SA7GÓ=%jS=�3WEW=S_ E5G�l-476JGd4[GIH�4b/A7@�\IG%Z7Z[@�ALQL3WEWEÄA7G%Z[b'@�D/2�=�Ze3WD�476JG @�1J4[b�1J47ZR@�Og3547Zo3WD�4[G�A7O½=�\IG�:

K ~ <�8Éb/A7@�j�3¨2JG%ZoZ71Jb bÄ@�AB4hOP@�Aob/AB@mj�3WDJVdZ7=SOPG�4.`9=�D/2¸E¨35j�G%DJG%Z7Zâb A7@�b'G�A74735G%Zâ=S_'@�1J4o=dZ[b'G%\�3���\�=S4735@�D�:Ù<�=SOPG�4.`b/A7@�b'G�A7473WG%Z-cd=m`;_'Ghb/A7@�j�G%2+G%35476JG�A GIH�b EW3W\�3547EW`{_�`�2JG�� D/3WD/VLb/A7@�b'G�A7473WG%Z^@�Ag_�`;\]6JG%\ � 3WDJV{OP@�AgG�A7A7@�Ag\I@�D/2/3W4735@�D/Z�:K^3Wj�G%DJG%Z7Zhb/A7@�b'G�A74735G%Zh=SA7GuZ[b'G%\�3��/G%2&3WDÓ4[G�ABcdZR@�O^kR1/\]6/3'=�1J4[@�cd=S47=+=�D/2&4[AB=�\IG%Zâ=SA7G{\]6JG%\ � G%2COº@�Aâ\I`�\�E5G%Zh476/=S43WD/2 3W\�=S4[Ge476/G{bÄ@�4[G%D�473W=�EÄOP@�ALEW35j�G%DJG%ZBZÙj�35@�EW=S473W@�D/Z�:gau=SA7QL3WD�=�D/29=�Z7Z7@�\�3W=S4[G%2�4[@�@�EWZâ6/=mj�G _'G�G%D�1/Z[G%2�4[@dZ[471/2/`476JGÓb/A7@�b'G�A74735G%Z{@�OâZ[G�j�G�A]=�EÙ2/3¨Z[4[AB35_ 1/4[G%2NZ[`�Z74[G%cdZ � � � l ��p�lØr � �: " 35V�1/A7G � �¸ZB6J@mQLZU476JGÓ=�D =�E5` '�G%2ÖK ~ <�OP@�A=�bÄ@�AB4735@�DN@�Oo476JG&8e\I473Wj�G&kR=�2JV�G¸<�`�Z[4[G%c � r � �: �xD¼476/3WZ;Z[`�Z[4[G%c9lg354;3¨ZU=�DÖG�A7A7@�AY35OR4.Qh@�\I@�c¢cd=�D/2/Z;cd=%`_'G¸b/A7@�\IG%Z7Z[G%2¾=S4¢476JG�Z7=�c+GC473¨c+G�: �L@�473W\IG�476/=S4Ó3W4¢3WZdb'@�Z7ZB35_ E5G�OP@�A ������� � ��� �à4[@Ö_ÄGCA7G%\IG%35j�G%2Ô_'G�OP@�A7G������� � ��� �;3WZâ=�\ � DJ@�QLE5G%2JV�G%2C@�AL\�=�D/\IG%E5G%2"l =�Zo3WD/2 3W\�=S4[G%2�_�`&476JG{4[AB=�D Z7354735@�D/ZROPA7@�c Z747=S4[G%ZU� =�D/2 �+4[@d476JGG�A7A7@�AeZ[47=S4[G �B�S:

K ~ <�8Ò=�EWZ[@Ub/A7@mj�3W2JG%Zg=�D/@�476JG�A%l�EWG%Z7ZgGIH�bÄG%D Z735j�GâV�E5@�_ =�E =�D/=�E5`�Z73WZ 4[G%\B6 D/3 ��1JG�: ~ 6/3WZg=�E54[G�A]D/=S4735j�Gob'G�A7OP@�ABcdZ=C2/G�b/476�� �/ABZ74UZ[G%=SAB\]6Â=S4;476JG�\I@�c+b'@�DJG%D�4�E5G�j�G%E�@�OL476JGÓZ[`�Z[4[G%c 2JG%Z7\IAB3Wb/4735@�D�: ~ 6JG&=�D/=�E5`�Z73WZ \�=�DÂ3W2JG%D�4735OP`b/A7@�b'G�A74�`9j�3W@�EW=S4735@�D/ZF=�D/2Ëb'@�4[G%D�473W=�E-OP@�Au2/G%=�2/E5@�\ � lÄ_�1J4F2/@�G%ZFDJ@�4ub/A7@�j�3W2/G;3WDJOP@�ABcd=S473W@�DC=S_'@�1J4F476JG�\�=�1 Z[G@�O 476JG{j�35@�EW=S4735@�D�:

� ��%(2�7�+

8FD+3Wc+b'@�A747=�D�4Ø=�Z[b'G%\I4g@�O�476JGRMNAB35V�6�4�EW=�DJV�1/=SV�Gâ3WZ 476JGâ1/Z7Gh@�O�fo< �N3WDY\I@�D/D/G%\I4[@�A�Z[b'G%\�3�� \�=S4735@�D Z-4[@{b A7@mj�3W2JG=¢c¢=S476JG%cd=S473W\�=�EWEW`�Z7@�1/D/2¸_�=�Z73WZâOP@�AeABG%=�Z[@�D/3WDJVÓ=S_Ä@�1/4L476JGU\I@�ABA7G%\I47DJG%Z7ZF@�O�\I@�cdc�1/D/3W\�=S473W@�D¸b/A7@�4[@�\I@�EWZ�: �xDb =SA7473¨\�1/EW=SA%l?MNAB35V�6�4 b/A7@mj�3W2JG%ZØ=Fc+G�476J@�2UOP@�AgZ[b'G%\�35Oº`�3WDJVe=�D/2�b/A7@mj�3WDJVeb/A7@�b'G�A74735G%Z^@�O 3WD/2 35j�3¨2/1/=�E�\I@�D/DJG%\I4[@�A]Z�l=�D/2Ó2JG�� D/3WD/Vu\I@�cdb =S4735_ 3WE¨354.`;A7G%EW=S4735@�D/ZB6/35b Z 476JAB@�1JV�6+A7G�� D/G%c+G%D�4�: ��A7@mj�3W2JG%2+476 =S4Ù=U\I@�D DJG%\I4[@�Ah3¨Z�2JG%=�2/E5@�\ �OPA7G�G�l�476JGe\I@�c+b =S4735_ 3¨EW354.`;A7G%EW=S4735@�D Z76/35b�_'G�4.QhG�G%D¢A7@�EWG%Z�=�D/2+b'@�A747ZgV�1 =SAB=�D�4[G�G%ZÙ476JGâb/ABG%Z[G�A7jS=S4735@�D+@�O�2JG%=�2/E5@�\ �

r <

Page 39: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

federatefederatefederate

RTI

" 35V�1JA7G���r�� ~ 6JG !FK^8 �#D�4[G�V�AB=S4735@�D�<�47=�D/2/=SA]2 � r �:

R � JLJNI � � � 4������ , An��y��$5� � � � . � ??I��� ��#m���� ����� Y�� $��� ��� ������� �� ���� !�#"$��%& 6 ?<KNI $'�(���*)+ �,���-�. /0�

�� ��� ������� �� ���� !�#"$��%& �$�� 1��243657�98;:< �%�= 2>3?57�@8@ACBEDF2>3?57�@8@AHGC�02>3?57�I89�J. 5� K243657�

8;:L���M�N243657�I8O�� ���P�/N. �� ���8@Q+/6�1����/?=SR6�KT�UM V P I�4�I

�� 1��243657��$ *�*�*:< 1%!= 243657��$ *�*�**�*�*

" 35V�1JA7G�� � �hTgH�4[AB=�\I4oOPA7@�c MNAB35V�6�4F<�b'G%\�3���\�=S4735@�D&@�O X ~ �ofh@�D/D/G%\I4[@�A � r �:

OPA7G�G%2J@�c OP@�AL476 =S4e3WD/2 35j�3¨2/1/=�E \I@�D DJG%\I4[@�A%: ~ @Ób/A7@�j�GUV�E5@�_ =�E^2JG%=�2/E5@�\ � OPA7G�G%2J@�c9l�476JGUZ[4[AB=S4[G�V�`9OP@�EWE5@�QÙG%2�3WDMNAB35V�6�4-3¨Z"4[@ �/ABZ[4"4[A]=�D/Z7EW=S4[GR=oMNAB3WV�6�4ØZ[`�Z74[G%cÞ\I@�D��/V�1JAB=S4735@�D;3WD�4[@e=LZB3WDJV�E5GhfL< ��Z7bÄG%\�3 � \�=S4735@�D @�OJ476/G�G%D�4735A7GZ[`�Z[4[G%c =�D/2¼476JG%DN4[@¸_ 1 3WEW2�476JGd=�1J4[@�cd=S47=�c+@�2/G%E OºA7@�c 476JGÓfo< �ÉZ[b'G%\�3�� \�=S4735@�D�:YMNAB3WV�6�4 Z[b'G%\�3���\�=S4735@�D/Z\�=�Dd_'Gâ=�D/=�E5` '�G%2+OP@�A�_'G%6/=%j�35@�AB=�EJ\I@�ABA7G%\I47DJG%Z7ZÙ1/Z73WDJVu476JG�"ØauX � ��q � c+@�2JG%EJ\B6/G%\ � G�A%: " auXÒ3WZ�={\I@�cdc+G�A]\�3W=�E4[@�@�E�476/=S4LZ71/b/b'@�A747ZRj�G�AB3�� \�=S473W@�D9@�OØZ7bÄG%\�3 � \Fb/A7@�b'G�A74735G%Zâ3WDCfL< �Ôb/AB@�\IG%Z7ZLZ[b'G%\�3�� \�=S4735@�D/Z%:

~ 6/G�1J473WE¨354.`Â@�O \I@�D/DJG%\I4[@�A�4.`�b'G%ZÓ=�Z�=�DÒ=�3W2Ô4[@Â6/35V�6��.EWG�j�G%EL=�D/=�E5`�Z73WZÓ=�D/2Ü2/G%Z735V�DÜ3¨Z¢6/35V�6 EW35V�6�4[G%2Ï_�`8FEWE5G%D�l�u=SABEW=�D�l =�D/2 ��j�G�ABZ � r �h3¨D¼=CZ[471 2J`N3WD�j�@�EWj�3WD/V9476JG !F35V�6àK^G�j�G%EÙ8eAB\]6/354[G%\I471JA7G � !eK-8 ]l-QL6/3W\]6¼QR=�Z2JG�j�G%E5@�b'G%2à_�`�476JG¢aFG�OPG%D/Z[G,�¸@�2JG%EW3WD/V¸=�D/2Ö<�3Wc�1/EW=S473W@�Dàn �¢\IG �½a ��</n FOP@�AU_�1/3WEW2/3¨DJV&2 3WZ[4[AB35_�1J4[G%2�Z73WcY�1/EW=S473W@�DNZ[`�Z74[G%cdZ�:+8ßV�A]=Sb 6/3W\�=�Eg2JG�b�3W\I4735@�DË@�OÙ476/G !eK-8´3¨Z{Z76J@mQeDN3WD(" 35V�1JA7G���r�:Ó<�4[AB1 \I471JAB=�EWE5`�l�476 3WZ{3WZ{=j�G�A7`¼Z73¨c+b E5G¢=SA]\B6/354[G%\I471/A7G¢476/=S4Y3WD�j�@�E5j�G%Z�Z[@�c+G�D�1/c;_'G�A @�O µ%«7¯�«�¬xª�¶.«�§ �½Z73Wc�1/EW=S4735@�D/Z u\I@�cdc�1/D/3W\�=S473WD/VC3WDA7G%Z[4[A]3W\I4[G%2�Qh=m`�Zo@mj�G�AL=+Z[@S�.\�=�E¨E5G%29Z73Wc�1/EW=S4735@�DÓ_ 1/Z%: ~ 6JG{XL1/D ~ 3WcdG��xD�4[G�ABOP=�\IG �½X ~ � Ù2JG�� DJG%ZR476/Gu=�E¨E5@mQhG%23WD�4[G�AB=�\I4735@�D/Z&=�c+@�DJVÖOºG%2/G�AB=S4[G%Z�:Ê8FDÜGIH�4[AB=�\I4&OºA7@�c 476JGCMNA]35V�6�4&2JG%Z7\IAB3Wb/4735@�DÏ@�O{476JGËX ~ �+\I@�D/DJG%\I4[@�A93WZZ76J@�QLDd3WD "Ø3WV�1JA7G � � l�QL6JG�A7G �� ��� ������� �� ���� !�#"$��%& 2JG�� DJG%Z�6J@mQÒ=�Dd3WD/2/3Wj�3W2 1/=�E�OPG%2JG�AB=S4[GF\�=�D¢\I@�cdc�1/D/3W\�=S4[GF=�D/2�(�7�#)+ !,���-!. /0� 2JG���DJG%Zo476JG�3WD�4[G�A[�OºG%2/G�AB=S4[G�3¨D�4[G�AB=�\I473W@�D/Z�:L8FD¸GIHJ\IG�A7b/4F@�Og476JG�_ÄG%6 =%j�35@�AB=�E"2JG%ZB\IAB35b/4735@�DC@�Og476JGX ~ �R3WZoZ76J@�QLD93WD%" 35V�1JABG�� < :

8FDÖ=�D =�E5`�ZB3WZ @�Oâ476JGÓMNAB35V�6�4�Z7bÄG%\�3 � \�=S4735@�Dà3¨2JG%D�473 �/G%2¼Z[G�j�G�AB=�EhO½=�1/E547Z;3WD¼476JG�=SAB\]6/354[G%\I471JA7G�lg3WD \�EW1/2/3WD/VAB=�\IG&\I@�D/2/354735@�D ZU=�D/2à476JG¢b'@�4[G%D�473W=�E�OP@�A;2JG%=�2 E5@�\ � :¸8 V�A]=Sb 6/3W\�=�E�2/G�b 3W\I4735@�DN@�Oo=C4[AB=�\IG&@�OâG�j�G%D�47Z�OP@�1/D/22/1JA]3WDJV " auX =�D/=�E5`�Z73WZU3¨ZUZ76J@�QLDÂ3WD " 35V�1JABG � � : ~ 6/3WZ{4[AB=�\IG�A7G�b A7G%Z[G%D�47ZU476JG&\�=�1/Z[G&@�OL=¸A]=�\IG&\I@�D/2 354735@�D3WD�j�@�E5j�3WDJV R6�KT�UM �RW��/!��/N%&/6= =�D/2�X �K���6= �RY�KT�UE ��� ZUZT�5� lØ2JG�� DJG%2à3WD(" 35V�1JA7G � < : ~ 6JGÓD�1/c;_'G�ABZ{3WDNb�=SA7G%D�476/G%Z73WZ3WD/2 3W\�=S4[GY476JGdG�j�G%D�4U@�AB2JG�A{OP@�AU476/G+4[AB=�\IG�: ~ 6/G+b/A7@�_ E5G%c¸l"3WD�476/3WZub =SAB473W\�1/EW=SA Z73W471/=S4735@�D�l"3WZ 476/=S4{G�j�G%D�4 � l=ÓOºG%2JG�A]=S4[G�ABG%Z735V�D/=S4735@�D �½3°:}G�:5l'476JG�A7G%c+@�j?=�EØ@�O�=&OPG%2JG�AB=S4[G�OºA7@�c 476JGYZ73Wc�1/EW=S473W@�D h@�\�\�1JA7A7G%2Ë=SOº4[G�A{G�j�G%D�4 ��lQL6/3¨\B6à2/G�4[G�ABcd3WDJG%ZU476JG&OºG%2JG�A]=S4[G%Z�\�1/A7A7G%D�47E5` w @�3WD/G%2�lØ=�D 2à_'G�OP@�A7GdG�j�G%D�4 < lg476/GÓ=�\I471/=�ER\�=�EWE�Oº@�AY=Cb�=�1/Z[G�:

r �

Page 40: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

�(�7�#)+ !,���-�. /0�T$ X �K���?= K24 �5 B! !��U&,�. � 89P�/0. �� 1�Y�� 1��U���� 8�2 . �!.*RW��/!��/N%&/6= UV P I�4 IX �K���?= K24 �5 B! !��U&,�. � $ *�*�*

P�/N. �� ��6�� ���U���$ , G�,�/6� UEP�/N. �� ����\w P�/0. �� 1�Y�� 1��U�� ., :H�k< � � � An��y��#5�@�� �� 1� M� D /N. �K�� ������� 1%!T1� . /6�Bw@P�/N. �� ��6�� ���U ��� � M � ., :H�k< � � � An��y��#5�@�� �� 1� M� �� ZUF. 36�K�� ������� 1%!T1� . /6�Bw@P�/N. �� ��6�� ���U ��� � M � .C

2 . �!.*RW��/!��/N%&/6= Uu$�� ��� ������ . /6�KRW��/!��/N%&/6= U98 :< �%�= ������� . /6�KRW��/!��/N%&/6= U98@ACBED �%��&RW�#/���/N%&/?= U8@AJG��� !��U&,�. � RW�#/���/N%&/?= U@89� . 5� �RW�#/���/N%&/?= U@8;:L���M�N: . UM��� . BKT1� . /6�KRW��/!��/N%&/6= U

�� ��� ������ . /6�KRW�#/���/N%&/?= U9$'R6�KT�UE �RW�#/���/N%&/?= 8 *�*�*R6�KT�UM �R ��/!��/N%Z/?= $ X �K���6= �R6�KT�UM K�� ZU&TK5� 8OR6�KT�UM 1�Y�� 1��U����X �K���?= �R6�KT�UE ��� ZUZT�5C '$

, : �k< � � � An��y��$5�@�� �� 1�M �# ��?T� ZUM�&R6�KT�UE �w GC,�/Y� U P�/0. �� 1���� w GC,�/Y� U1R6�KT�UM 1����� w,���� �k< ^ � lc@�� �� 1��� . ��. � . ���� �RY�KT�UE �w C . X �K���?= �R6�KT�UE ��� ZUZT�5C .

, : �k< � � � An��y��$5�@�� �� �� M� �# ��?T� ZUM�Z�Y 1U&TK5� �w GC,�/Y� U P1/N. �� ���� wG�,�/6� UZRY�KT�UE 1���1� w �� 1U&TK5� ��� ZU � /?��UM ��!"!$#�%�# .

C�� ZUZT�5C ��� ZU � /?��UM '&)( U � % � $

,�� :H� ^ � �� 1�M . �!. � . ���� K�Y 1U&TK5� �w C . X �K���6= �R6�KT�UM K�� ZU&TK5� �� ZUZT�5C ��� ZU � /?��UM � *�+ � � % � $ X �K���6= �R6�KT�UM K�Y 1U&TK5� R6�KT�UM ��6�� ���U�� $ *�*�*

ACBED �%��&RW�#/���/N%&/?= U9$ X �K���6= ��� Z3N. U���� ��� . /?��U 8 X �K���?= K�� !5�/�-� 1U98 X �K���6= ',W� ��� ACT�� AH"-N%Z/ � 1U 8 *�*�*

X �K���?= K�Y 130. UM������� . /6��Uu$ *�*�*X �K���?= K�Y �5�/!-� ZU9$

, : �k< � � � An��y��$5�@�� �� 1�M �� �= &�� �ABMD 1%��Aw GC,�/Y� U P�/0. �� 1���� w,���� �k< ^ � � : 2 @�� :< �%�. �� �� "M�Y �5�/!-� �. 1 1�� 1� ��. X �K���6= ��� �5�/!-� ZU .

, : � < � � � An��y��$5�@�� �� 1�M ��� ���#U�ACT�� AH"-N%&/ � Bw:< 1%�. �� �� "M�� �5�/!-� �. Z ��� ���M X �K���6= ��� !5C/!-� ZU .

, . 5 � = . %�. � ACT�� AH"-N%&/ � ���.1w :< 1%�. �� �� "M�� !5C/!-� �. Z ��� ���M X �K���?= K�� !5�/�-� 1U .C

:< �%�. �� �� "M�Y �5�/!-� �. 1 1�� 1� M $ C�B �� �� M� �� !5�/�-� �ACBED 1%&�;w C

X �K���?= �, � ���$ACT�� AH"-N%&/ � ZUs$, : �k< � � � An��y��$5�@�� �� 1� M� U&TKB�U %��$. B! �ACBED�QL= ��UMU�, � ��� w

:< 1%�. �� �� 5 � = ACT�� AH"-N%Z/ � M X �K���?= �, � ���$ACT�� AH"-N%&/ � ZU .

*�*�*

:< 1%�. �� �� 5 � = ACT�� AH"-N%Z/ � �M X �K���?= �, � ���$ACT�� AH"-N%&/ � ZU ., : �k< � � � An��y��$5�@�� �� ���M � TKB�= . UZ,!ABMDMQ<= ��UEUsw G�,�/6� UEP�/N. �� ���� w

,���� �k< ^ � � : 2 @�� :< �%�. �� �ACT�� AH"-N%Z/ � �-. X �K���6= ',W� ���$ACT1� AJ"-N%&/ � ZU .

*�*�*

" 35V�1JABG�� < ��TgH�4[AB=�\I4LOPA7@�c MNA]35V�6�4e<�bÄG%\�3 � \�=S4735@�D�@�O �(�7�#)+ !,���-!. /0� � r �:

r �

Page 41: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

federatefederate

(1) requestPause (2) whoIsJoined.{1,2}

(4) resignFedExecution (5) initiatePause !!

(3) whoIsPaused.{}

RTI internal events

" 35V�1JA7G�� � �hXL=�\IG�fh@�D 2/354735@�D&QL35476CXoG%Z735V�D 3WDJV�"JG%2JG�AB=S4[G%Z � r �:

~ 6/3¨ZÙZ73W471/=S4735@�D&QÙ@�1 EW2�\IA7G%=S4[G =�D9=S4[4[G%c+b/4â4[@d\I@�cdc�1/D/3¨\�=S4[GFQe35476&476JGuOºG%2JG�A]=S4[G{476/=S4â3WZRDJ@+E5@�DJV�G�A w @�3WDJG%2�:�Ø@�4[G%D�473¨=�EÄ2/G%=�2/E5@�\ � Qh=�ZR3W2/G%D�473�� G%2+3WDd4�QÙ@YZ735471/=S473W@�D/Z�l�@�D/Ge3WD�j�@�E5j�G%2dV�3Wj�3WD/V OºG%2/G�AB=S4[G%Z�476/GLAB35V�6�4�4[@;A7G�O½1/Z[G4[@Nb =�1/Z7G&=�D/2Â476JG�@�476JG�A+ABG%EW=S4[G%2)4[@N476JG�AB35V�6�4;@�OF=Ëb =�1/Z[G%2ÂOPG%2JG�AB=S4[G94[@N2JG%\�3W2JG&QL6JG�476/G�Ad354;Qe3WZ76JG%Z;4[@A7G%Z71 c+G{@�ALDJ@�4�:

� � � �Ø��� � ���.*�,Ò F� ����*�� � ��� �M²6JG%D�@�DJGYQL3WZ76/G%ZL4[@9V�=�3WD�\I@�D ��2JG%D/\IG+3WDË476JG+\I@�A7A7G%\I47DJG%ZBZ{@�OÙ=�Z[`�Z[4[G%c9l�_ 1/4F=�O½1/EWE^b/A7@�@�O�3WZF4[@�@¸\I@�Z747E5`�l@�AYQL6JG%DÖ@�DJG�QL3WZ76/G%ZU4[@N1/D/2/G�ABZ[47=�D/2Ö6J@mQ =�Z[`�Z[4[G%c QL3WEWE�A7G%=�\I4+1/D/2JG�AYZ[b'G%\�3�� \Ó\I@�D/2/354735@�D Z�l 476JG%D)Z7=�cY�b EW3¨DJV{4[G%\B6/D 3 ��1/G%Z�b/AB@mj�3W2JGL=�D&=S4[4[AB=�\I4735j�G{=�E54[G�ABD =S4735j�Ge4[@�476JGFc+@�A7GFV�G%DJG�AB=�E�b/A7@mj�3WDJVU4[G%\B6/D/3 ��1JG%Zh2/3WZB\�1/Z7Z[G%2=S_'@mj�G�: ~ 6JG�A7Gu=SA7G{4.Qh@¢cd=�3¨D&ZB=�c+b EW3WD/VU4[G%\B6 D/3 ��1JG%ZR476/=S4o6/=mj�G _'G�G%D&=Sb b EW35G%2&4[@+476JG{=�D/=�E5`�Z73WZh@�OØZ[@�Oº4�Qh=SABG=SAB\]6/354[G%\I471JA7G%Z���Z73Wc�1/EW=S4735@�D9=�D 2�4[G%Z[473WDJVJ:

�� 3 %��#"�9() +-%(�.$

<�3Wc�1/EW=S473W@�D¸=�EWE5@�QLZo@�DJG;4[@&2 35A7G%\I47E5`�@�_ Z[G�ABj�GU476JG�=S_ Z[4[AB=�\I4F_'G%6/=%j�35@�AL@�O�=&Z[`�Z[4[G%ctQL35476J@�1J4e3WD/\�1JA7A]3WDJVY476JG\I@�Z[4R@�O^=;OP1 EWE 3Wcdb E5G%c+G%D�47=S4735@�D�:�nFO"\I@�1JABZ7G�l�_'G%\�=�1/Z7GF354h3WZh=;Z73¨c;1/E¨=S4735@�D¢=�D/2�DJ@�4R=;A7G%=�E _'G%6/=mj�3W@�A%l�\IG�AB47=�3WD=�Z7Z71 c+b/4735@�D/ZF=SA7G+_'G%3WDJV�cd=�2JGY4[@¸Z71/b/b'@�A74L476JG+GIH�G%\�1J4735@�D": ~ 6JG ��1/=�EW354�`¸@�Oh476JGYA7G%Z71/E547ZF@�Oh=9Z73Wc�1/EW=S4735@�D=�D/=�E5`�Z73WZâ=SABG 476JG�A7G�OP@�A7GU6JG%=mj�3¨E5`Ó2JG�b'G%D/2/G%D�4â@�D9476/G ��1/=�E¨354.`&@�O-476/@�Z[GU=�Z7Z71 c+b/4735@�D/Z%:

� ),� � %�$�xD =�2/2/3W4735@�D²4[@Ü476JGÖb/A7@�@�O�=�D =�E5`�ZB3WZ¸2JG%Z7\IA]35_'G%2 3WDÉ<�G%\I4735@�D � :W�S: ��l;K ~ <J8 ZB1Jb/b'@�A747Z9=ÜEWG%Z7Z9GIH�bÄG%D Z735j�G�lZ7\IG%D/=SA]35@S�_ =�Z[G%2Ò=�D/=�E5`�Z73WZ�:ÒMNG�1/Z[G¸476JGËZ73Wc+b�E5G9GIH�=�cdb E5G¸@�O =Ö\I@�3WD��4[@�Z7Z&Z[`�Z[4[G%c9lâ47= � G%DÒOºAB@�c K ~ <�8#$yZ1/Z[G�AYcd=�D�1/=�E°l 4[@�b/A7@�j�3W2/GÓ= � =%j�@�A+@�Oo476 3WZ 4�`�b'G&@�OL=�D/=�E5`�Z73WZ�: ~ 6JG "g< ��DJ@�47=S4735@�DÂOº@�A�476JG�\I@�3WDÂ4[@�Z7ZY3WZG%D�4[G�A7G%2à3WD�4[@9476JGdG%2 354[@�A QL3WD 2J@mQ @�OâK ~ <�8;: ~ 6/3WZu3WZ ZB6J@mQLDà=�Z{476JGdQL3¨D/2J@mQ 4[@¸476/Gd_ =�\ � 3WD(" 35V�1/A7G � � :~ 6JG�\I@�3WD��4[@�ZBZ+Z[`�Z74[G%c GIH�6/3W_ 3547ZUD/@�D/2JG�4[G�ABcd3¨D/3WZ[473W\¢\B6J@�3W\IG91/ZB3WDJVC476/G&@�b'G�AB=S4[@�A ! #�:¼MNG¸Z[G�G�OPA7@�c 476JGZ[b'G%\�3�� \�=S473W@�D�476/=S4 =�4[@�Z7Z @�OR=9\I@�3WD�QL3¨EWE-D/@�D/2JG�4[G�ABcd3¨D/3WZ[473W\�=�E¨E5`9A7G%Z71/EW4F3WD���� � � �d@�A ��� ������l"=SOP4[G�A QL6/3¨\B6=�DJ@�476JG�Ae4[@�Z7Zâ@�O 476JGU\I@�3¨D9\�=�D¸_'G cd=�2JG�:

8eOº4[G�A�476JGà\I@�2JGÖ3¨Z9G%D�4[G�ABG%2 3WD�4[@Ô476JG¼G%2 354[@�A%l{476JG¼_�1/3WEW2²c+G%D�1Ê\�=�DÉ_ÄG¼1 Z[G%2 4[@¾\IABG%=S4[GÖ=Ô4[A]=�D/Z73×�4735@�D)Z[`�Z[4[G%c9: ~ 6JG&=�D =�E5`�Z74Y\�=�D)476/G%DÂ1 Z[G�476JG9\B6JG%\ � c+G%D�1Â4[@NAB1/DÂ2/3×>'G�A7G%D�4�=�D/=�EW`�Z[G%Z%: ~ 6JG�EW3WDJG !�� �� ����� � ����� ���� � � � � � #L=Sb/b'G%=SAB3WD/Vu3¨D+=�DJ@�476JG�A�@�O'476JGLQL3WD/2J@�QLZgZ76J@�QLDd3WD " 35V�1/A7G � � 3WZ�476JGoA7G%Z71 E54 @�O'\]6J@�@�Zx�3WDJV"!B<�=SOPG�4.` #{OPA7@�c�476JGocdG%D�1 �½Z[G�Gu<�G%\I4735@�D � :W�S: ��]: ~ 6/GâQL3WD/2J@�Q�![K ~ <�aeA]=%Q # ZB6J@mQLZ�=uV�AB=Sb 6/3W\�=�E�j�G�ABZB35@�D@�O 476JG K ~ <Ä:

r�p

Page 42: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

" 35V�1JA7G�� � ��K ~ <J8 <�3¨c;1/E¨=S4735@�D�8eD/=�EW`�Z73¨ZR@�OØ=ÓfR@�3WD�� ~ @�Z7Ze<�`�Z[4[G%c9:

~ @FZB3Wc;1 EW=S4[G�476JGR\I@�3WD��4[@�ZBZØZ7`�Z[4[G%c¸l�476JGÙ=�D/=�EW`�Z[4 \B6/@�@�Z[G%Z ![Xe1/D�#eOºA7@�cÉ476JGR\B6JG%\ � c+G%D�1�: ~ 6/3WZ^\�=�1/Z[G%Zg=4[@�@�EJ\�=�EWE5G%2+8FD/3Wcd=S4[@�A 4[@{GIH�G%\�1J4[GL3WDY3547ZØ@mQeDYQL3WD/2J@�Q : 8eD/3¨cd=S4[@�Ag=�EWE5@mQeZ 476JGâ1/Z[G�Ag4[@ Z[4[G�b+476JAB@�1JV�6Y={Z73WcY�1/EW=S4[G%2¸GIH�G%\�1J473W@�D�l/QL354769D/@�D/2JG�4[G�ABcd3¨D/3WZ7c \I@�D�4[A7@�EWE5G%2¸3¨D�4[G�ABD =�EWE5`d476JAB@�1JV�6¸=+AB=�D 2J@�cY�.D�1/cU_'G�AâV�G%DJG�A]=S4[@�A%:~ 6JG+EW3¨Z[4F=Sb bÄG%=SA]3WDJV¢@�D¼476JG+E5G�Oº4{Z73¨2JG;@�Oh476JG+=�D/3Wc¢=S4735@�DËQL3WD/2J@�Q�3WD/2/3W\�=S4[G%ZF476JG+Z[G���1JG%D/\IG+@�Oh4[AB=�D/ZB354735@�D/Z47= � G%DÏ4[@N=ËV�35j�G%DÂb'@�3WD�4Y2/1JA]3WDJVC=Ëb =SA7473¨\�1/EW=SAYZ73Wc�1/EW=S4735@�DàAB1/D�: ~ 6JG�\B6/@�3W\IG%ZY@�D)476JG&AB35V�6�4YZB3W2JG¢@�Oe476JG=�D/3Wc¢=S4735@�DËQL3WD/2J@�Q�Z76J@mQ�476/G+bÄ@�ZBZ735_ E5G�3WDJb 1/47ZL4[@9476JGdZ7`�Z[4[G%c¸:�8´\B6JG%\ � c¢=SA � 3WD 2/3W\�=S4[G%Zu=�j?=�E¨3W2�3WDJb 1J4=S4o476/=S4LbÄ@�3¨D�4â3WD�476JG;Z73Wc�1/EW=S4735@�D�:�fRE¨3W\ � 3WDJV�@�D¸=d\]6JG%\ � G%2Ë354[G%c \�=�1/Z7G%Zo476JGU3¨DJb 1J4h4[@d_'G{V�G%DJG�AB=S4[G%2�: ~ 6JGA7G%Z71 E54Ù@�O-\�EW3W\ � 3WDJV�@�D !x47=�3WEWZ$#Y3WDÓ476JG{Z7\IG%D/=SA]35@+Z76J@mQeDÓQe3WEWE EWG%=�2Ó4[@Y476JG{=Sb/b'G%=SAB=�D \IGF@�O-476JGuQÙ@�A]2 ��� � ��� =S4476JG G%D 2�@�OØ476/G EW3WZ[4R@�D9476JG;E5G�Oº4oZB3W2JGu@�O 476JG =�D/3Wcd=S4[@�ALQL3WD/2J@�Q : ~ 6JG{\]6JG%\ � cd=SA � QL3¨EWEÄ476JG%D¸=Sb/b'G%=SALDJGIH�44[@ !x4[@�Z7Z #�l�3WD/2 3W\�=S473WDJV�476/=S4o476JG;\I@�3WD¸3WZRA7G%=�2/`Ó4[@Ó_ÄGu4[@�Z7Z7G%2C=SV�=�3WD�:

� ),��%(���

XL=Sb�3W2JGU=�EWEW@mQLZe=¢2JG%Z73WV�DJG�Ao4[@�Z[b'G%\�35Oº`&476JG;_ÄG%6 =%j�35@�AL@�O�=ÓZ[`�Z74[G%c G%35476JG�Au3WD9476/GU_'G%6/=%j�35@�AFZ[G%\I4735@�D¸Qe35476/3WD=�D+3WD�4[G�A7O½=�\IGâ@�A%l�c+@�A7GâG%E¨=S_Ä@�A]=S4[G%E5`�l�=�Z�={Z[G�b =SA]=S4[Goc+@�2 1/E5Gh476/=S4�3Wc+b EWG%c+G%D�47Z =�D+3WD�4[G�A7O½=�\IG�: �#DYG%35476/G�A�\�=�Z[G�l476JG Xe=Sb 3W2JGu2JG%Z7\IAB3Wb/4735@�D&\�=�D9_'Gu\I@�cdb 3WE5G%2�=�D/2&GIH�G%\�1J4[G%2�l/QL6 3W\B6&b/A7@�j�3¨2JG%ZR=+Z73Wc�1/EW=S4735@�D&@�O^476/G Z[`�Z74[G%c%$yZ_'G%6/=%j�35@�A 1/D 2JG�A{Z[b'G%\�3�� \Y\I@�D/2/35473W@�D/Z�: ~ 6JG+A7G%Z71/EW47=�D�4{\I@�c+b 1/47=S4735@�D¼3WZ{\�=Sb/471/A7G%2N=�Z =9b =SAB473W=�EWE5`¸@�A]2JG�A7G%2

r�s

Page 43: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

" 35V�1JA7G ��p���XL=Sb 3W2/G �hn � ~ @�@�EÄaF3¨Z[b EW=m`�3WD/V{476JG �Ø@�Z[G�4hOP@�Ah=Y<�3Wc�1/EW=S4[G%2dXe1/Dd@�O�476JG u=�Zâ<�47=S4735@�D9<�`�Z[4[G%c9:

Z[G�4o@�OØG�j�G%D�47Z�l 476JGUbÄ@�Z7G�4��½Z[G�GY<�G%\I473W@�DCr�:Ñr�:Ñr�]:~ 6/GLb'@�Z[G�4Ù3¨ZÙ1/Z7G%2d4[@+Z71Jb/b'@�A74�ZB3Wc;1 EW=S4735@�DdABG�j�35G�QUl�G%35476JG�AR=�ZR=�DÓ=�D 3Wcd=S4735@�D¢@mj�G�Aâ476JGFZ[4[AB1/\I471JA]=�E j�35G�Q

@�O 476JGUZ[`�Z[4[G%ct3WD�476JG 4[@�@�E"XL=Sb 4[@�A%l @�AL=�ZLV�AB=Sb 6/3¨\�=�E�A7G�b/A7G%Z7G%D�47=S4735@�D�3WD�476JG 4[@�@�E �Rn ��: " 35V�1JA7G ��p+Z76J@�QLZ476JGF1/Z[Go@�O �hn � 4[@;=�D =�E5` '�GF=�D¢=SAB\]6/354[G%\I471JA]=�E�2JG%ZB\IAB35b/4735@�DY@�O"= j�G�ABZ735@�D¢@�O�476JGLV�=�ZhZ[47=S4735@�D¢GIH�=�c+b�E5G�: ~ 6JG� E5Gec+G%D�1Ó3WZ�1 Z[G%2d4[@YZ[G%E5G%\I4h=UE5@�V#� E5Go476/=S4R\I@�D�47=�3WD/ZÙ476JGLb'@�Z[G�4�ABG%Z71/E5473WD/V{OºA7@�c =UZB3Wc;1 EW=S4735@�D+AB1 D�:g<�G�j�G�AB=�E2/3×>'G�A7G%D�4hE¨=%`�@�1J47Zo=SABGu=mj?=�3¨EW=S_ E5GFOº@�Aâj�35G�QL3¨DJVJl�=�D/2�@�476/G�AoXL=Sb 3W2/GL4[@�@�EWZâ=SA7G{=�\�\IG%Z7Z735_�E5Guj�3W=;476JG{EW=m`�@�1J4o=�D/24[@�@�EWZoc+G%D�1/Z�:ÙnuD \IG = � E5G{=�D/29=dE¨=%`�@�1J4L=SABG \B6J@�Z[G%D"l =dDJ@�2JG{\�=�D¸_'G{Z[G%E5G%\I4[G%2�=�D/29476JG%D�476JG;=�D/=�E5`�Z[4o\�=�DA7G���1JG%Z[4;4[@�j�35G�Qß476/G&\�=�1/ZB=�E�b =�Z74U@�A�476JG&\�=�1 Z7=�E�O½1J471JABGd@�Oâ476JGÓZ7G%E5G%\I4[G%2ÂG�j�G%D�4�:��#Dà476JGÓ\�=�Z7G�ZB6J@mQLDÖ3WD" 35V�1JA7G ��p�l�476/GF\�=�1/ZB=�E b =�Z74�@�O�G�j�G%D�4�!Bn � 8�+ #�3WZÙ6/35V�6/EW3WV�6�4[G%2�l�=Sb/b'G%=SAB3WDJV =�Zh476JGF2/=SA � G%DJG%2&DJ@�2JG%Z�3WD¢476JGb'@�Z[G�4�:

� ��; +�%($&2

~ 6JGg47=SABV�G�4-=SA74735O½=�\I4"@�O�4[AB=�2/3W4735@�D/=�ES4[G%Z[473WD/Vo4[G%\B6/D 3 ��1/G%Z"3WZ�l�@�O�\I@�1JA]Z[G�l�476/G�3Wc+b EWG%c+G%D�47=S473W@�Du@�O�=LZ[`�Z74[G%c9:-8FD=SAB\]6/354[G%\I471JAB=�E�2JG%Z7\IA]35b/4735@�D;\�=�D;=�EWZ7@L_'GÙ=FZ71/3547=S_�E5Gg47=SA7V�G�4g35OJ354-\I@�D�47=�3WD/ZØG%DJ@�1/V�6U_'G%6/=mj�35@�A]=�E�3WDJOP@�ABcd=S473W@�D{4[@b'G�ABcd354�ZB3Wc;1 EW=S4[G%2+GIH�G%\�1J4735@�D/Z�: ~ 6JGob/AB3¨cd=SA7`Y2/3×>'G�A7G%D/\IGo_'G�4.QhG�G%D&Z73Wc�1/EW=S4735@�Dd=�D =�E5`�ZB3WZ�l�2/3¨Z7\�1/Z7Z[G%2+=S_'@�j�G�l=�D/2Ü4[G%Z[473WDJVJlo2/3¨Z7\�1/Z7Z[G%2)_'G%E5@�Q lâ3WZdG%ZBZ[G%D�473¨=�EWE5`)=àcd=S4[4[G�A�@�O{6J@mQ 476JGËZ73Wc�1/EW=S4[G%2ÏGIH�G%\�1J4735@�D/Z&=SA7GC1 Z[G%2�:�xD¸b =SA7473¨\�1/EW=SA%l/Z73¨c;1/E¨=S4735@�D¸=�D/=�E5`�Z73WZoOº@�\�1/Z[G%ZL@�DC_/AB@�=�2/E5`�3WEWEW1/Z74[AB=S473WDJV�@�AeGIH�G%c+b E¨35Oº`�3WDJV+Z[`�Z[4[G%ct_'G%6/=%j�35@�A%lQL6JG�ABG%=�Zâ4[G%Z[473WDJVÓ=�D/=�E5`�Z73WZâ3WZâ=�3WcdG%2¸=S4L\�=SA7G�O½1/EWE5`ÓGIH�G�A]\�3WZ73WDJVY476JG;Z[`�Z74[G%c _'G%6/=%j�35@�A%:

� q

Page 44: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

~ G%Z[473WDJVN4[G%\]6/D/3 ��1JG%Z+=SA7GC4.`�b 3W\�=�EWE5`Ö=Sb/b EW35G%2)=S4d=NjS=SAB35G�4�`Ö@�OuE5G�j�G%EWZ%:)iFD/354Y4[G%Z[473¨DJV¼3WZYb'G�A7OP@�ABc+G%2Â@�D3WD/2 35j�3¨2/1/=�E/\I@�c+b'@�DJG%D�47Zâ4[@d\]6JG%\ � 476JG%3WAR3¨D�4[G�ABD =�E�\I@�A7A7G%\I47DJG%Z7Z%:h<�`�Z[4[G%c 4[G%Z[473WDJVd3¨ZRbÄG�ABOº@�ABcdG%2Ó@�DC=YQL6J@�E5GZ[`�Z[4[G%c 4[@à\]6JG%\ � 3W47Z+=�2/6JG�A7G%D/\IGC4[@NA7G���1 35A7G%c+G%D�47Z�:ÏkhG�4.QhG�G%D¾476/G%Z[G94.Qh@ÖE5G�j�G%E¨Z+3WZ+3WD�4[G�V�AB=S4735@�DÔ4[G%Z7473WDJVJlQL6/3¨\B6¼\]6JG%\ � ZYOº@�A;G�A7A7@�ABZ;3WD¼476/GÓ3WD�4[G�A7Qh@�A � 3¨DJV9@�Oo\I@�c+b'@�DJG%D�47Z;3WDà4[G�ABcdZU@�Oo2JG%Z735V�DÖ\I@�A7A7G%\I47DJG%Z7Z%lØA]=S476JG�A476/=�D�A7G���1/35A7G%c+G%D�47ZL\I@�ABA7G%\I47DJG%Z7Z�: ~ 6/3WZo3¨Zo476JGYE5G�j�G%E"476 =S4F=Sb/b'G%=SABZL4[@Ó_'GUcd@�Z[4F=Sb b/A7@�b/AB3¨=S4[G Oº@�Au1/Z[GUQL35476=SAB\]6/354[G%\I471JAB=�E^2JG%Z7\IAB35b 4735@�D/Z�:

khG%\�=�1/Z[GLGIH�6/=�1 Z[4735j�Gâ4[G%Z[473WD/V 3WZ�l�3WDYV�G%DJG�A]=�E°l�3Wc+b AB=�\I473W\�=�E°lS476JGo=�D/=�EW`�Z[4�D/G�G%2/ZgZ[@�c+GâQR=%`Y4[@ @�_ w G%\I4735j�G%E5`2JG%\�3W2/GdQL6JG%DN4[G%Z7473WDJVCZ76/@�1/EW2�_'G+4[G�ABcd3WD =S4[G%2�: ~ 6�1/Z%l^476JG¢\I@�D \IG�ABDà3WD¼4[G%Z[473WDJVC3¨Z{4[@�=�\]6/35G�j�GÓ= ¿B­S®�«I¬[ª%Ã�«V�@�=�E 476/=S4 \�=�DN3WD 2/3W\�=S4[G�476JG+2JG�V�A7G�G+4[@9QL6/3¨\B6�476JG+Z[`�Z74[G%c 6/=�Zu_'G�G%D�GIH�G�AB\�3WZ7G%2�:U8ß\IA]35473W\�=�E \B6/=�E¨E5G%DJV�G+3WD2JG�j�G%E5@�b�3WDJV�4[G%Z[473WDJVN=�D/=�EW`�Z[G%ZdOº@�AdZ[@�OP4.QR=SA7GC=SA]\B6/354[G%\I471/A7G¸2JG%Z7\IAB3Wb/4735@�D/ZY3WZY476JG�ABG�Oº@�A7G9476/G&OP@�ABc�1/EW=S4735@�D)@�O\I@mj�G�A]=SV�G�\IAB3W4[G�AB3W=+=Sb/b/AB@�b/AB3W=S4[Gu4[@¢476 =S4LE5G�j�G%E�@�O 2JG%Z7\IAB3Wb/4735@�D � � � �:

��� /

khG�A74[@�EW3WD/@oG�4-=�E°: � � ��2JG�j�3WZ[G%2 =L4[G%\B6/D 3 ��1/G�Oº@�AØ1/Z73WD/Vo=SAB\B6/3W4[G%\I471JAB=�E�2/G%Z7\IAB35b/473W@�D/Z�=�Z"476JGÙ_ =�Z73WZ"Oº@�AØ3WD�4[G�V�A]=S4735@�D4[G%Z[473WD/VJ: ~ 6JGU4[G%\]6/D/3 ��1JGU3¨ZL=Sb/b E¨3W\�=S_ E5G{4[@�=�D�`¸cd@�2JG%E^OºAB@�c QL6/3¨\B6C=¢4[AB=�D/Z73W4735@�D¸Z[`�Z[4[G%c \�=�DC_'G;2/G�AB35j�G%2�:"J@�A¸476/G%35A9b 1JA7b'@�Z[G%Z%lL476JG�`ÒOº@�1 D/2²3549\I@�D�j�G%D/3WG%D�4¸4[@Üb/A7G%Z[G%D�49476JG�4[G%\B6/D 3 ��1/G¼3WDÒ4[G�ABcdZ9@�O�476JGÖf"!F8 �OP@�ABcd=�EW3WZBc9:

~ 6/GL_ =�Z73¨\o=Sb/b/A7@�=�\]6Ó3¨Z�4[@�Oº@�ABc´Z71J_/V�A]=Sb 6/Z�@�O�476/GL4[AB=�D/ZB354735@�DdZ[`�Z[4[G%c´V�AB=Sb 6Ó476/=S4�ABG�b/A7G%Z[G%D�4Ù2/35>ÄG�A7G%D�4j�35G�QLZ�@�O'476JGFZ[`�Z[4[G%cß_'G%6/=mj�3W@�A�@�O�3WD�4[G�A7G%Z[4�4[@;476JGe=�D =�E5`�Z74�: �e@�4R\I@�3WD/\�3W2JG%D�47=�EWE5`�l�476JGeZ71/_/V�AB=Sb 6/Z�A7G�b/A7G%Z[G%D�42/3×>'G�A7G%D�4L\I@mj�G�A]=SV�Gd\IAB354[G�AB3W=¢=Sb/b EW35G%2¸4[@¢476JG;4[AB=�D/Z735473W@�D¸Z[`�Z[4[G%c V�A]=Sb 6�:o8�\I@�c+b EWG�4[G%E5`9\I@mj�G�A7G%2NZ71/_/V�AB=Sb 63WD/2 3W\�=S4[G%Zâ=dZ7=S473WZ��/G%2¸\IAB354[G�A]35@�D�: ~ 6JA7G�G{@�OØ476JGUZB1J_/V�AB=Sb 6 Zâ=SA7G{476JG OP@�EWE5@�QL3WDJVJ:

��� ­�±�¿�»�¬�¬[«�± ¶½À�¬7«7¯�»J¿�«7¯¼Ã�¬xª�© ¥�ÅÊ~ 6JGËf"!F8 � c+@�2JG%Eâ\�=�DÒE5G%=�2Ï4[@ÖA7G%=�\I4735@�DÔA]1/E5G%Z+_'G%3WDJVN=Sb/b�EW3W\�=S_ E5G4[@Âc;1 E54735b E5G�lÙ3WD/2JG�b'G%D/2JG%D�4+Z71J_ Z7@�EW1J4735@�D/Z�@�Ou=¼V�35j�G%DÜZ[@�EW1J4735@�D"l�QL6/3¨\B6Ôc+G%=�D Zd476/=S4d476/G¸_'G%6/=%j�35@�AABG�b/A7G%Z[G%D�4[G%2d_�`+476JGoAB1 E5G%Z�\�=�Dd@�\�\�1JAÙG%35476JG�AÙ\I@�D \�1JA7A7G%D�47E5`Y@�AÙ3WD¢=�D¢=SA7_ 3W4[AB=SAB3WE5`;3WD�4[G�A]E5G%=%j�G%2ÓOP=�ZB6/35@�D�:~ 6JGU\I@�D/\�1JABA7G%D�4x�ABG%2/1/\IG%2¸V�A]=Sb 69A7G%c+@�j�G%ZL476/G;3WD�4[G�ABE5G%=mj�G%2¸4[AB=�D/ZB354735@�D/Zo3¨D�OP=mj�@�Ae@�Og476JG;\I@�D/\�1JA7A7G%D�4@�D/G�:

� Ú]±�©�»J¶½À�¬7«7¯S»/¿�«7¯¸Ã�¬xª]©�¥�ÅC~ 6JG+_'G%6/=%j�35@�A @�Oo=�f !e8�� 3WZ{4�`�b 3¨\�=�EWE5`ËA7G�V�1/EW=S4[G%2à_�`�@�DJGd@�A�c+@�A7GdA]1/E5G%ZABG�b/A7G%Z[G%D�473WDJVd3WD/b 1J4h4[@+476JG Z[`�Z[4[G%c9:*�#4[G�AB=S4735@�D9@�OØ476JG%Z[GUAB1/E5G%ZhV�@mj�G�A]DC476JG ![=�cd@�1/D�4$#d@�OØ3WD/b 1J4R=�D/2�l3¨DÏcd=�D�`)\�=�Z[G%Z�lh476JGC2/G�V�A7G�G9@�OF\I@�D \�1JA7A7G%D/\I`)3WD)476JG¸Z7`�Z[4[G%c¸:ÔfR@�D/Z73W2JG�A+=Nb�35b'G%EW3WDJG¢=SA]\B6/354[G%\I471/A7G476 =S4�3WZ;V�35j�G%DÖ@�D/E5`�@�DJG&b'@�A74735@�D¼@�Oo3¨DJb 1J4 4[@Ëb/A7@�\IG%Z7Z;j�G�ABZ71/Z;4.Qh@Ë@�A�c+@�ABGÓb'@�A74735@�D Z�: ~ 6JG&c+@�A7Gb'@�A7473W@�D/ZR@�Og3WDJb 1J4hOPG%2¸4[@d476JG Z7`�Z[4[G%c¸l/476JGUc+@�ABG b'@�4[G%D�473W=�E"Oº@�AL\I@�D \�1JA7A7G%D/\I`�l�1Jb94[@ÓZ[@�cdGU3WD�4[AB3WD/Z73¨\c¢=?H�3Wc�1/c9: ~ 6/GdOP1 EWEg4[AB=�D/ZB354735@�D¼Z[`�Z[4[G%c�V�AB=Sb 6àA7G�b/A7G%Z[G%D�47Z;476/3WZ cd=?HJ3Wc�1/c9lØQL6/3WEWGY=�D�`�476/3WDJVËE5G%Z7Z476 =�D9476JGUcd=?HJ3Wc�1/c 3WZo=+Z7@S�.\�=�EWE5G%2C3¨DJb 1J4x�A7G%2 1/\IG%2&V�AB=Sb 6�:

��� «Ã�¬7«�§]§]¦°­S±/À#¬[«B¯S»/¿]«B¯¢Ã�¬[ª]© ¥�Åâ~ 6/3WZRZ71/_/V�AB=Sb 6�@�O 476JG{4[AB=�D Z7354735@�D9Z[`�Z[4[G%c V�AB=Sb 6¸3WZâZB3Wc+b E5`¢Oº@�ABcdG%29_�`\I@�D Z73W2JG�AB3¨DJVY@�D/E5`¢476/@�Z[GUZ[47=S4[G%ZF=�D/294[AB=�D Z7354735@�D/ZhA7G%EWG�j?=�D�4o4[@¢Z[@�cdG b =SA7473W\�1 EW=SAo\I@�c+b'@�DJG%D�4�:

khG�A74[@�EW3WD/@dG�4e=�E°:�DJ@�4[GU476/=S4L476JG;3WD/b 1J4x�A7G%2/1 \IG%2�V�AB=Sb 6¸3WZe=+_ =�Z73¨ZâOº@�AF=dOP@�ABc @�O�Z[4[ABG%Z7Zo4[G%Z[473¨DJVJl QL6 3WE5Gu476JGA7G�V�A7G%ZBZ735@�D��A7G%2 1/\IG%2�V�AB=Sb 6¸3¨Zo=Y_ =�Z73WZoOº@�AoABG�V�A7G%Z7Z735@�D�4[G%Z7473WDJVd@�O \I@�c+b'@�DJG%D�47Z �½6JG%D/\IG;3547ZoD/=�c+G ]:

� � � ¡�� ���Ù�����^*  F� ���Ù*�� �Ø��� �nuDJG�QR=%`)4[@¼A7G%2 1/\IG9476JG¸\I@�Z[4d@�Ou=�D/=�E5` '%3WDJVN=NEW=SABV�G¸Z[`�Z74[G%c 3WZY4[@àZ73¨c+b E5`NA7G%2 1/\IG9476JG¸=�c+@�1/D�4d@�OF476JGZ[`�Z[4[G%ct476/=S4eDJG�G%2 ZL4[@Ó_ÄG;=�D/=�E5` '�G%2�: ~ 6JG ABG%2/1/\I4735@�DCb/A7@�\IG%Z7ZL3WZe3547Z[G%E5O =dOP@�ABct@�Og=�D/=�E5`�Z73WZ�l/_�1J4o@�DJG;476/=S43WZhc+@�A7G{=Sb/b/AB@�b/AB3W=S4[G%E5`+\]6/=SAB=�\I4[G�AB3�'�G%29=�Zâ= ![c+G�47=?�.=�D/=�EW`�Z73¨Z$#�l/Z73WD/\IGu3547ZÙA7G%Z71/EW4Ù3WZh3WD�4[G%D/2JG%2Ó4[@�_'Gu3WDJb 1/4�4[@=�DJ@�476JG�Au=�D/=�E5`�Z73WZR4[G%\]6/D/3 ��1JG�l�AB=S476JG�AL476 =�DC=dABG%Z71/E54o3WDC3547Zo@�QLD¸AB3WV�6�4�:!"J@�AuGIH�=�cdb E5G�l =S4e476JG;6JG%=SAB4o@�Og476JG

� �

Page 45: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

4[G%Z[473WD/V{4[G%\B6/D/3 ��1JGR@�O'khG�A74[@�EW3WDJ@uG�4�=�E°:5l�c+G%D�473W@�DJG%2+=S_'@mj�G�l�3WZ =uA7G%2/1/\I4735@�D+cdG�47=?�.=�D/=�E5`�Z73WZ�:�nFO'3Wc+b'@�A747=�D/\IG�l6J@�QÙG�j�G�A%l-3WZF476JGYOP=�\I4u476/=S4{476JG%3WAe4[G%\]6/D/3 ��1JG+3WZFDJ@�4{3WD�4[G%D 2JG%2Ë4[@&_'GY\I@�D/Z[G�A7jS=S4735j�G�l"_�1J4FZB3Wc+b E5`�b/A]=�\I473W\�=�E �354o3WZRb'@�Z7ZB35_ E5GF476/=S4â@�DJG @�OØ476JG%35AâABG%2/1/\I4735@�D/Zâ\I@�1 EW2¸6/3W2/GF=�D9G�ABA7@�Ao476/=S4oQh@�1/EW2�@�476/G�A7QL3WZ[G{_'GuOP@�1/D/2�:�!eG�A7GQhGU=SA7GU\I@�D/\IG�A]DJG%29QL354769\I@�D Z[G�A7jS=S4735j�GUA7G%2 1/\I4735@�D�4[G%\B6 D/3 ��1JG%Z�:

~ 6/G�4[G%Z74{@�Oh=�D�`�\I@�D/Z7G�A7j?=S473Wj�GdA7G%2/1/\I473W@�D�4[G%\]6/D/3 ��1JG+3WZF476JG%DN= ��1JG%Z[4735@�DNZB3Wc+b E5`9Z[47=S4[G%2Ö=�D/2�Z73Wc+b�E5`=�D/Z[QhG�A7G%2�l _ 1J4o2/3 �Ó\�1/E54R4[@¢b/ABG%2/3W\I4 �gQL3WE¨E�476/GU\I@�Z[4L@�O b'G�A7OP@�ABcd3WD/V�476/GUc+G�47=?�.=�D/=�E5`�Z73WZL_'G{b =�3W2�_ =�\ � _�`9=\I@�cdc+G%D Z71JAB=S4[G{A7G%2 1/\I4735@�D�3WD&476JG{\I@�Z[4o@�O-476JGu_ =�Z73W\u=�D/=�E5`�Z73WZ �CnFOP4[G%D�476JG�A7G{3WZRDJ@+V�G%DJG�A]=�E�=�D/Z[QhG�Aâ4[@+476/3WZ��1JG%Z[4735@�D�l�=�D/2¸=�D/Z[QhG�AB3WD/V+476JG ��1JG%Z[4735@�D¸@�DC=d\�=�Z[GI�_�`��.\�=�Z[GY_ =�Z73WZo2/G�OºG%=S47ZF3547Zâb 1/A7b'@�Z[G�: ~ 6JG;1/D/\IG�A747=�3WD�4.`=SAB3WZ7G%ZROºA7@�c 476JG{OP=�\I4L476/=S4o476JG{_'G%DJG��/47ZR@�O =+A7G%2 1/\I4735@�D�4[G%\B6 D/3 ��1JG{2JG�b'G%D/2�@�D9476JG \]6/=SAB=�\I4[G�AB3WZ7473W\�Zo@�OØ476JGb =SA7473¨\�1/EW=SAUZ[`�Z[4[G%c�_'G%3WDJV¸=�D/=�E5` '�G%2�:�M²6/=S4U476/3¨Z E5G%=�2/ZU4[@Ë3WZU= ![c+G�47=?�.c+G�47=?�.=�D =�E5`�ZB3WZ$#Ë476/=S4 w 1/2JV�G%ZU476JGZ71/3W47=S_ 3WEW354�` @�O�={V�35j�G%DÓZ[`�Z74[G%c OP@�A�A7G%2/1/\I473W@�D�: �#D+476/GoG%D/2�l�4[@;=%j�@�3W2&=�Dd3WD ��D/354[Gâ=�D/2d\�E5G%=SA]E5`�1 DJb/A7@�2/1/\I4735j�GA7G%\�1JA]Z735@�D�lJ476JG�2JG%\�3WZ73W@�D9=S_Ä@�1/4oQL6JG�476JG�Ae4[@Ó=Sb/b�E5`Ó=¢A7G%2/1/\I4735@�D¸4[G%\B6/D/3 ��1JG;c;1/Z74o_'GUE5G�OP4o4[@d476JG�Z � 3¨EWE�=�D/2GIH�bÄG�A]35G%D/\IG{@�OØ476JGU=�D/=�E5`�Z[4�:

�� �� � ��� �:$&�&�8$&'*�#/ $&)�9 � ;5%(;aFG�b'G%D/2JG%D/\IGC=�D =�E5`�ZB3WZ+3WD�j�@�E5j�G%Zd476JG�3W2JG%D�473�� \�=S4735@�D)@�O{3WD�4[G�AB2JG�b'G%D/2JG%D�4YG%E5G%c+G%D�47Zd@�O{=¼Z[`�Z[4[G%c9: ��4Ó3WZd=A7G%2/1 \I4735@�D+4[G%\B6 D/3 ��1JGL3WDY476JGFZ[G%D/Z[Gâ476 =S4�476JGL3¨D�4[G�AB2/G�bÄG%D 2JG%D�4gG%EWG%c+G%D�47ZÙ3WD/2/1 \IG%2Y_�`+= V�3Wj�G%D¢3WD�4[G�A[�G%E5G%c+G%D�4A7G%EW=S473W@�D/Z76/35bNOP@�ABcdZ;=CZ71/_ Z[G�4{@�Oâ476JG&Z[`�Z74[G%c9:,��4�6/=�Z _'G�G%D¼Qe3W2JG%E5`ËZ[471/2/35G%2¼Oº@�A;b 1JA7b'@�Z[G%Z ZB1/\B6Ö=�Z;\I@�2JGA7G%Z[4[A]1/\I471JAB3WD/VÖ2/1JA]3WDJV¼@�b/473¨cd3�'%=S4735@�D�le=�1J4[@�cd=S473W\Ëb/A7@�V�A]=�c b�=SAB=�EWE5G%EW3 '%=S4735@�D�lâ4[G%Z[4x�.\�=�Z[GNV�G%D/G�AB=S4735@�D�lu=�D/22JG�_ 1/V�V�3WDJVJ:¸aFG�b'G%D/2JG%D/\�35G%Z;\�=�Dà_'G&3W2JG%D�473��/G%2N_ =�Z7G%2à@�DÂZ[`�D�47=�\I473W\&3WDJOP@�ABcd=S473W@�DNA7G%=�2/3WEW`Ë=mj?=�3WE¨=S_ E5GÓ3¨Dà=OP@�ABcd=�E/Z[b'G%\�3���\�=S4735@�D�: ~ 6/3WZ 4�`�b'GL@�O�=�D/=�EW`�Z73¨Z V�G%DJG�AB=�EWE5`Y35V�DJ@�ABG%Z�Z[47=S4[GF3WDJOP@�ABcd=S4735@�D�l�_ 1J4�cd=m`Y3¨D/\I@�A7b'@�AB=S4[GZ[@�c+G � DJ@�QLE5G%2JV�G{@�O 476JG Z7G%cd=�D�473¨\�Zo@�O =dEW=�DJV�1/=SV�GU4[@¢3Wc+b/AB@mj�G{476JG b A7G%\�3WZ735@�D&@�O 476JG ABG%Z71/E547Z � � � �:

aFG�b'G%D/2JG%D/\IGâ=�D/=�EW`�Z73¨ZØ=�Zg=Sb b EW35G%2U4[@{b/A7@�V�AB=�c�\I@�2JGâ3WZØ_ =�Z[G%2Y@�D�476JGâA7G%E¨=S4735@�D/Z76/3Wb Z^=�c+@�D/VuZ747=S4[G%c+G%D�47Z=�D/2Cj?=SAB3¨=S_ E5G%Zo3WDC=+b/A7@�V�AB=�c¸: ~ G%\B6/D 3 ��1/G%ZoOP@�Ae3W2JG%D�4735OP`�3¨DJV+=�D/2¸GIH�b E5@�35473¨DJV+2JG�b'G%D/2JG%D/\IG{A7G%E¨=S4735@�D/ZL=S4e476JG=SAB\]6/354[G%\I471JAB=�E�EWG�j�G%E�6/=%j�G =�EWZ7@�_'G�G%D92JG�j�G%EW@�bÄG%2 � < r�l � ��l � � �:�aeG�b'G%D/2/G%D/\IGuA7G%EW=S4735@�D/ZB6/35b Zh=S4â476JG{=SAB\B6 354[G%\��471JAB=�EÄE5G�j�G%E�=SAB3¨Z[GLOPA7@�c 476JG{\I@�D/DJG%\I4735@�D Zh=�cd@�DJV+\I@�c+b'@�DJG%D�47Zâ=�D 2¢476JG{\I@�D/Z74[AB=�3WD�47ZÙ@�D&476JG%3WAR3¨D�4[G�AB=�\I473W@�D/Z�:~ 6JG%Z7G¸A7G%EW=S4735@�D Z76/35b Z+c¢=%`Ü3WD�j�@�E5j�GËZ[@�c+GCOP@�ABc @�O \I@�D�4[A7@�Ee@�A�2/=S47= �/@�Q lâ_ 1J4Óc+@�A7GCV�G%D/G�AB=�EWE5`Ï3WD�j�@�E5j�GZ[@�1JA]\IG&Z[4[A]1/\I471JA7G&=�D/2à_'G%6/=mj�3W@�A%:Ë<�@�1JA]\IG&Z[4[A]1/\I471JA7G �P@�AYZ74[AB1/\I471JA7G�l OP@�A+Z76J@�A74 6/=�Z�4[@Ë2J@�QL35476ÂZ[`�Z[4[G%c2JG�b'G%D/2JG%D \�35G%ZLZ71 \B6Ë=�Z ![3WcdbÄ@�AB47Z$#�l�Qe6/3WE5G{_'G%6/=mj�35@�Au6/=�Ze4[@&2/@¢QL35476�2J`�D/=�cd3W\ 3¨D�4[G�AB=�\I473W@�DË2/G�bÄG%D 2JG%D/\�35G%ZZ71/\]6�=�Z�![\�=�1/Z[G%Z$#�:â<�4[AB1/\I471JA]=�E�2JG�b'G%D/2/G%D/\�35G%Zh=�EWE5@mQ²@�DJGu4[@+E5@�\�=S4[G Z[@�1JAB\IG{Z[b'G%\�3���\�=S4735@�D/ZÙ476/=S4â\I@�D�4[AB3W_ 1J4[G4[@¢476/GU2JG%Z7\IAB3Wb/4735@�D9@�OgZ[@�c+G;Z[47=S4[G;@�AF3WD�4[G�AB=�\I4735@�D�:RkhG%6/=%j�35@�AB=�EØ2JG�b'G%D/2JG%D/\�3WG%Zâ=�EWE5@mQÉ@�DJG 4[@ÓA7G%EW=S4[G;Z747=S4[G%Z@�A+3WD�4[G�AB=�\I4735@�D/ZY4[@�@�476JG�AdZ[47=S4[G%ZY@�Ad3¨D�4[G�AB=�\I473W@�D/Z�:Nkh@�476ÔZ[4[AB1/\I471/AB=�EÙ=�D 2Ö_'G%6/=mj�3W@�AB=�EÙ2/G�bÄG%D 2JG%D/\�35G%Z�=SA7G3Wc+b'@�A747=�D�4â4[@¢\�=Sb/471/A7G =�D/2¸1/D 2JG�ABZ[47=�D/2&QL6/G%D¸=�D/=�E5` '%3WDJV+=�DC=SA]\B6/354[G%\I471/A7G�:

8FEW=�2/2/3¨D � < � ��3WZ =�4[@�@�E�2JG�j�G%E5@�b'G%2¼=S4 476/GdieD/3Wj�G�ABZ7354�`C@�OLfh@�E5@�AB=�2/@9476/=S4 3W2JG%D�473��/G%Z{2JG�b'G%D/2/G%D/\�35G%Zu3WDZ[@�OP4.QR=SA7Gd=SAB\]6/354[G%\I471JA7G%Z%: ��4u\�=�D�_'G�1/Z7G%2�=�Z{=�Z[47=�D/2J�.=�E5@�DJG�4[@�@�EØ@�A 3WDË\I@�D w 1/D/\I4735@�D�QL35476Ë8eauK-Z�: ��4uQR=�Z2JG%Z73WV�DJG%2¢4[@Y_'GLG%=�ZB3WE5`¢3WD�4[G�V�AB=S4[G%2�QL3W476Ó8FauK�4[@�@�E � 3547ZR2JG�j�G%E5@�b'G%2¢G%E¨Z[G�QL6JG�A7G�lJ=�D/2&3WZh\�1JA7A7G%D�47E5`¢=mj?=�3¨EW=S_ E5GOP@�AL1/Z[G 3WD9=�D =�E5` '%3¨DJVd8e\�cdGU=�D/2¸Xe=Sb 3W2JG{=SAB\]6/354[G%\I471JAB=�E^2JG%Z7\IAB35b 4735@�D/Z�:�#O @�DJGâ476 3WD � Z-@�O'=�D+=SAB\]6/354[G%\I471JAB=�EJ2/G%Z7\IAB35b/473W@�D�=�Z�={Z[G�4g@�O _'@%H�G%Z�=�D/2+=SABA7@mQLZg3¨D+=F2 3W=SV�AB=�c9l�Qe6JG�A7GR476JG

=SA7A7@�QLZeA7G�b/A7G%Z[G%D�4L476/GU=S_ 3WEW3W4.`�Oº@�AF=d_'@%H'lÄ@�AeZ[@�c+G;b'@�A74e3WD�4[@d@�AF@�1J4L@�Og476 =S4L_'@%H'l 4[@�\I@�cdc�1/D/3W\�=S4[G;QL35476=�DJ@�476JG�AF_'@%HC3WDC476JG;2 3W=SV�AB=�c9l�476JG%DC@�D/G;\�=�DË476/3WD � =S_'@�1J4e8FEW=�2/2 3WD¸=�ZeQh=�E � 3WDJV¢Oº@�A7QR=SAB2/Ze@�AF_ =�\ � Qh=SA]2/ZOPA7@�c´=;V�35j�G%D&_'@%H'l�4[A]=%j�G�ABZ73¨DJV�=SABA7@mQLZhG%35476/G�AÙOPA7@�c 6JG%=�2/ZÙ4[@;47=�3¨EWZ�@�ARj�3W\IGLj�G�A]Z7=�:*�xDÓ8FEW=�2/2/3¨D�l�476JGu=SA7A7@�QLZ=SA7Gd\�=�EWEWG%2 ÇͦP±��m§ =�D/2�476JG+b A7@�\IG%ZBZu@�O�QR=�E � 3¨DJV �½3:}G�:5l^b'G�A7OP@�ABcd3WDJV&=&4[AB=�D/Z735473Wj�GY\�EW@�Z71JA7G L@mj�G�A;476JGdEW3WD � ZF3WZ\�=�EWE5G%2 ¿I¥�ªS¦P±/¦P±�à :�#O�476JG�A7GY3WZFDJ@ � DJ@�QLE5G%2JV�G�=S_'@�1J4F6/@mQ�=¢_'@mH�$yZu3WDJb�1J4ob'@�A747Ze_ÄG%6 =%j�35@�AB=�EWE5`�A7G%E¨=S4[G�4[@�354F@�1J4[b 1J4eb'@�A747Z�l

476JG%D+=FOP@�A7Qh=SA]2 �P_�=�\ � Qh=SAB2 -Qh=�E � c;1 Z[4g3WD/\�EW1/2/GÙE5G%=Sb ZØOPA7@�cÞG%=�\B6Ó3WDJb 1J4 �P@�1J4[b 1J4 ^b'@�A74Ø476/=S4�3WZØA7G%=�\]6JG%2Y4[@=�EWE'@�1J4[b�1J4 �½3WDJb 1J4 �b'@�A747Z�: �xD�476/=S4o\�=�Z[G�l�476JG =�D/=�E5`�Z73WZR3WZRG%ZBZ[G%D�473¨=�EWE5`¢_'G%3WD/V�b'G�A7OP@�ABc+G%2�3WD9=+\I@�D Z[G�A7jS=S4735j�G

� �

Page 46: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

Conservative Precise

" 35V�1/A7G���s��*�xD/\IA7G%=�Z73WD/V���A7G%\�3WZB35@�D�@�OØaFG�b'G%D/2JG%D \IGU8eD =�E5`�ZB3WZ�:

cd=�DJ@�Au=S4u476JGY\I@�c+b'@�DJG%D�4uE5G�j�G%E°lÄQL6/3¨\B6Ë\�=�DËEWG%=�2C4[@9=&6/35V�6C2/G�V�A7G�GY@�O�OP=�E¨Z[G;2JG�b'G%D/2/G%D/\�35G%Z�: �#O#lÄ3WD Z[4[G%=�2�l476JG{2JG%Z73WV�DJG�Aâcd= � G%Zâ=Yb/A7G%\�3WZ7GFZ[47=S4[G%cdG%D�4L=S_'@�1J4R6J@�QÊ3WDJb 1J4h=�D/2&@�1J4[b 1J4Rb'@�A747ZR=SA7GuA7G%EW=S4[G%2"l�b A7G%Z71/cd=S_�E5`1/Z73¨DJV+=�D¸=Sb/b/A7@�b AB3W=S4[G%E5`dA]3W\B698FauK�l/476JG%DC8eEW=�2 2/3WD&\�=�D¸47= � G;=�2/j?=�D�47=SV�GU@�OØ476/3WZâ3WD/Oº@�ABc¢=S4735@�D&4[@db/A7@�2/1/\IG=dc+@�ABG{b/A7G%\�3WZ[G{ABG%2/1/\I4735@�D9Z[G�4�:

~ 6/G�_'G%6/=mj�3W@�AB=�E A7G%EW=S4735@�D Z76/35b�=�c+@�DJV¸476/Gd3WDJb 1J4u=�D/2�@�1J4[b�1J4ubÄ@�AB47Zu@�Oh=¸\I@�cdbÄ@�D/G%D�4 2JG���DJGY476JGd3WD��4[G�AB=�\I4735@�DC_'G%6/=%j�35@�Ao@�O 476/=S4F\I@�c+b'@�DJG%D�4�:&��4e3WZâ3Wc+b'@�A747=�D�4â4[@ÓDJ@�4[GU476/=S4o476JGU3¨D�4[G�AB=�\I473W@�D¸_'G%6/=%j�35@�AL3¨ZoDJ@�43WD�4[G%D/2JG%2Â4[@¼\�=Sb/471JABG&476/G9OP1/D \I4735@�D/=�EÙ_ÄG%6 =%j�35@�A+@�OL476JG9\I@�c+b'@�DJG%D�4�: "J@�AdGIHJ=�c+b E5G�l�476/G¸2JG%Z7\IAB35b 4735@�Dà@�O6J@�QÉ=dZ[G�ABj�G�Ae3WD�4[G�AB=�\I47ZoQe35476¸3547Zo\�E¨35G%D�47ZL3WZo3WD/2/G�bÄG%D 2JG%D�4R@�OØ476JGU\I@�c+b�1J47=S4735@�DC\�=SABAB35G%29@�1J4L_�`�476JGUZ7G�A7j�G�A@�DN_'G%6/=�E5OÙ@�Oâ3547Z{\�EW35G%D�47Z�:¢8FEW=�2/2/3¨DË1 Z[G%Z =9Z71/c¢cd=SAB3�'%=S4735@�DN=�EWV�@�AB35476/c @�b'G�AB=S473¨DJV�@�D¼476JGd2JG%ZB\IAB35b/4735@�D�@�O=Ë\I@�c+b'@�DJG%D�4�$yZY3WD�4[G�AB=�\I4735@�DÂ_'G%6/=mj�35@�A�4[@�3W2JG%D�4735Oº`�b'@�Z7Z73W_ E5G+A7G%EW=S473W@�D/Z76/35b�Z{_'G�4.QhG�G%D)b =�35ABZU@�OL3WDJb 1/4U=�D/2@�1J4[b 1/4âbÄ@�AB47Z�: ~ 6JG{A7G%ZB1/E5473WDJVY\I@�D/DJG%\I473W@�D/ZL=SA7G \�=�E¨E5G%2 ¶½¬[ªS±J§]¦½¶½¦°­S±�ªSÇg¿B­S± ±Ä«7¿m¶½¦½­S±/§ :" 35V�1JABG ��s¸3WE¨EW1/Z[4[AB=S4[G%Z 476JG¢3Wc+b A7@mj�G%c+G%D�4;3¨DNb/A7G%\�3WZB35@�D�476/=S4;\�=�DÖ_'GdV�=�3WDJG%2¼QL6JG%D¼4[A]=�D/Z7354735@�D =�Eg\I@�D��

DJG%\I4735@�D ZF=SABGY3¨D/\�EW1/2JG%2�3WDË476JG+3WDJOP@�ABcd=S4735@�DË1/Z[G%2�4[@¸2JG�4[G�ABc¢3WDJG�bÄ@�ZBZ735_ E5G;2JG�b'G%D/2JG%D/\�35G%Z%: ~ 6JG�Z7@�EW3W2Ë=SAB\�Z3WDË476/3WZ��/V�1JABGY2/G%DJ@�4[G+=SAB\�Zu476/=S4 c�1/Z[4F_ÄGY4[AB=mj�G�ABZ[G%2N3WDË@�AB2/G�AF4[@¸3¨2JG%D�473WOº`¸=9\I@�D/Z7G�A7j?=S473Wj�GYZ7G�4{@�OÙ2JG�b'G%D��2JG%D/\�3WG%Z�: �xDN476JGÓj�35G�Qß@�Oh476/GÓZ[`�Z[4[G%c ZB6J@mQLD¼@�D¼476JG¢EWG�Oº4�lØ476JGd4[AB=�D Z7354735@�D/=�E�\I@�D/DJG%\I4735@�D/Z;=SA7G¢1/D � DJ@�QLD�:~ 6JG�ABG�Oº@�A7G�lJQe6JG%D&4[AB=�\�3WDJVY_ =�\ � OPA7@�c 476JG{\�35AB\�EWG%2�bÄ@�AB4�l�@�D/Guc�1/Z[4â=�Z7ZB1/c+Gu476/=S4o=�D�`&Z[473¨c;1/E¨1/ZÙ=Sb b EW35G%2Ó4[@3WDJb�1J4-b'@�A74g\I@�1/E¨2+6/=%j�GL\I@�D�4[AB35_�1J4[G%2Y4[@U=uA7G%Z[b'@�D/Z7Gh@�D¢=�D�`�@�1J4[b 1J4gb'@�A74�: ~ 6JGâEW=�\ � @�OÄ3WD/Oº@�ABc¢=S4735@�D�@�D+476JG3WD�4[G�AB=�\I4735@�DC_ÄG%6 =%j�35@�Ao@�O 476JG;\I@�cdbÄ@�D/G%D�4oOP@�AB\IG%Ze476JGU=�D/=�EW`�Z73¨ZR4[@Ó3WD/\�E¨1/2JG{=�EWE"\I@�c+b'@�DJG%D�47Zo@�Og476/GUZ[`�Z[4[G%c3WD9476/G;2JG�b'G%D/2JG%D \I`�Z7G�4�: ~ 6JGUGIHJ3WZ[4[G%D \IGU@�Og476JG;4[AB=�D/Z735473W@�D/=�E"\I@�D/DJG%\I473W@�D/Ze3¨D9476JGUj�35G�QÉ@�Og476JG;Z[`�Z[4[G%ct@�D476JGuAB35V�6�4Rb/A7@�j�3W2/G%Zâ3WDJOP@�ABcd=S4735@�DÓ476/=S4o=�EWE5@�QLZR476JG{=�D/=�E5`�Z73WZh4[@+G%EW3¨cd3WD/=S4[GF476JG{\I@�c+b'@�DJG%D�4o\I@�D/DJG%\I4[G%29@�D/EW`_�`Ó476JG;2/=�Z76JG%29=SAB\�Z%:

Xe=S476JG�A¢476/=�D¾\I@�D/Z[4[AB1 \I473WDJVà=¼\I@�cdb E5G�4[G�2/G�bÄG%D 2JG%D/\IG9V�AB=Sb 6"lh8FEW=�2/2/3¨D$yZ+=�D/=�E5`�Z73WZ+3WZ¢b'G�A7Oº@�A]c+G%2)@�D2JG%cd=�D 2+3WDYA7G%Z[b'@�D/Z[GR4[@U=�D¢=�D/=�E5`�Z[47Z ��1JG�A7`�: ~ 6JG ��1JG�A7`�cd35V�6�4gA7G���1/G%Z[4�3WDJOP@�ABcd=S473W@�D�=S_'@�1J4g476/GâGIH�3WZ74[G%D/\IG@�O�\IG�AB47=�3WDdZ[b'G%\�3�� \ � 3WD/2/Z-@�OÄ=�D/@�cd=�E5@�1/Zg2JG�b'G%D/2/G%D/\IGÙABG%EW=S4735@�D/Z76 35b Z�l?@�A�cd35V�6�4 A7G���1/G%Z[4�3WDJOP@�ABcd=S4735@�D�=S_'@�1J4476JGâb =SAB47Z @�O�476JGoZ7`�Z[4[G%c 476/=S4�\I@�1/EW2+=?>'G%\I4�@�Ag_'Gâ=?>ÄG%\I4[G%2Ó_�`;={Z[b'G%\�3�� \hb'@�A74g3WD�476JGo=SAB\]6/354[G%\I471JABG�:�8Üj�35G�Q@�Og8eE¨=�2/2/3WD$yZâ3¨D�4[G�A7O½=�\IG;3¨ZoZ76J@�QLD¸3WD " 35V�1/A7GUrSq�:â8 ��E5G \I@�D�47=�3¨D/3WDJV¢=¢XL=Sb 3W2/G =SAB\B6/3W4[G%\I471JAB=�E^Z7bÄG%\�3 � \�=S4735@�D3WZÙZ[G%E5G%\I4[G%2�1/Z73WD/V{476JG�� EWGLc+G%D�1�: �#DÓ476/3WZ �/V�1JA7GL=;Z[b'G%\�3�� \�=S4735@�D¢Oº@�AR= jS=SAB3W=�D�4�@�O�476/GLV�=�ZRZ[47=S4735@�DÓGIH�=�cdb E5GQR=�Z+Z[G%E5G%\I4[G%2�: ~ 6JG9Z[b'G%\�3�� \�=S4735@�DÂ3WZY2/3WZ7b EW=%`�G%2)3WDÂ476JG9E5G�OP4�b =�DJG�@�OL476JG9cd=�3¨DÂ8FEW=�2/2 3WDàQe3WD/2J@�Q : ~ 6JGAB35V�6�4�b =�DJG�2/3WZ[b E¨=%`�ZU476JG9EW3¨Z[4U@�OL\I@�cdbÄ@�D/G%D�4Yb'@�A747Z�476/=S4+6/=%j�G9_'G�G%D)3W2JG%D�473��/G%2àOºAB@�c�476/G�=SA]\B6/354[G%\I471/AB=�E2JG%Z7\IA]35b/4735@�D�:

~ 6/GF=�D/=�EW`�Z[4R\�=�D9Z[G%E5G%\I4R4[@+b'G�A7OP@�ABc =�D�`Ó@�O^Z[G�j�G�AB=�E ��1JG�AB35G%Z%: ~ 6JG ��1JG�AB3WG%ZÙQe3WD/2J@�QÒZ76/@mQLD�=S4R476JGu4[@�b

� r

Page 47: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

"Ø3WV�1JA7GUrSq �ÙiFZ[G{@�Og8FEW=�2/2/3WD&4[@ �x2JG%D�4735OP`Ó8FDJ@�cd=�EW35G%ZL=�D/2 �ØG�A7OP@�ABc �Ø@�A74x�.kR=�Z[G%2��u1JG�AB35G%Z%:

� �

Page 48: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

E5G�OP4g3WD�476JG!�/V�1JA7GR=Sb/b'G%=SABZ QL6JG%D�476JGâ=�D/=�EW`�Z[4gZ[G%EWG%\I47Z 476JG ! �u1JG�AB3WG%Z$#ecdG%D�1+354[G%c¸: ~ 6/GR=�D =�E5`�Z74 \�=�D+\]6J@�@�Z[G4[@CZ[G�Gd=9E¨3WZ[4u@�OÙb'@�A747ZuQe35476NDJ@¸Z[@�1JA]\IG+@�A{476J@�Z[GdQL3W476ËD/@947=SA7V�G�4�l-Qe6/3W\B6N=SABG+4.Qh@ � 3¨D/2/ZF@�OÙb'@�A74x�ABG%EW=S4[G%2=�DJ@�cd=�E¨35G%Z�: ~ 6JGUZ7cd=�E¨E�QL3WD/2/@mQ 4[@¢476/GUAB35V�6�4â@�Og476JG Qe3WD/2J@�Q�! �u1JG�AB3WG%Z$#+\I@�D�47=�3¨D/Ze=¢EW3WZ[4â@�Og=�EWE�476/GUb'@�A747Z3WD�476JGdZ7bÄG%\�3 � \�=S4735@�D�476/=S4U2/@¸DJ@�4 6/=%j�G¢47=SA7V�G�47Z�: �Ø@�A747Z QL35476NDJ@¸Z[@�1/AB\IG+@�A;DJ@947=SABV�G�4Ucd=%`N3WD 2/3W\�=S4[G+=�D1/D/Z7bÄG%\�3 �/G%2C\I@�D/D/G%\I4735@�D�@�A{476JG�`�c¢=%`�3¨D/2/3W\�=S4[GY=&OP1/D \I4735@�DË@�O�476JG+\I@�c+b'@�DJG%D�4F476 =S4 3WZuDJ@�4{1/Z[G%2�3WD�476/3WZb =SA7473¨\�1/EW=SAo=SAB\]6/354[G%\I471JA7G�:

~ 6/Ge=�D/=�E5`�Z[4�\�=�D&=�EWZ[@�\B6J@�@�Z[GF4[@�\IABG%=S4[GF=�\B6/=�3¨D�: ��O !BfhA7G%=S4[Gu\B6 =�3WD�����#;3WZ�Z[G%EWG%\I4[G%2�l�476JG%Dd476JGeQL3WD/2/@mQ

! FG�4 �u1JG�AB` #&=Sb/b'G%=SABZ�: ~ 6JG;=�D =�E5`�Z74FZ[G%EWG%\I47ZF= ��1JG�A7`�l'3WDC476 3WZe\�=�Z7G;476JGY=�D/=�E5`�Z[4FQh=�D�4[G%2Ë4[@9Z[G�G�=&\B6 =�3WD@�O =�EWE�476JG{b'@�A747Zo3¨D�476JG =SAB\B6 354[G%\I471JA7G 476 =S4L\I@�1/EW29\�=�1/ZB=�EWE5`�=?>ÄG%\I4ob'@�A74�������Ä:Jae@�4[4�` � �����l =YV�A]=Sb 6¸EW=m`�@�1J44[@�@�E°lØ3¨Z{1/Z[G%2¼4[@�2/3WZ[b E¨=%`C476/GdA7G%Z71/EW47=�D�4U\]6/=�3WD�l-QL6/3W\]6¼=Sb/b'G%=SABZ 3¨D�476JG¢QL3¨D/2J@mQ ![aF@�4[4�` #�: ~ 6/Gd\B6/=�3WDÖ3WZ2/3WZ7b EW=%`�G%2�=�Zo=¢2/35A7G%\I4[G%2�V�AB=Sb�6�A7@�@�4[G%2C=S4o476JG DJ@�2JGuA7G�b/A7G%Z7G%D�473WD/V�476/G Z[b'G%\�3��/G%2&b'@�A74R@�OØ3WD�4[G�A7G%Z[4�l�3WD&476/3WZ\�=�Z[G;476JG DJ@�2JG�� ��� �Ó=S4L476/G{_Ä@�4[4[@�c @�O 476JG{V�AB=Sb 6�: ~ 6JG =SAB\�Zo=SABGUEW=S_'G%E5G%2�QL354769=dA7G%EW=S4735@�D/ZB6/35b�4.`�b'GU=�D/2A7G�b/ABG%Z[G%D�4Y2/35ABG%\I4 �P@�AYb'G�AB6/=Sb Z;Z71/cdcd=SA]3�'�G%2 {2/G�bÄG%D 2JG%D/\IG¢ABG%EW=S4735@�D/Z76 35b Z{_'G�4.QhG�G%DÂb =�35ABZU@�Oob'@�A747Z�: ~ 6JGDJ@�2JG%Zo@�O 476JG;V�AB=Sb 69ABG�b/A7G%Z[G%D�4e=�EWE"bÄ@�AB47Zo476/=S4F\I@�1/EW2¸\�=�1/Z7G�lÄ2/3WA7G%\I47E5`&@�Ae3WD/2 35A7G%\I47E5`�lJ476JGUbÄ@�AB4o@�O�3WD�4[G�A7G%Z[4�l476JG G�j�G%D�4����� �ÄlJ4[@d_'G{4[AB35V�V�G�A7G%2�:

~ 6 3WZ ��1JG�A7`+QR=�Z�b'G�A7OP@�ABc+G%2Ó3WDd@�AB2/G�A�4[@Y6JG%E5b¢3W2/G%D�4735OP`Y476JGe\�=�1 Z[Ge@�O"=UOP=�3¨EW1JA7GL3¨Dd=;Xe=Sb 3W2JGeZ73Wc�1/EW=S4735@�D@�OR476JGdV�=�Z;Z[47=S4735@�D�: �#DN476/G¢Z73Wc�1/EW=S4735@�D�354UQh=�Z;2/3WZ7\I@�j�G�A7G%2¼476/=S4��¸Qh=�Z;DJG�j�G�A;=�E¨E5@mQhG%2¼4[@¸ABG�OP1JG%E: ~ 6JG\�=�1/Z[GY@�OÙ476/3WZu3WZu=Sb/b =SA7G%D�4uOºAB@�ctj�35G�QL3¨DJVÓ476/GY\]6/=�3WD�l�=�D/2�3WDËO½=�\I4 \I@�1/EW2Ë6/=%j�G+_'G�G%DN2/3¨Z7\I@mj�G�A7G%2�476/A7@�1JV�6AB1/D D/3WDJV�=�Dà=�DJ@�c¢=�E5`N\B6JG%\ � b/AB35@�A{4[@ËZ73Wc�1/EW=S4735@�D"l^Z73WD/\IG+476/G¢G�j�G%D�4��� ��� �����6/=�Z;DJ@CZ[@�1JA]\IG�: ~ 6/A7@�1JV�6GIHJ=�cd3WD/=S4735@�Dd@�O�476JGL\B6 =�3WD�l�476JGF=�D/=�E5`�Z[4�2JG�4[G�ABc¢3WDJG%Z�476 =S4�476JGob/AB@�_ E5G%c�@�\�\�1JABZ�_ÄG%\�=�1 Z[G�� ��� �� �� ����Uc�1/Z[4A7G%\I@�AB2¸476JGUZ[@�1JA]\IG{@�O =dA7G���1/G%Z[4oZ[@d476/=S4L476JG =Sb/b/A7@�b AB3W=S4[G�������Ó\�=�DC_ÄGu4[AB3WV�V�G�A7G%2�:

8FEW=�2/2/3¨D�47= � G%Z�=�2/j?=�D�47=SV�G�@�Oh476/G¢_'G%6/=%j�35@�A�Z[G%\I4735@�DÖ@�ORXe=Sb 3W2JGÓ3WD�4[G�ABOP=�\IG&2JG�� D/35473W@�D/Z�:Ó8FEW=�2/2 3WDN=SbJ�b EW3WG%Zo=dZ71/c¢cd=SAB3�'%=S4735@�DC=�E5V�@�AB35476/c 4[@Ó476JGU_ÄG%6 =%j�35@�AB=�E"2JG%ZB\IAB35b/4735@�DC3WD9@�AB2JG�AL4[@Ó3W2JG%D�4735OP`Ó476/GU4[AB=�D/ZB354735@�D/=�E\I@�D/DJG%\I473W@�D/Z¢3WDÔ476JG�Xe=Sb 3W2JG¸2JG%ZB\IAB35b/4735@�D":¾8FEW=�2/2/3WDÏ\�=�DÒ=�EWZ[@à_ÄG�1/Z[G%2Ô3WDÜ\I@�D w 1 D/\I4735@�DÔQe35476ÔXL=Sb�3W2JG�$yZZ73Wc�1/EW=S473W@�D�4[@�@�EWZ�: �#OR=9Z[b'G%\�3�� \�=S4735@�D�G�A7AB@�AU3WZ{2JG�4[G%\I4[G%2Â2/1JAB3¨DJV&=9ZB3Wc;1 EW=S4735@�D�l"8FEW=�2/2/3¨DË\�=�D¼_ÄGd1 Z[G%2�4[@3W2JG%D�4735OP`Ó=+ABG%2/1/\IG%29Z[G�4o@�Og2JG%ZB\IAB35b/4735@�D&G%E5G%cdG%D�47Z�:

8FZ 2/3WZB\�1/Z7Z[G%2N3WD¼<�G%\I473W@�Dàr�:W�SlØ8F\�c+G¢ZB1Jb/b'@�A747ZuZ[b'G%\�3�� \�=S4735@�D�@�OâEW=�D/V�1/=SV�GI�.Z[b'G%\�3�� \�b/A7@�b'G�A7473WG%ZuQL6JG%D1/Z[G%2Ö=�ZY=�Dà3WD�4[G�AB\B6 =�DJV�G&E¨=�DJV�1/=SV�G�: ~ 6/GÓ8F\�c+GÓj�G�A]Z735@�D¼@�Oo8FEW=�2/2 3WD¼3WZU_ =�Z[G%2Ö@�Dà476JG&=�D/=�E5`�Z[4�$yZ�1/Z[G¢@�O8F\�c+Gob/A7@�b'G�A7473WG%Z-4[@;Z[b'G%\�35Oº`;476JGoEW3WD � ZØQL35476 3WDY=�D/2+=�c+@�DJV 476/Go\I@�c+b'@�DJG%D�47Z�=�D/2d\I@�D/DJG%\I4[@�A]Z�@�O'= Z[`�Z[4[G%c9:�xD9476/3WZâ\�=�Z[G�lÄ8eE¨=�2/2/3WD&47= � G%Zo476/GU8e\�cdGUZ[b'G%\�3�� \�=S4735@�D9=�Ze3WDJb 1/4h=�D/2C3W2JG%D�473��/G%ZR476JG EW3¨D � Zâ=�1/4[@�cd=S473W\�=�EWE5`�:

8FEW=�2/2/3¨DU\�=�D+=�EWZ[@F_'Gh1 Z[G%2Y3WD/2JG�b'G%D/2JG%D�47E5`F@�O�=�D�`Ub =SAB473W\�1/EW=SA 8eauK�: ~ 6JGh=�D =�E5`�Z74Ø\�=�D+cd=�D�1/=�EWEW` 2JG�� DJGEW3WD � Ze_�`Ë1/Z73WD/VJlÄOP@�A{GIHJ=�c+b E5G�l"=�DN3WD/Oº@�ABc¢=�E^V�AB=Sb�6/3W\�=�E DJ@�47=S4735@�D�:;MÒ6/G%DN=�EWEØ476JG+\I@�D/DJG%\I4735@�D/Z{6 =%j�Gd_'G�G%D3W2JG%D�473��/G%2"l?476/Go=�D/=�E5`�Z[4�\�=�Ddcd= � G ��1JG�AB35G%Zg=S_'@�1J4g476/GhABG%EW=S4735@�D/Z76 35bY@�O�Z[b'G%\�3�� \hb'@�A747Z 4[@{@�476JG�A�bÄ@�AB47Zg3WDY476JG=SAB\]6/354[G%\I471JA7G�l�=�Z�2JG%ZB\IAB35_'G%2+=S_'@mj�G�: �xD+476/3WZ QR=%`d354�ZB1Jb/b'@�A747Z�0�=�\ � Z7@�D¢=�D/2+M²3WDJV $yZ�DJ@�4735@�D+@�O ![EW35V�6�4.QhG%35V�6�4OP@�ABcd=�E"c+G�476/@�2/Z # � � � �^3WD¸=+cd=�D DJG�ALZ73Wc¢3WEW=SAR4[@ "JG%=S476JG�A $yZe1/Z7G{@�OØ=d2 =S47=S_ =�Z[G � s �:

� � � (�� S��� ������*Ù�����^*���� � ��� �â�/��� �N*����(��S�.�8FD/=�E5`�Z73WZF2JG�b'G%D/2/ZF1Jb'@�D�2JG%ZB\IAB35b/4735@�D": n{1JAu4[G%\B6/D/3 ��1JG%ZFOP@�A 2JG%Z7\IAB3W_ 3WDJVdGIH�4[AB=?�O½1/D/\I4735@�D =�E-b A7@�b'G�A74735G%Zu=SA7GZ735V�D 3�� \�=�D�47E5`+E5G%Z7Zh=�2Jj?=�D \IG%2�476/=�D¢@�1/Ah4[G%\]6/D/3 ��1JG%ZÙOº@�Aâ2JG%ZB\IAB35_ 3WD/V OP1 D/\I4735@�D/=�EW3W4.`�: ~ 6JG�A7G�OP@�A7G�l�476JGu=�D/=�E5`�Z73WZ4[G%\B6 D/3 ��1JG%Zâ476/=S4F=SA7GU=%jS=�3WEW=S_�E5G{4[@¢OP@�ABcd=�EWEW`Ó=�D/=�E5` '�G 476JGUGIH�4[AB=?�O½1/D/\I473W@�D/=�E"b/AB@�bÄG�AB4735G%ZR@�OgZ[@�Oº4�Qh=SABG;=SAB\]6/3×�4[G%\I471JA7G%ZF=SA7G�DJ@�4L=�ZeQÙG%EWE^2JG�j�G%E5@�b'G%2C=�Ze476J@�Z[GU2/G%Z7\IAB35_'G%2¸=S_'@mj�G�:â�eG�j�G�A7476JG%E5G%ZBZ�l�476/G�`�ZB6J@mQÉb/A7@�cd3WZ7GU=�D/2=SA7GUE¨3 � G%E5`¢4[@¢_ÄG{476/G{Oº@�\�1/Zâ@�OØ476JG V�A7G%=S4[G%Z74e=S4[4[G%D�4735@�D�3¨D�476JG DJG%=SALO½1J471JABG�:

8FZ7Z71/c¢3WDJVL@�D/GR\�=�DYABG%=�Z[@�D/=S_ E5` 2/G%Z7\IAB35_'G�476/GhGIH�4[AB=?�O½1/D/\I4735@�D =�E�b A7@�b'G�A74735G%Z-@�O�3WD/2 35j�3¨2/1/=�E�\I@�c+b'@�DJG%D�47Z�l476JG � G�`²3WZ7Z71JGË3WDÒb'G�A7Oº@�A]cd3WDJVà=�D²GIH�4[AB=?�O½1/D/\I4735@�D =�EF=�D =�E5`�ZB3WZ�3WZ&4[@)1 D/2JG�ABZ[47=�D 2¾6J@�Q 4[@Ô\I@�c+b'@�Z[G�476JGb/A7@�b'G�A7473WG%ZR_ =�Z[G%29@�D9476/GU3WD�4[G�AB=�\I4735@�D/ZâG�j�3W2JG%D�4L3WD�476/G =SAB\B6/3W4[G%\I471JA7G�: ~ 6/3WZâ3WZâ3WE¨EW1/Z[4[AB=S4[G%2�3WD¸476JG{GIH�=�cdb E5G_'G%E5@mQU:

� <

Page 49: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� +-) �

8FDÜ3WD�4[G�A7G%Z[473WD/VàOP@�ABc @�O =�D/=�EW`�Z73¨Zd3WZdb A7@mj�3W2JG%2ÜQL35476Ï476JG �¸G�47=�!�2JG%Z7\IAB3Wb/4735@�DÔEW=�D/V�1/=SV�G�2JG�j�G%EW@�bÄG%2Ü_�`!e@�DJG�`�QhG%EWE � � � �: �¸G�47=�! 2JG%Z7\IA]35b/4735@�D/Ze\�=Sb/471JA7GY3WDJOP@�ABcd=S473W@�DC=S_'@�1J4F_Ä@�476ËZ[@�OP4.QR=SA7G+=�D/2�6/=SAB2JQR=SA7G�\I@�cY�b'@�DJG%D�47Zd476JA7@�1/V�6Ô=�DÜ=S4[4[AB3W_ 1J4735@�DÏc+G%\]6/=�D/3WZBc9:¾8FD/=�E5`�Z73WZ+4[@�@�EWZd=SABGCb/A7@�j�3¨2JG%2)Oº@�A&2JG�4[G�ABcd3¨D/3WDJV�QL6/3¨\B6\I@�c+b'@�DJG%D�47Ze\�=�D�=?>'G%\I4u@�Ae_'G;=?>'G%\I4[G%2Ë_�`C@�476JG�AF\I@�cdbÄ@�D/G%D�47ZF3WD¸476/G�Z[`�Z[4[G%c 2JG�b'G%D/2/3WD/V+@�DC476JG�jS=�EW1JG%Z@�O 476JG =S4[4[AB35_�1J4[G%Z�:

��� ªxµ�«%¶½È��/§�«B¿�»�¬]¦½¶½È¢ÇW«I®�«IÇ"ªS±�ª�Ç�È?§]¦º§IÅ <�=SOPG�4.` �?Z[G%\�1JA]354.`�=S4[4[AB35_ 1/4[G%Zh=SABGu=�ZBZ735V�DJG%2&_ =�Z[G%2�@�D&476JG{\IAB3W473W\�=�EW354�`@�O =d\I@�c+b'@�DJG%D�4�:�8ÞZ7=SOºG�4�`�j�35@�E¨=S4735@�D�@�\�\�1/ABZo35OØ=+2JG�OºG%\I4o3¨D9=+\I@�c+b'@�DJG%D�4o\�=�DCb'@�4[G%D�473W=�E¨E5`¢=?>'G%\I4e=\I@�cdbÄ@�D/G%D�4 6/=mj�3¨DJV9=96/35V�6JG�A{2JG%Z73WA7G%2�Z7=SOºG�4�`NE5G�j�G%E°:;8 Z[G%\�1JA]354.`�j�35@�E¨=S4735@�DË@�\�\�1JA]Z{35OÙ=9\I@�c+b'@�DJG%D�4\I@�1 EW29b'@�4[G%D�473¨=�EWE5`¢ABG%\IG%35j�GU3WDJOP@�ABcd=S473W@�D�OºA7@�c =+c+@�A7GUZ[G%\�1/A7G \I@�c+b'@�DJG%D�4�:

��� ¿I¥�«B¯S»�Çת�Á�¦ºÇͦ½¶½È�ªS±ÄªSÇ�È?§�¦¨§�ÅÙ~ 3Wc+G{=S4[4[AB35_ 1/4[G%Zâ\�=�D9_'GF=�Z7Z7@�\�3W=S4[G%2¸QL35476�\I@�c+b'@�DJG%D�47Z�: ~ 6JG%Z7Gu=SABG \I@�cY�_�3WDJG%2)4[@Ö\I@�cdb 1J4[G¸b/ABG%2/3W\I4[G%2)GIH�G%\�1J4735@�DÔ473¨c+G¸OP@�AdGIH�G%\�1/4735@�DÔb =S476 Z+476JA7@�1JV�6Ü476JG¸Z[`�Z[4[G%c9: ~ 6JG=�D =�E5`�Z74F3WZFV�35j�G%D�=&\B6J@�3¨\IG�_'G�4�QÙG�G%DN\I@�c+b�1J473WDJV&476JGY=%j�G�AB=SV�Gdb�=S476�473¨c+G�Z7b =�D�=�D 2�476/G�cd=?HJ3Wc�1/cb�=S476�473Wc+GYZ[b =�D�lÄ476JG+EW=S4[4[G�A{_'G%3WDJVÓ@�O�b =SA7473¨\�1/EW=SAe3¨D�4[G�A7G%Z74FOP@�A{2JG�4[G�ABcd3¨D/3WDJVÓV�1/=SAB=�D�4[G�G%2NZ7\B6JG%2 1/EW=?�_�3WEW354�`�:

��� «IÇͦ½ª�Á�¦ºÇͦ½¶½ÈNª�±�ªSÇÍÈ�§�¦¨§�Å T�A7A7@�A�=S4[4[AB35_ 1/4[G%Z�lØ=�c+@�2JG%E�@�Oâ476JGÓ4.`�b'G%Z @�OâG�A7A7@�A]ZU476/=S4�cd35V�6�4 @�\�\�1JA�3¨Dà=Z7`�Z[4[G%c¸l^=�D/2�476JGdZ[`�Z[4[G%c%$yZ GIH�b'G%\I4[G%2NA7G%=�\I473W@�DN4[@¸476J@�Z[G+G�ABA7@�ABZ{=SA7Gd\I@�c;_ 3WDJG%2�4[@Cb/A7@mj�3W2JGY=�OP@�ABc@�OhA7G%EW3¨=S_ 3WEW354�`¸=�D/=�E5`�Z73WZ�: ~ 6JG+b/A7@�_�=S_ 3WEW35473WG%Zo@�O�G�ABA7@�A @�\�\�1JA7A7G%D/\IG%Z{=SABGdc+@�2/G%E5G%2�=�Z��C=SA � @mj¼\B6 =�3WD/Z476 =S4L\�=�D¸_'G =�D/=�E5` '�G%29_�`&=�D�`�@�OØZ7G�j�G�AB=�E^\I@�cdcd@�D¸4[@�@�EWZ�:

M²6/3WE5G!�¸G�47=�!Ò=�D/=�E5`�Z[G%Z =SA7GRGIHJ6/=�1/Z[4735j�G�l�476/GR=SABGÙV�G%DJG�A]=�EWE5`UE5G%ZBZ-GIH�b'G%D/Z735j�GÙ4[@ubÄG�ABOº@�ABcÉ476/=�D�476JGR4.`�b'G%Z@�Oâb/A7@�@�OR4[G%\B6/D 3 ��1/G%Z;2/3¨Z7\�1/Z7Z[G%2à3WDÖ<�G%\I4735@�D � :W�S: �xDàb�=SA7473W\�1/EW=SAml��CG�47=�! =�D/=�E5`�Z[G%Z;bÄG�ABOº@�ABc =C4[AB=�D Z7354735j�G\�E5@�Z71/A7G¢@�j�G�Ad476JG�Z[47=S473W\�Z[4[AB1/\I471/AB=�E�ABG%EW=S4735@�D/Z76 35b Z 2JG���DJG%2Ö3¨Dà476JG�=SAB\]6/354[G%\I471JA7G9=�D/2Ö476JG%DÂGIHJ=�cd3WDJG&476JG=S4[4[AB35_�1J4[G%Zâ@�OØ@�D/E5`&476J@�Z[GU\I@�c+b'@�DJG%D�47Zâ476/=S4e=SA7GUZ76J@�QLD94[@db'@�Z7ZB35_ E5`+_'G =?>'G%\I4[G%2�:

� � � ���*� � �� � � � �*��� ���� ��� ����� ���#���

~ 6/3¨ZUb =Sb'G�A+6/=�ZY\I@�D/\IG%D�4[AB=S4[G%2Ô@�DÂ476JG�A7@�EWG&@�OeZ[@�Oº4�Qh=SABGC=SAB\B6 354[G%\I471JA7G93WDÖ476JG92JG%Z735V�DÂb/AB@�\IG%Z7Z%l�=�D/2Â476JG\B6 =SAB=�\I4[G�AB3WZ[473¨\�ZU@�ORjS=SAB35@�1/Z E¨=�DJV�1/=SV�G%ZU=�D 2à=�D/=�E5`�Z73WZu4[G%\]6/D/3 ��1JG%Z;3WD�4[G%D 2JG%2N4[@�ZB1Jb/b'@�A74u476JG¢Z[@�OP4.QR=SA7G�=SA[�\B6 354[G%\I4�:¢8FZ73W2JGYOPA7@�c EW3WDJV�1 3WZ[473W\;=�D/2¼=�D/=�E5`�473W\�=�Eg\�=Sb =S_�3WEW354735G%Z%l'Z7G�j�G�AB=�E�@�476JG�A;\I@�D/\IG�b/47ZU6 =%j�GdG%c+G�ABV�G%2N4[@3WD/\IABG%=�Z[Gâ476JGL1J473¨EW354.`;@�O�Z[@�Oº4�Qh=SABGe=SAB\]6/354[G%\I471JA7G�: �xD+476/3¨ZgZ[G%\I4735@�DdQhGob/ABG%Z[G%D�4�_/AB35G�O�A7G�j�3WG�QLZg@�O'Oº@�1/Ag@�OÄ476/G%Z[G �=SAB\]6/354[G%\I471JAB=�E�Z74.`�E5G%Z�l/2J@�cd=�3¨D��.Z[b'G%\�3�� \eZ[@�Oº4�Qh=SABGU=SAB\B6 354[G%\I471JA7G%Z�l/Z7`�Z[4[G%c V�G%DJG�AB=S4735@�D9=�D/2�ABG�� DJG%c+G%D�4�l/=�D/2=SAB\]6/354[G%\I471JAB=�E"j�35G�QeZ�:

����� ���������°�� ����������u�-� �.� �8eAB\B6/3W4[G%\I471JAB=�E"Z[4�`�EWG%Zob/A7@�j�3¨2JG =dZ[47=�D/2 =SAB2/3�'�G%29j�@�\�=S_ 1/E¨=SA7`Ó@�Og6/3WV�6��.E5G�j�G%E�Z[4[AB1 \I471JA7G%ZâOP@�ALA7G���DJG%29\I@�cdc�1��D/3W\�=S473W@�DC=�c+@�DJV&Z[47= � G%6J@�EW2/G�ABZ�:!�#DC476JGU2J@�c¢=�3WD¸@�Og\�35j�3WE"=SAB\]6/354[G%\I471JABG�l�Z[4�`�E5G�D/=�c+G%ZF=SA7G G�j�@�\�=S4735j�GY@�Og476JG_ 1/3¨EW2/3WDJV�_'G%3WDJVd2/3¨Z7\�1/Z7Z[G%2":h8FD/=�E5@�V�@�1/ZBE5`�l Z[@�OP4.QR=SA7G+=SAB\B6 354[G%\I471JAB=�E-Z[4.`�E5G%Zeb/A7@mj�3W2JG;=¢Z71/\�\�3¨D/\I4L2JG%Z7\IA]35b/4735@�D@�Og476JG � 3WD 2/ZR@�O�\I@�c+b'@�DJG%D�47Ze3WDC=¢Z[`�Z[4[G%c =�D/2¸476JG�\I@�D/Z[4[AB=�3¨D�47Ze@�D¸476JG;Qh=m`�ZF476/=S4e476JG;\I@�cdbÄ@�D/G%D�47ZF\�=�D3WD�4[G�AB=�\I4 � � < lÄr � l � ��l � p �:

8FD¼=SAB\]6/354[G%\I471JAB=�E�Z[4.`�E5Gd2JG�� D/G%Z{=9OP=�c¢3WE5`¸@�ORZ[`�Z[4[G%cdZ 3WD�Qe6/3W\B6�G%=�\]6àc+G%c;_'G�A{@�OR476JG+OP=�c¢3WE5`CZ76 =SA7G%Z\IG�A747=�3WDdb/A7@�b'G�A74735G%ZØQL35476+=�E¨E�@�476/G�A�O½=�cd3WE5`UcdG%cU_'G�ABZ�: 8Fc+@�DJV{476JG%Z[GLb/A7@�b'G�A74735G%Z =SA7Go3547Zg=�E¨E5@mQhG%2dZ[4[AB1 \I471JAB=�EG%E5G%c+G%D�47Z�l \I@�D/Z[4[AB=�3¨D�47ZU@�D¼476JG¢3¨D�4[G�AB=�\I473W@�D/Z{@�Oâ476J@�Z[G¢G%E5G%c+G%D�47Z�lØ3¨D�jS=SAB3W=�D�47Z�l^1/D 2JG�ABE5`�3WDJV�\I@�c+b 1J47=S473W@�D/=�Ec+@�2JG%E°l/=�D/2CZ76/=SA7G%2CGIH�b'G�AB35G%D \IG{QL354769Z[`�Z[4[G%cdZL_ 1/3WE54â3WD¸476JGUZ[4�`�E5G�:â<�4.`�E5G%Ze\�=�D¸_'GU=SA7_ 3W4[AB=SAB3WE5`ÓZ[b'G%\�3W=�EW3�'�G%2

���

Page 50: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

Pipe and Filter

Layered Abstract MachinesBuss

Shared Repository

"Ø3WV�1JA7GUr����RfR@�cdc+@�D¸8eAB\B6 354[G%\I471JAB=�E-<�4.`�E5G%Zo1/Z[G%2C3WDCfh@�c+b 1/4[G�Ae<�`�Z74[G%cdZe<�@�OP4.QR=SA7G�:

_�` �PO½1JA7476JG�A �A7G%Z74[AB3W\I473WDJVYb/AB@�bÄG�AB4735G%ZÙZB1/\B6¸=�Zâ=�\�\IG�b 47=S_ E5G 4[@�b'@�E5@�V�35G%Zâ=�D 29=�EWE5@mQR=S_ E5G{c+G�476/@�2/ZR@�OØ\I@�cdc�1��D/3W\�=S473W@�D�:*"J@�ALGIHJ=�c+b EWG�l/K"G#���G�47=%`�G�A � r � �^1/Z7G%ZâV�AB=Sb 69V�A]=�cdcd=SABZâ4[@Ó2JG%Z7\IAB35_'G{\I@�D/Z[4[A]=�3WD�47ZL@�D¸Z[4�`�E5G%Z%:

~ 6/G;\B6/@�3W\IG;@�OÙ=¢b =SAB473W\�1/EW=SALZ74.`�E5G�6 =�Ze3Wcdb EW3W\�=S4735@�D ZâOº@�AF_'@�476¸476JG�G%DJV�3WD/G�G�AB3WDJVd4[G%\]6/D/3 ��1JG%ZF1/Z[G%2Ë=�D/2476JGRA7G%Z[@�1/AB\IG%ZgDJG�G%2JG%2�4[@{_ 1/3¨EW2 476JGâZ[`�Z[4[G%c9: ~ 6�1/Z�l�=�D�G%=SABE5`�l�6/35V�6��.E5G�j�G%E�2/3WZB\�1/Z7Z735@�DU@�O�Z[4�`�EWGo\�=�DYb/A7@mj�3W2JGR=OP@�AB1/c�OP@�A�2JG%\�3WZB35@�D/Zg=�Zg4[@;QL6/=S4gV�G%DJG�AB=�E/Oº@�ABcß3WZ�c+@�Z[4Ù=Sb/b/A7@�b/A]3W=S4[GROº@�AÙ476JGoZ[`�Z[4[G%cß1/D 2JG�A�\I@�D/Z73W2/G�AB=S4735@�D�:�xDNV�G%DJG�AB=�E°l 2/3×>'G�A7G%D�4 =Sb/b EW3¨\�=S4735@�D¼2J@�cd=�3¨D/Z�l^Z71 \B6à=�ZU4[G%E5G%\I@�cdc�1/D/3W\�=S473W@�D/Z�l^4[A]=�D/Z7=�\I4735@�DÖb/A7@�\IG%Z7Z73WD/VJl"@�A=%j�35@�D/3¨\�Z�l"2JG�j�G%E5@�b¼=SAB\]6/354[G%\I471JA]=�E�Z[4.`�E5G%Z{=Sb/b A7@�b/AB3W=S4[G�4[@¸476/=S4{2J@�c¢=�3WD�:#" 35V�1/A7Gdr��+2JG�b 3W\I47ZuZ[G�j�G�AB=�E�\I@�cY�c+@�D�Z[4.`�E5G%ZoOP@�1/D/2C3WD9476JGU2/@�cd=�3WD9@�Og\I@�c+b 1/4[G�AeZ[`�Z[4[G%cdZeZ[@�Oº4�Qh=SABG �PG�:}VJ:5l'\I@�c+b 3WEWG�ABZ�lJ@�b'G�AB=S473WDJVÓZ[`�Z74[G%cdZ�l2/=S47=S_ =�Z7G¢cd=�D/=SV�G%c+G%D�4;Z7`�Z[4[G%c¢Z�l^=�D/2N476/GdEW3 � G ]: ~ 6JG%3WA{_ =�Z73W\+Z[4[A]1/\I471JA7G%Z{\�=�Dà_ÄG+2JG%ZB\IAB35_'G%2 ��1/3W4[GdZ71/\��\�3WD/\I47EW`�:

��� ¦y©/«uªS±�¯ ¦ºÇ׶.«I¬ � 3WDJb�1J4-4[@U@�DJGo\I@�c+b'@�DJG%D�4�3WZ b/A7@�\IG%Z7Z[G%2+=�D/2Y476/G%D+476JGRA7G%Z71/EW473WDJVF@�1J4[b 1J4�3WZØb =�ZBZ[G%24[@Ó=�DJ@�476JG�Ae\I@�cdbÄ@�D/G%D�4oOP@�Aob/AB@�\IG%Z7ZB3WDJVJ:

��� ¥�ªS¬7«7¯ � «�©J­?§]¦½¶­S¬�È� =NABG�bÄ@�ZB354[@�A7`¼Z[G�A7j�G%Z+=�Z+=�Z[4[@�ABG�6/@�1/Z[G&Oº@�A+2/=S47=Ë476/=S4+cd=m`à_'GÓ=�\�\IG%Z7Z7G%2Ï_�`jS=SAB3W=S_�E5G{D�1/c;_'G�ABZR@�O @�476JG�Ae\I@�cdbÄ@�D/G%D�47Z�:

��� ªSÈ�«I¬7«7¯¼á ÁI§�¶½¬[ª�¿%¶��¼ª�¿�¥�¦º±'« � \I@�c+b'@�DJG%D�47Z¢=SA7G¸Z[4[AB=S473�� G%2Ï3WD�4[@¼E¨=%`�G�ABZ�lÙQL6JG�A7G¸2 =S47=�b/A7@�2/1/\IG%2)=S4@�D/GUEW=%`�G�AF3WZâ=%jS=�3WEW=S_�E5G{4[@¢EW=m`�G�ABZL=S_'@mj�G;_ 1J4âDJ@�4o_'G%E5@�Q :

��� »�§B§��ܯ�ª�¶ªCªS¬7«dÁ�¬x­%ª�¯�¿Bª?§I¶e­S®�«I¬+ªÓ§B¥�ª�¬[«B¯C¿B­�·�·Y»�±/¦°¿Bª�¶½¦°­S±Ö·d«B¯S¦P»�· µ�¬x­�· ³ ¥�¦½¿�¥Ë¿B­S·e©�­�±Ä«I± ¶P§d¿Bª�±¿�¥�­%­?§%«Y¶­&³g¦½¶P¥�¯S¬[ªS³Ê¶P¥�«Y¯�ª�¶ª9­�¬ ¦×Ã�±�­S¬7«Y¶P¥�«Y¯�ª�¶ª�Å

3�+ � 9(��� 9(),;�;5%��'*) +-%(�.$

fREW=�ZBZ73�� \�=S4735@�DÂ4[G%\]6/D/3 ��1JG%Z�lhZ71/\B6Ï=�Zd47=?H�@�DJ@�c¢35G%Z�lR=SA7G¸1/Z[G�O½1/EhOº@�Ad3¨c+b/A7@�j�3WD/VË1/D 2JG�ABZ[47=�D/2 3WDJV�=�D 2Ï\I@�cY�c�1/D/3W\�=S4735@�DÒ3WD¾Z7\�35G%D�473�� \Ë2/3WZ7\�35b�EW3WDJG%Z�: �xDÜ476/GË\�=�Z[G�@�OU=SA]\B6/354[G%\I471/AB=�EuZ[4.`�E5G%Z�le476JG�`Ôb/A7@�j�3¨2JG�=Â1/D/35OP@�ABc

���

Page 51: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

2JG%Z7\IA]35b/4735j�GFZ[47=�D/2/=SAB2&OP@�AâZ[4.`�E5G%Z�lJ=�A7G�b'@�Z7354[@�A7`¢Oº@�Aâ3WDJOP@�ABcd=S473W@�DÓ=S_'@�1J4RZ[4.`�E5G%Z�lJ=�_ =�Z73¨Z�OP@�Ao2/3WZ7\IA]3Wcd3WD/=S473W@�D=�c+@�DJV9Z[4�`�EWG%Z�l"=�D/2�1/E5473Wc¢=S4[G%E5`¸=�Z7Z73WZ747=�D/\IG+3WDC476/GY\]6J@�3W\IGY@�OÙZ74.`�E5G%Z�:;nuDJGYGI>'@�A74{2/35A7G%\I4[G%2�=S4{Z73Wcdb EW35OP`�3¨DJV476JG&\B6J@�3W\IGÓ@�Oâ=SAB\B6/3W4[G%\I471JAB=�EhZ[4.`�E5G¢3WZ;=C\�EW=�ZBZ73�� \�=S4735@�D¼b/A7@�b'@�Z[G%2N_�`Ö<�6/=mQ´=�D/2ÖfâE5G%c+G%D�47Z � � p �R3WDNQL6/3¨\B6\I@�c+b'@�DJG%D�4{4.`�b'G%Z�l"\I@�D/DJG%\I4[@�A 4�`�b'G%Z�l-2/=S47=9\I@�cdc�1/D/3W\�=S4735@�D"l"\I@�D�4[A7@�Eg=�D 2N2/=S47=93WD�4[G�AB=�\I4735@�D/Z�l"=�D 2N\I@�cY�b =S4735_�E5GeABG%=�Z[@�D/3WDJV�4.`�b'G%Zâ=SA7G 1/Z[G%2�=�ZR476JGu_ =�Z7G%ZROº@�Ao2/3¨Z7\IAB3Wcd3¨D/=S4735@�D¢=�cd@�DJV+Z[4.`�E5G%Z�:*�#4â3WZh476JG%35Aâ6J@�b'GF476/=S4476JGYGIHJ3WZ[4[G%D/\IGY@�OÙ=�\�EW=�ZBZ73�� \�=S4735@�D�QL3WE¨E^=�3W2�3WD�476JG+\IA7G%=S4735@�D�@�Oh=�D/=�E5`�Z73WZe4[@�@�EWZu4[@9=�1JV�cdG%D�4 =�Z[4�`�E5GI�_�=�Z[G%22JG%Z73WV�D�G%D�j�35A7@�D/cdG%D�4�:

3�+ � 9(� � �&),;5��� � ��;-% 2�$�� $�� %(���.$����8$�+8eAB\B6/3W4[G%\I471JAB=�E'Z[4.`�E5G{3WZÙ_'G%3WDJV;1 Z[G%2¢4[@+Z73¨c+b EW35OP`�476JG{=SAB\B6/3W4[G%\I473WDJV�b/A7@�\IG%Z7Z�:*"/1JAB476JG�AâZ73Wc+b E¨3�� \�=S4735@�Dd\�=�D�_'G=�\B6 35G�j�G%2C476/A7@�1JV�6¸=�1J4[@�c¢=S4735@�D�:R8eDCGIH�=�c+b�E5GU3WZo8eG%Z[@�b"lÄ=dZ[`�Z[4[G%c OP@�ALV�G%D/G�AB=S473WDJV&2JG%Z735V�D�G%D�j�3WA7@�D/c+G%D�47ZOP@�A�O½=�cd3WE¨35G%ZU@�OeZ[@�Oº4�Qh=SABG¸Z[`�Z74[G%cdZ � ��� �: u3Wj�G%DÂ=�D)=SAB\]6/354[G%\I471JA]=�EâZ[4.`�E5G9Z[b'G%\�3�� \�=S4735@�DÂ\I@�D�47=�3WD/3WDJV�3WDJOP@�A[�cd=S4735@�DNZB1/\B6¼=�ZUZ[4.`�E5GYG%E5G%c+G%D�47Z =�D/2NZ[4�`�EWG+AB1/E5G%Z�l"=92/G%Z735V�DËG%D�j�35A7@�D c+G%D�4 3¨ZeV�G%D/G�AB=S4[G%2�: ~ 6JGYV�G%DJG�A]=S4[G%2G%D�j�35AB@�D/c+G%D�4F3WZuZ[b'G%\�3W=�E¨3�'�G%2¸4[@9Z71Jb bÄ@�AB4L476JG+2JG%Z73WV�DC@�Oh=SAB\B6/3W4[G%\I471JA7G%Z{3WD�476JGYV�35j�G%D�Z[4.`�E5G�: ~ 6JG;G%D�j�35A7@�D��c+G%D�4{\I@�D/Z73WZ[47Zu@�OÙ=�V�AB=Sb 6/3W\�=�EØ1/Z[G�A{3WD�4[G�A7O½=�\IGd3WD�QL6/3W\]6Ë=�Z[`�Z[4[G%c \�=�D�_'GY\I@�D/Z[4[AB1/\I4[G%2�OPA7@�c b/ABG%2JG�� DJG%2Z[4�`�E5GI�.Z7bÄG%\�3 � \u\I@�c+b'@�DJG%D�47Zâ=�D 2&\I@�D DJG%\I4[@�ABZ�:�8eG%Z[@�bC\�=�D�_'Gu476J@�1JV�6�4R@�OØ=�Zâ=�D�G%D�j�35A7@�D/c+G%D�4ROº@�Ao\IABG%=S473WDJVDJG�Q =SA]\B6/354[G%\I471/AB=�E"Z[4�`�E5G%Z%:

3�+ � 9(� � �&),;5��� /1$ )�9 � ;5%(;

8FZ;2JG%ZB\IAB35_'G%2¼3WD)<�G%\I4735@�D � lgcd=�D�`Ö=�D/=�E5`�Z73WZ{4[G%\]6/D/3 ��1JG%Z;Oº@�AY1/Z[G&=S4;476JG�=SAB\]6/354[G%\I471JAB=�EhE5G�j�G%Eh6/=%j�G�_'G�G%DZ71JV�V�G%Z74[G%2�: ~ 6JG%Z[G+4[G%\B6 D/3 ��1JG%Z{=SA7G+3WD�4[G%D/2JG%2�OP@�A 1/Z[GY@�DNZ[b'G%\�3�� \�=SAB\B6 354[G%\I471JAB=�E�3¨D/Z[47=�D/\IG%Z�:��e3W4[b 3W\ � � ��r �3WZ =�D¼GIH�=�c+b�E5Gd@�Oâ=�D¼=�1J4[@�cd=S4[G%2Â=�D/=�E5`�Z73WZu4[G%\]6/D/3 ��1JGdOP@�AU1/Z7Gd@�D¼=SAB\]6/354[G%\I471JAB=�EÙZ[4.`�E5G%Z�: ~ 6JG+4[G%\]6/D/3 ��1JG=S4[4[G%c+b/47Zd4[@¼b/A7@�j�G9476JG9=S_ Z[G%D/\IG9@�OuZ[b'G%\�3�� \&Z[`�Z[4[G%c b/A7@�b'G�A7473WG%Z;OP@�Ad=�EWEhb'@�Z7Z735_�E5GÓ3WD Z[47=�D/\IG%ZY@�Ou=ËZ74.`�E5G�:�#Oe476JG9b A7@�b'G�A74.`�lRZ71/\]6Ô=�Z¢2JG%=�2 E5@�\ � lh3WZ+OP@�1/D/2)4[@¼_'G�b'@�Z7Z735_�E5G&3¨DÏ=�D�`Ï3WD/Z747=�D/\IG�lÙ�F354[b 3W\ � b A7@�2 1/\IG%Z+=�DGIHJ=�c+b E5G 3WD Z[47=�D/\IGI�.=SAB\]6/354[G%\I471JA7G;476/=S4L\I@�D�47=�3WD/ZL476JG j�35@�EW=S4735@�D�: ~ 6JG Z[4�`�E5G;2JG%Z735V�DJG�Ae\�=�DC1/Z[G{476/G GIH�=�cdb E5G4[@U2/3¨Z7\I@mj�G�AÙ476JGLZ[@�1JA]\IGâ@�OÄ476/Goj�3W@�EW=S4735@�D�:��#D/Oº@�ABc¢=S4735@�D+=S_'@�1J4g476JGob/AB@�_ =S_ 3WEW3W4.` @�O'476JGâGIHJ3WZ[4[G%D/\IGL@�O'\IG�AB47=�3WDZ[`�Z[4[G%c b A7@�b'G�A74735G%ZR\�=�D¸_'G 1/Z[G%2�Qe6JG%D¸cd= � 3WDJV+Z[4�`�E5G;\B6J@�3W\IG%Z%:

��� � �N� �Ò���.*g�m� �â� �J���R�)�Ø�^!�m$&�'���Ï���������°�� �������� �8eb/b EW3W\�=S473W@�DU2J@�cd=�3¨D/Z^4[G%D 2;4[@uGIHJ6/35_ 3W4-Z[@�OP4.QR=SA7GI�A7G%EW=S4[G%2"l�2J@�cd=�3WDJ�.Z[b'G%\�3�� \�\]6/=SAB=�\I4[G�AB3WZ7473W\�Z�:g8eEW476J@�1JV�6�476JGGIHJ3WZ[4[G%D/\IG+@�OR2J@�cd=�3WD�\]6/=SAB=�\I4[G�AB3WZ7473W\�Z 3WZuG%=�Z[`Ë4[@¸GIH�b EW=�3WD�=�D/2ËQhG%EWEg=�\�\IG�b/4[G%2�l-476JGdc+G%=�D/Z Oº@�A \�=Sb/471/AB3WDJV=db A7G%\�3WZ[G�1/D/2JG�ABZ747=�D/2/3WDJVY@�O�476/G;Z[b'G%\�3�� \U\B6/=SAB=�\I4[G�A]3WZ[473W\�ZeOº@�Au=ÓV�35j�G%D�2/@�cd=�3WDC3¨ZLDJG�Q :oaF@�cd=�3¨D��#<�b'G%\�3�� \<�@�OP4.QR=SA7GR8LAB\]6/354[G%\I471JABG%Z �½a </<�8FZ �=SABGÙ3WD�4[G%D/2JG%2�l?=S4ØEWG%=�Z[4^3WDUb =SA74�l?4[@eZ71Jb bÄ@�AB4�476/3WZ�b/AB@�\IG%Z7Z%: ~ 6/G�`Fb A7@mj�3W2JG=YOP@�AB1/c OP@�Ao476JG c+@�2JG%EW3WD/V�=�D/292/G�� D/354735@�DÓ@�O 2J@�cd=�3WD��.Z7bÄG%\�3 � \e\]6/=SAB=�\I4[G�AB3¨Z[473W\�Zo476 =S4o=SA7G 1/Z[G%2�4[@db A7@mj�3W2JG=+A7G�OPG�A7G%D/\IG;=SAB\B6/3W4[G%\I471JA7G OPA7@�c QL6 3W\B69Z[b'G%\�3���\F=Sb b EW3W\�=S4735@�D ZÙQe35476/3WD&476/=S4L2/@�cd=�3WD9\�=�D¸_'G \IA7G%=S4[G%2":

8FD9G%=SABE5`&=Sb/b/A7@�=�\]6¸QR=�Zâ476JG ~ Qh@¢K-35OºGI�#fR`�\�E5G��C@�2/G%E'Oº@�ALZ7`�Z[4[G%c 2JG�j�G%E5@�b c+G%D�4L2JG���DJG%2&_�`&476JG�<�@�OP4x�QR=SA7GÓOP@�AY8e2/=Sb 47=S_ E5G�lgXoG%EW3¨=S_ E5GÓ<�`�Z[4[G%cdZ �< ~ 8eXu< ub/AB@�V�AB=�c @�OL476JGÓi;:�<Ä: aeG�b�=SA747c+G%D�4;@�OLaFG�OPG%D/Z[G � p �:~ 6JG �/ABZ[4;EW35OPG¢\I`�\�EWG&3WZ;OP@�A�2J@�c¢=�3WD¼G%DJV�3¨DJG�G�AB3WDJV�=�D/2à476/GÓZ[G%\I@�D/2)3WZUOº@�AY=Sb/b E¨3W\�=S4735@�D¼G%D/V�3WDJG�G�AB3WD/VJ: ~ 6JG2J@�cd=�3¨D��.Z[b'G%\�3�� \u=SAB\]6/354[G%\I471JAB=�E-=�Z[b'G%\I47ZL=SA7G�\�=Sb/471JA7G%2"l/476JA7@�1JV�6C2J@�cd=�3WD9G%D/V�3WDJG�G�AB3WD/VJl/3WD¸=+A7G�OPG�A7G%D/\IG�=SA[�\B6 354[G%\I471JA7G�:�8eb/b EW3¨\�=S4735@�D��.Z[b'G%\�3�� \h=�Z[b'G%\I47Zh=SA7GLZ71Jb bÄ@�AB4[G%2Y476JA7@�1JV�6¢476JGL1/Z[GL@�OÄb�=SAB=�c+G�4[G�AB3�'%=S473W@�D¢@�AÙ@�476JG�AZ[b'G%\�3W=�EW3 '%=S4735@�D9c+G�476J@�2/Zâ=�D/29476/GU3WD/Z[47=�D�473W=S4735@�D�b A7@�\IG%ZBZo3WZR@�1J47EW3¨DJG%2�Oº@�ALb =SA7473W\�1/E¨=SAo=Sb/b EW3W\�=S473W@�D/Z�:

��� � �R����� � �N� *�� ���Ä��.�^* ��*�� ¡�� �R*�� �Ò� *-<�`�Z[4[G%c V�G%DJG�AB=S4735@�D 6 =�ZÓ_'G�G%DÒZ71JV�V�G%Z[4[G%2²OP@�A�OP1/A7476JG�A&AB=�3WZ73WD/Và476JG�E5G�j�G%EF@�OU=S_ Z[4[A]=�\I4735@�D²Oº@�A�b/AB@�V�AB=�cY�cd3WD/Vd\I@�c+b 1J4[G�ABZ%: �Ø@�Z7Z735_ EW`Ó476JG cd@�Z[4LO½1/EWE5`Ó2JG�j�G%E5@�b'G%29GIHJ=�c+b E5GU3¨ZR476JGU\I@�EWE5G%\I473W@�D¸@�OgZ[`�Z[4[G%c V�G%DJG�A]=S4735@�D

� p

Page 52: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

4[@�@�EWZYZ71Jb/b'@�A7473WD/V9476JG&2/G�j�G%E5@�b c+G%D�4Y@�OL\I@�c+b 3WEWG�ABZ OPA7@�c 6/35V�6��.E5G�j�G%EhZ[b'G%\�3�� \�=S473W@�D/ZU@�OeEW=�DJV�1/=SV�G�Z[`�D�47=?H'lEW=�DJV�1 =SV�GdZ[G%cd=�D�473W\�Z�l^=�D/2N6 =SAB2JQR=SA7G+=SAB\B6/3W4[G%\I471JA7G�:+XoG%\IG%D�47E5`�l-Z7`�Z[4[G%c V�G%DJG�AB=S4735@�D¼6 =�Zu_ÄG�G%DN=Sb b EW35G%2�4[@Z[@�OP4.QR=SA7G�=SAB\B6/3W4[G%\I471JA7G¢2JG%ZB\IAB35b/4735@�D Z{=�Z;=¸cdG%=�D/Z 4[@Ë\IA7G%=S4[GÓA]=Sb 3W2�b/A7@�4[@�4�`�b'G%Z�=�D/2¼3Wcdb E5G%c+G%D�47=S4735@�D/Z{@�OZ[`�Z[4[G%c OP=�c¢3WEW35G%ZgQe6J@�Z[Ge=SA]\B6/354[G%\I471/A7G%ZR=SA7GeQhG%EWEÄ1/D/2JG�A]Z[4[@�@�2�: �L@�4h@�D/E5`d2/@�G%ZhZ[`�Z[4[G%cßV�G%D/G�AB=S4735@�D�3Wc+b/AB@mj�Gb/A7@�2/1/\I473Wj�354�`CQL6/G%D¼_ 1/3¨EW2/3WDJV&Z[`�Z[4[G%cdZ�l 354U=�EWZ7@CZ71Jb/b'@�A747Zu476/GÓ2/3WZ7b EW=�\IG%c+G%D�4{@�ORG%DJV�3WDJG�G�AB3¨DJV9GI>Ä@�AB4UOPA7@�c476JGY2JG�47=�3WEWZF@�O�3¨c+b E5G%c+G%D�47=S4735@�D�4[@96/35V�6JG�A[�b�=%`�@S>à47=�Z � Z{Z71/\]6�=�ZF\I@�cdbÄ@�D/G%D�4{2JG%Z73WV�D�=�D/2�=�Z7ZB35V�D/c+G%D�4e@�O3WD�4[G�A[�.\I@�c+b'@�DJG%D�4L\I@�cdc�1/D/3W\�=S473W@�D9c+G%\B6/=�D 3WZ7cdZ�:

~ 6/GRZB1/\�\IG%Z7Z @�O�2/@�cd=�3WD��.Z[b'G%\�3���\�Z[`�Z[4[G%c V�G%DJG�AB=S4[@�A]Z�3WD/Z[b�35A7G%2{476JGo\IABG%=S4735@�DY@�O�FG%D��g@�\�= � � �l�=F2/@�cd=�3WD3WD/2/G�bÄG%D 2JG%D�4ØV�G%DJG�AB=S4[@�AhOP@�A�476JGL\IA7G%=S473W@�Dd@�O�2J@�cd=�3WDJ�.Z[b'G%\�3�� \RZ[`�Z[4[G%c�V�G%DJG�AB=S4[@�A]Z�: ~ 6JGâb/A]3Wcd=SA7`;V�@�=�EWZ�OP@�AFG%D �g@�\�=¢=SABG 4[@Ó=�EWEW@mQ =�1J4[@�c¢=S473W\ \�1/Z[4[@�c¢3�'%=S4735@�D¸@�Og\I@�c+b'@�DJG%D�47Zo3WD¸@�AB2JG�Ao4[@¢3¨c+b/A7@�j�G b/A7@�2/1/\I4735j�354�`¢3WDZ[`�Z[4[G%c _ 1/3WE¨2/3WDJVJl�=�D/2&4[@�b/A7@�2/1/\IGFZ[`�Z74[G%cdZh476/=S4RbÄG�ABOº@�ABc =S4âE5G%=�Z[4R=�ZhQÙG%EWEÄ=�Zâ6/=�D/2J�_ 1/3WE54�=�D 2¢@�b/473¨cd3�'�G%2j�G�ABZ73W@�D/Z�:Þ<�`�Z[4[G%cdZ&=SA7G�\I@�c+b'@�Z[G%2Ò_�`Ô\I@�c;_ 3WD 3WDJVàZ71/_ Z[`�Z[4[G%cdZd476 =S4&=SA7GË_ 1/3¨E54d@�1J4Ó@�O b =SAB=�c+G�4[G�A]3�'�G%2A7G%1/ZB=S_ E5G;\I@�cdbÄ@�D/G%D�4uEW35_/A]=SAB35G%Z�: FG%D��g@�\�=93WZe_ =�Z[G%2�@�DË476JG�A7G%=�EW3�'%=S4735@�D ZL476/=S4{\I@�c+b�E5GIHCZ[`�Z[4[G%cdZFA7G���1/35A7GA7G%1/Z7GY=S4{=9\I@�=SABZ7G�A{V�AB=�D�1 EW=SAB354�`C476/=�DË4[AB=�2/3W4735@�D/=�EWE5`¸=mj?=�3¨EW=S_ E5GY3WDËOP1 D/\I4735@�D��.E5G�j�G%EØEW35_ AB=SAB35G%Z�lÄ476/=S4uA7G%1/Z7G�@�O\I@�c+b'@�DJG%D�47Z;2/G�bÄG%D 2/Zu@�DÖZ747=�D/2/=SAB2/3 '%=S4735@�DN@�Oo\I@�c+b'@�DJG%D�4;3WD�4[G�A7O½=�\IG%Z�lg=�D/2¼476 =S4Ub =SAB=�cdG�4[G�AB3�'%=S4735@�DÂ\�=�D_'G 1/Z[G%2�4[@¢=�1/4[@�cd=S473W\�=�EWE5`9\�1/Z74[@�cd3�'�G Z[`�Z[4[G%c \I@�cdbÄ@�D/G%D�47Z�:

8eAB\B6 354[G%\I471JA7G�A7G�� DJG%c+G%D�4�lâ=�Z¢2JG%ZB\IAB35_'G%2)_�` �C@�AB3W\I@�D 3âG�4Ó=�E°: � r < �lo3WZdZ73¨cd3WEW=SAd3WDÏZ7@�c+GCA7G%Z7bÄG%\I47Z¢4[@Z[`�Z[4[G%c V�G%DJG�A]=S4735@�D�l{_ 1J4¸2/@�G%Z¸D/@�4¸2JG�b'G%D/2²@�D b/A7GI�.3¨c+b E5G%c+G%D�4[G%2 \I@�c+b'@�DJG%D�47Z�: Xe=S476JG�AC354¸3WZ�_�=�Z[G%2@�D²476JG !xO½=�35476JO½1/Eu3WD�4[G�A7b/A7G�47=S4735@�D #Ö@�O�\I@�c+b'@�DJG%D�47Z¸=�Z9476JGN=SAB\]6/354[G%\I471JA7G¼3¨Z�V�AB=�2/1/=�EWEW`ÏA7G�� DJG%2 3WD�4[@Ï=�D3Wc+b�E5G%c+G%D�47=S4735@�D�: "/=�35476JO½1/E 3¨D�4[G�A7b A7G�47=S4735@�D¢cdG%=�D/Z�476 =S4h=�EWE/OP=�\I47ZR2JG�� D/G%2¢3WDd=�D&=SAB\]6/354[G%\I471JAB=�EÄ2JG%Z7\IA]35b/4735@�DGIHJ3WZ[4g3WD+=�EWE�@�476JG�A�EWG�j�G%EWZg@�O�={Z7`�Z[4[G%c $yZ�2JG%Z7\IAB3Wb/4735@�DY=�D/2Y476/=S4�3Wcdb EW35G%2�DJG�V�=S4735j�GoO½=�\I47Z�2J@ D/@�4�: ~ 6�1/Z%l�QL6JG%D1/Z[G�O½1/E°lJ476/G;6/35V�6/G%Z[4x�.E5G�j�G%E^Z7`�Z[4[G%ct=S_ Z[4[AB=�\I473W@�D�\�=�D�_'G A7G%EW35G%291/bÄ@�DC2/1JAB3WD/VYZ7`�Z[4[G%c =�D/=�E5`�Z73WZL=S4e=�EWE^@�476JG�AE5G�j�G%EWZ%:*"/=�35476JO½1/EÄ3WD�4[G�ABb/A7G�47=S4735@�D93WZR=�\]6/35G�j�G%2�476JA7@�1/V�6Ó476/Gu=Sb b EW3W\�=S4735@�DÓ@�O-EW@�V�3W\��_ =�Z[G%29\I@�A7ABG%\I4âA7G�� DJG%c+G%D�4b =S4[4[G�ABD Z^4[@uE5@�\�=�E�A7G�� D/G%c+G%D�47Z-476/=S4 =SA7Gh476JG%D;\I@�c;_ 3WD/G%2U3WD�4[@L476JGhDJGIH�4�l�E5@mQhG�AØEWG�j�G%E�@�O/Z[`�Z[4[G%c =S_ Z[4[A]=�\I4735@�D�:T�=�\]6dE5G�j�G%E�@�OÄA7G�� DJG%cdG%D�4g3WZ V�1/=SA]=�D�4[G�G%2+4[@{_'Gâ\I@�A7A7G%\I4�_ =�Z[G%2Y@�DY476JGâV�1/=SA]=�D�4[G�G%2d\I@�ABA7G%\I47DJG%Z7Zg@�OÄ476JGoE5@�\�=�EA7G�� D/G%c+G%D�47Z%:

��� � ���������°�� ������������à��/$���e@�cd=S4[4[G�AYQL6/=S4;Oº@�A]c @�Oo2JG%Z7\IA]35b/4735@�D¼3¨ZU1/Z[G%2à4[@Ë2/G%Z7\IAB35_'Gd=CZ7@�Oº4�Qh=SA7G�Z[`�Z[4[G%c%$yZY=SAB\]6/354[G%\I471JA7G�lgDJ@�@�DJG2JG%Z7\IA]35b/4735@�D�\�=�DN@�AUZB6J@�1/EW2�\I@�D�47=�3WD¼=�EWE 476JGd3¨DJOº@�A]cd=S4735@�DË476/=S4U3WZ{3¨c+b'@�A747=�D�4u4[@¸=�EWEgZ747= � G%6J@�EW2JG�ABZU3WD�476JG2JG�j�G%E5@�b�c+G%D�4eb/A7@�\IG%Z7Z�:o8FD�3¨D/2/35j�3W2/1/=�EÄZ[47= � G%6J@�E¨2JG�AFZB6J@�1/EW2¸6 =%j�GY=�\�\IG%Z7ZF4[@&=Ó2JG%Z7\IAB35b 4735@�D9476/=S4u\I@�D�47=�3¨D/Z@�D/E5`)476JG�3WDJOP@�ABcd=S4735@�DÔD/G%\IG%Z7Z7=SA7`ÏOP@�AÓ1/D 2JG�ABZ[47=�D/2 3WDJVN=�Z[b'G%\I47Z¢@�O{476/GCZ[`�Z[4[G%c ABG%E5G�j?=�D�4¢4[@Ö476JG%35AÓQÙ@�A � :�ØG�A7A7`N=�D/2àMN@�E5O � � ���h3¨D�4[A7@�2/1/\IG%2¼476JGÓDJ@�473W@�DN@�Oo=SAB\B6 354[G%\I471JAB=�EÙj�3WG�QLZ{OP@�AU476/3WZUb 1JA7b'@�Z[G�:&8LA]\B6/354[G%\I471/AB=�Ej�35G�QLZâ\�=�D9_'Gu476J@�1JV�6�4â@�OØ3¨D�476JG Z7=�c+G Z[G%D Z[G{=�Zâj�3WG�QLZâ=SA7G 1/Z[G%293¨D9\�35j�3¨EÄ=SA]\B6/354[G%\I471/A7G�lJQL6JG�A7G =Y_�1/3WEW2/3¨DJV3WZY2JG%Z7\IA]35_'G%2Ö3WDÂZ[G�j�G�AB=�EoQh=m`�Z ��Z7\�=�E5GI�.cd@�2JG%ERj�35G�Q l � @�@�A[�b�EW=�DÂj�35G�QUlg_ 1/3WEW2/G�A $yZU2JG�47=�3¨E5G%2Âj�35G�QUl�=�D/2)476JGEW3 � G�: ~ 6JG;Z7\�=�EWGI�.c+@�2/G%E^j�35G�Q b A7@mj�3W2JG%ZL476JG;V�G%D/G�AB=�E-Z7G%D/Z[GU@�OgQe6/=S4L476JGYZ[4[AB1 \I471JA7G QL3¨EWE"=Sb/b'G%=SAeE¨3 � G;3WD�3547ZG%D�j�35AB@�D/c+G%D�4�: ~ 6/3WZUj�35G�Q 3WZ;@�Oe3¨D�4[G�A7G%Z74�4[@NEW=�D 2/Z7\�=Sb'G�ABZ�=�D/2 '�@�D/3WDJVË_'@�=SAB2/Z�: ~ 6JG&_ 1/3WE¨2JG�A $yZU2/G�47=�3WE5G%2j�35G�Q l/3WD9\I@�D�4[AB=�Z[4�l�b/A7@mj�3W2JG%Zâ3¨DJOº@�A]cd=S4735@�D�@�O 3WD�4[G�ABG%Z[4o4[@dG%E5G%\I4[A]3W\�3W=�D/Zo=�D 2�b EW1/c;_'G�ABZ�:�xD�Z7@�Oº4�Qh=SA7Gd=SA]\B6/354[G%\I471/A7G�l'476JG�D/G�G%2�OP@�A{2/3×>'G�A7G%D�4Lj�35G�QLZeA7G%Z71/E547ZeOPA7@�c 476JG;jS=SAB35G%2ËDJG�G%2/Ze@�O�2/35>ÄG�A7G%D�4

Z[47= � G%6J@�E¨2JG�ABZ�l�=�Z;QÙG%E¨EÙ=�Z�476JG&j?=SA]35G%2¼4�`�b'G%Z�@�Oo=�D/=�E5`�Z[G%Z�@�DJG�cd35V�6�4UQR=�D�4�4[@�bÄG�ABOº@�ABc�=�ZY2JG�j�G%E5@�b c+G%D�4b/A7@�V�ABG%Z7Z[G%Z�: �ØG�A7A7`Â=�D/2ÖMN@�E5Oe=�Z7Z7@�\�3W=S4[G9476/G&3Wcdb E5G%c+G%D�47=S4735@�DÂj�3WG�Q´QL3W476Ö476/GÓ_ 1 3WEW2JG�A $yZ;2JG�47=�3WE5G%2Öj�35G�Q :nF476JG�Auj�35G�QLZuZ71JV�V�G%Z74[G%2�_�` �{AB1/\]6�4[G%D � ��s ��3WD/\�E¨1/2JG;EW@�V�3W\�=�E°l'b/A7@�\IG%Z7Z�l�2JG�b EW@m`�c+G%D�4�l"=�D 2Ë1 Z[GI�.\�=�Z[G+j�35G�QLZ�:~ 6JG � ABZ[4g476JA7G�Gâj�35G�QLZ�=SA7GL=SAB\]6/354[G%\I471JAB=�E/j�35G�QeZ�=�D/2+476JGo1 Z[GI�.\�=�Z[GLj�35G�QÜ3¨Z Oº@�A�jS=�EW3W2 =S4735@�D�:ØMÒ6/3¨E5Gâ= Z[`�Z[4[G%c3WZ _'G%3WDJV{2JG%ZB35V�DJG%2�l�3W4�3WZ V�@�@�2d4[@;\I@�D/Z73W2JG�A�6/@mQ¾3W4�\�=�D+_'GâA7G�b/A7G%Z[G%D�4[G%2dOP@�A�G%=�\]6d@�O'476JG%Z[Goj�35G�QLZ%: �{A]1/\B6�4[G%DA7G%\I@�V�D/3 '�G%Zâ476/=S4âZ[b'G%\�3�� \FZ[`�Z[4[G%cdZRA7G���1/35A7Gu2/3×>'G�A7G%D�4âD�1/c;_'G�ABZh=�D/2 � 3¨D/2/ZÙ@�O^j�35G�QLZ�:Ù<�3¨c+b E5GLZ7`�Z[4[G%c¢Zâcd=%`DJ@�4�A7G���1/35A7G¢=�E¨E�@�Oo476/@�Z[G&2/G%Z7\IAB35_'G%2à3¨Dà6/3WZ;c+@�2JG%E�Qe6/3WE5Gd@�476/G�ABZ;c¢=%`àABG���1/3WA7G¢c+@�A7G � rSq �: !LG�Z71JV�V�G%Z747Z

� s

Page 53: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

=�2/2/3W4735@�D/=�E�j�35G�QLZ%l?Z71 \B6Y=�Z Z7=SOºG�4�`Uj�35G�QLZØ=�D/2�Z[G%\�1JAB354�`{j�3WG�QLZ�lS476/=S4ØQÙ@�1/E¨2U_'GÙ3¨c+b'@�A747=�D�4-4[@FZ7bÄG%\�3 � \�\�EW=�ZBZ[G%Z@�OoZ[`�Z[4[G%cdZ�Z71/\]6Ö=�Z�D�1 \�E5G%=SA;ABG%=�\I4[@�AY\I@�D�4[A7@�EWEWG�ABZ�:Ë<�@�D 3�G�4;=�E: � < � �R2/3WZ7\�1 Z7Z \�=S4[G�V�@�AB35G%ZY@�Oo=SA]\B6/354[G%\I471/A7G �\I@�D/\IG�b/471 =�E°l�c+@�2 1/E5G�l?GIH�G%\�1J473W@�D�l�=�D/2U\I@�2JG�: ~ 6JG%Z[Gh\�=S4[G�V�@�AB35G%ZØQhG�A7Gh2/G�� DJG%2U=SOP4[G�AgZ[471/2J`�3WDJVâ476/GÙZ[4[AB1 \I471JA7G@�O^=Uj?=SAB3WG�4.`d@�O^3¨D/2/1/Z[4[A]3W=�E�Z[@�Oº4�Qh=SABGuZ7`�Z[4[G%c¢Z�: ~ 6JG�`+OPG�G%E 476 =S4Ùj�35G�QL3WD/VUZ[@�OP4.QR=SA7G{Z[4[AB1/\I471JABGLOPA7@�cß2/35>ÄG�A7G%D�4b'G�ABZ[b'G%\I4735j�G%Zâ3WZL\IAB1/\�3W=�E�=�Ze354RQL3WEWEÄb/A7@�j�3¨2JG =Y_ =�Z[G OP@�AoOP@�ABcd=�E�ABG%=�Z[@�D/3WDJVd=S_'@�1J4oZ7@�Oº4�Qh=SA7G;2JG�j�G%E5@�b c+G%D�4�:

� �#���� � �

�xDÒZB1/cdcd=SA7`�leZ[@�Oº4�Qh=SABG¼=SAB\B6/3W4[G%\I473WDJVÏ3WZ&=�DÒ3¨c+b'@�A747=�D�4&b 6/=�Z7G�@�O;476JGËZ7@�Oº4�Qh=SA7G¼2/G�j�G%E5@�b c+G%D�4�b/A7@�\IG%Z7Z�:T ��1/=�EWEW`Ó3Wc+b'@�A747=�D�4L=SA7GU476JG;=�Z7Z7@�\�3W=S4[G%2�=�\I4735j�354735G%Zo@�Og=SAB\]6/354[G%\I471JA]=�E^2JG%Z7\IA]35b/4735@�D¸=�D 2¸=�D/=�E5`�Z73WZ�:â<�@�OP4.QR=SA7G=SAB\]6/354[G%\I471JA7GY\�=�DË_'G 476J@�1JV�6�4e@�OÙ3WDC=�D/=�EW@�V�`94[@&_�1/3WEW2/3¨DJV�=SA]\B6/354[G%\I471/A7G�:��xDC_'@�476Ë\�=�Z[G%ZF476JG;=SA]\B6/354[G%\I471/A7GZ[G�A7j�G%ZY=�j?=SA]35G�4.`¼@�OLb 1JA7b'@�Z[G%ZU@mj�G�A+476JG&EW35OPG¢@�Oâ476JG�Z[`�Z[4[G%c @�A�476/G¢_ 1/3¨EW2/3WDJVJ: ~ 6/GÓ3WD/3W473W=�Eg_ EW1/G�b/AB3WD�4{@�A=SAB\]6/354[G%\I471JAB=�EJ2/G%Z7\IAB35b/473W@�D�Z7G�A7j�G%Z�=�Z�=�D+1/D =�cU_ 3WV�1J@�1/ZØ_ =�Z[GROP@�A�\I@�cdc;1 D/3W\�=S4735@�D+=�c+@�D/V{476JGoZ[47= � G%6J@�EW2/G�ABZ@�Oh476JGdb/A7@ w G%\I4�: ~ 6/G+_ EW1JG�b/A]3WD�4F3WZ{=%jS=�3WEW=S_�E5G+j�G�A7`�G%=SABE5`�3WD�476JGd2JG�j�G%EW@�b c+G%D�4 b/A7@�\IG%Z7Z =�D/2N=�Z;Z71/\]6¼\�=�D_'G;1/Z7G%2C4[@&A7G%=�Z[@�DË=S_'@�1J4e476/G��/47DJG%ZBZL@�O�476/G�Z[4[A]1/\I471JA7G;4[@ÓO½1/E�� E¨E�3547ZLb�1JA7b'@�Z[G{_'G�Oº@�ABGUGI>'@�A74{3WZoGIH�b'G%D/2JG%2@�D�\IA7G%=S473WDJV�476JG+=�\I471/=�EgZ74[AB1/\I471JA7G�: 8FZu476JGYZ[`�Z[4[G%c =SV�G%Z�l"476JG+=SAB\]6/354[G%\I471JABGY\�=�D�_'GY1/Z[G%2�=�Z{=ÓA7G�OºG�ABG%D/\IG4[@Ô2JG�4[G%\I4¸1/D 2J@�\�1 c+G%D�4[G%2²\]6/=�DJV�G%Z94[@Ï476JG¼Z7`�Z[4[G%c @�A¸=�ZC=�D =�3W2Ò4[@ÔZ71Jb/b'@�A74&3Wc+b E5G%cdG%D�47=S4735@�DJ�_ =�Z[G%2cd=�3WD�4[G%D/=�D/\IGY=�\I4735j�354735G%ZFZ71/\]6Ë=�ZFA7G�V�ABG%Z7Z735@�D�4[G%Z[473WDJV&=�D/2�3Wc+b =�\I4F=�D/=�E5`�Z73WZ�:eXoG%\I@�V�D/3�'%3¨DJVÓ476/G�3WcdbÄ@�AB47=�D�4A7@�E5G&@�OeZ7@�Oº4�Qh=SA7G¸=SA]\B6/354[G%\I471/A7G93WD)Z[@�Oº4�Qh=SABG¸2JG�j�G%E5@�b c+G%D�4+6/=�ZYE5G%2)cd=�D�`à\I@�c+b 1J4[G�AdZB\�35G%D�473¨Z[47Z�4[@ËOP@�\�1/Z476JG%35A�A7G%Z7G%=SAB\B6²GI>'@�A747Z9@�D²2JG�j�G%E5@�b�3WDJV)EW=�DJV�1/=SV�G%Z�47=�3WEW@�A7G%2Ò4[@ÔZ[@�Oº4�Qh=SABG¼=SAB\B6/3W4[G%\I471JA7G¼2JG%Z7\IA]35b/4735@�DÒ=�D/2@�DÂ2JG�j�G%E5@�b 3WD/VC=�Z7Z[@�\�3W=S4[G%2)=�D/=�E5`�Z73WZ{4[G%\]6/D/3 ��1JG%Z�: ~ 6JGdOP@�ABcd=�EW3 '%=S4735@�D¼@�Oo=SAB\]6/354[G%\I471JA]=�EÙ2JG%ZB\IAB35b/4735@�DÖ=�D/2=�D/=�E5`�Z73WZ"4[G%\B6/D/3 ��1JG%Z^b/A7@�j�3W2/G%Z^=o4[A]=�\I47=S_ E5GÙcdG%=�D/Z^@�OJABG%=�Z[@�D/3WDJVe=S_Ä@�1/4"476JGÙ\I@�D Z[4[AB1/\I4735@�D;=�D/2�cd=�3WD�4[G%D/=�D/\IG@�OgEW=SA7V�G =�D/2C\I@�c+b E5GIH9Z[@�OP4.QR=SA7G;Z[`�Z[4[G%cdZ%:

< q

Page 54: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� � � � ��� ��� � �

� �����â�m�����Í�B�{�m�����L��R�%�#�Í�m�/������ �{�m�����B�Í���â��� � ������� � �����x�%���-������� � ���Í�m� ���°����� ���������! #"%$!&'�)(+*-,��/.102*#,43�"�*5���6"872*9 :�2";7!<= �2"�(���� �>";���4�2"@?8�)(�*9AB72���/C�"$! #"8�����6 #"$!D�E��!���GF+HS��IJLK���)MBMBMN�-�L��E������B����� � ���B�)OLD�P¢�QO+�]�m� H �

� D ���â�S���Í���]���m���R�e���R�%�#�Í�m�/� �S��m���{�%�8T �LF���F"�W�m� ��� � ���Ñ�#� � �����x�%�U�-�m����� � �#�����/�WV =WXZY � 7!"�&>7L�>*9 :�2"�&[�2"\?]�)(�*9AB72� �C�"$! #"8���>�6 #"%$^72"8� X �>*#,��G�1�2<_��$!`2D]a <?F�@&� D � F I D H ��D?�m����Od���m�%H��

� F ���â�����Í���]�UD8�L�]�R�%�#�Í�m�UD��%���+�����5b��B��FB�c��m���u�m�dP+�����]���Í�����%���+�����%��OeF.�fF��m�������4g�� �h�-�L��E��m���]���'�°���#�>���#�%���Í�m��?�x�%�����m�#�/�i�°�\�j� �G�������2 #"$2&k�)(l*-,��mV =WX ?3!no?WpBq Y ?� sr1*-,�36"�*5�>�6";72*9 :�2"872<8?;`2t+u��Q&6 #vetw�!"x*-,��mqd�2ve"8�L72*9 :�2"�&[�y(?8�y(�*zAB7!� �lC�"%$L #";���>�6 #"%$LD�E��L�m�GF+H!KQI�H%���S�m��P ��y�â��{/}|lD�~��2b��>�����]�h���m�1J��

� H ���e�1T ���#�m��OLD?�J�1�h�LF#�%�#�zD%T��h�B�x� � �zD1�L�?�����������%�9DP9�?�S����?��UD?�%���{���1| ���1�{�LF]�;| ���l�h�B�bm� � �/Pd�S���B���m� �S�%�5�)� �%�#��OeF.���>�w�h�B���]�#�%����m�/��3 CBC�CS?]�)(�*9AB72� �>D/�m� <z��@�� Jm�QI�� H DS�S�GE����G�����B�o���m� H �

� � �R�F�eT�B�#� O �m�����F��T�m�����m�P�d| �����-���G�u� � �%�J�+��F.���x� � �+Pd� � �������� Y ,����2����*9 :��72< = �!t+u8ve*��>�/?8�> :��"8���>D��La � D �QH�I D H J�D�]��� D �

� a2�{�o��TØ�B���������Í����DB�'�}�°�%b��B�x�%�x���9D}gL��P+� �]� �Í���zDØ�%�����o���g�%F.�B�.�#�º�C���Ë�mE�E��#��� � �9�����°�?���>���#�%���Í�m��|��GF.���Í����T �LF��]��m�d��� � ���Ñ�#� � �#���x�%�}����F � ����E����Í�m��FB�+�°����� ���������2 #"$2&��)(�*#,���.!�1����36"�*��>�6";7!*z :�!";7!< = �!"G(��>� ��"8�����2"@C�"%$L #";���>�6 #"%$x�y(= �2tmu;<_��r = �2tmu;ve*5���[?;`Q&6*��>t�&6DeE��L�m��FcH1HGIeJ H ��)MoMBMN�-�L��E����#�B���S� � �Í�7�)O1D��S�>E����>�����]�o�]���%H��

� H����e�e�-�1�4E��%�#�LD1�'�1�°�bm�B�x�%�x���9Dm�%���{�o� �"�?�Ó���Ñ��U��� � �2b��B�#�����o��� � ���Ñ�#� � �#���x�%��Pd��F �{��� � �{�Í�^�-�1�4E��m���B�?�oTØ�B���QbS�Í�m���?8�> :�>";�����y( = �2tmu;ve*5���'����� $L� 72t4t4 #"%$LD F�F <bD�@�� �GK���I�� F �LD1��>�������m� O¢�]�m�����

� J2�{�"���Ù�#�����]���m���U�Ï� M����g�Í����������| ���L�e|Ä�m���^�^���1�m�x�!� � {'b��B��bS���G�à�%���^���%���Í�m���m����� = �!t+u8ve*��>�6D ��a < ��� @&� D �6I D ��D~��2b��>�����]�h���LJ F �

� �2��P9�}���B��]���#���B�������!E��×���+E�E��Í� � ���#�����N�%�â�/���m�?�)�Ø�B���m�?�R��m���{�%�mPd�7�����S��Fu�W�m�^�-����F���F.���]� � OË�����m�_OeF��GF]��3 C�CBCY � 72"�&�71��*9 :�2"�&��2"x?]�)(�*9AB72� �lC�"$! #"8���>�6 #"%$LD D�H < �m� @&� � H �2IS� � ��DL~��2bm�G�����B�R�]���LJ��

� �GK2������ �{�m�J�eOF.���G��F < M"�����1E�� @ D��J�x�J�oqi7! #<�ve� ��&c�� #�2���z$%�>";���'�'�:�B";�>t��>"�*5�BqW�/�l���i&>�>� X 7!"�v�7!<y������ �{�%�/�OeF.���G��F< M^���#�LE�� @ D��/�#�J��D;{��S�W�m�x�]D�M^���m�×�%���UD�{ � ���1���]�â�]�m�HS�

� �m����M�� �â�d�R�m��F����B��DdM��i�R�m����F.�L���1FGD������Ù�d~��m�����UD'�%�����u� �5�'�U��������| � � �����f�?���u�W�m���Ù�x�Q�g����� �Ù���#� � �����¡�h�#�LE���F]�3 CBC�C Y � 72"�&�71��*9 :�2"�&��2" ?]�)(�*9AB72� �[C�"$! #"8�����6 #"$!D/��� <bF�@�� D � H I D�F K�D1Pd�m� � �Ó�]��� F �

� � D ���e�i�R�%�#�Í�m�UDi�â�/�����Í�B�UDÄ�%���&���W{ � �m�]� ���Í�S�L�Y��M"�E������Ñ�#�����+�?�)OS�Í�{������� � ������� � �����x�%���Ù�GF����m��M"�bS���#�m���u�]����FB���°���� ���������! #"%$!&\�y(�*-,���?]�����!";�xV =WX ?e32n�?dpBq Y ?;`2t+u��Q&6 #vet¢�!"£*#,���qi�!ve";�172*9 :�2"�& �)(�?8�y(�*zAB7!� ��C�"$! #"8�����6 #"$!DE��L�m�GFh�2H � I��GJ1J����m��P ��y�â��{/W|lD���� � �>�����]�â�]��� H �

� � F ���e�i�R�%�#�Í�m�UD]�L�U�R�Í�����#�]�]D/�m���¢��� P9�J�N�������k�°�?���]���1E��]�#�L���Í�����)O � ���!��E��Í���"�#�L���Í�>��Fh�%���&�S�m�Í���#������FB�e�+b��%�Í�Í�L���Í��W�#�L� �#���o�%���#���m��FGD����m� � �

� � H ���e�i�R�%�#�Í�m�UDU�â�UP+�������S�1D/�%���¤�L�J�N�Í�����F�m��P@M � ������� � ������� � ������������F � ����E��#�����@�°�?���]� � ���m���m�u� �m���m���!�m���[�°���� ���������! #"%$!&��)( = V/? = p�¥§¦ ���>D�E��!���GFR��am�QI��GJ F �L�)TjP¨�-�B�?���]� �W�m���Ù�eb��%� � �]�Y�?����������F>D�~��2bm�G�����B�â���m�%H��

� � � ���e�]�R�m���×�%�Ó�%���¤P9� �S���Q�â�â�����°�?���#����� � �#�����+���+�S�m�5�)�Ø�m���F��� � ���Ñ�#� � �����#�m�[�°�¤�L�/�+�����#�����Í�;�%�����F�8|��m�������#��D�]���Ñ�#�m��F>DmV'�2�272";����&x #"©?]�)(�*9AB72� � C�"$! #"8�����6 #"$N72";��ª�";�!A�<����G$1�xCj"%$L #";�����6 #"$!D'bm�������u�9���-�&�m�#�Í�¼� � �Í�B�?���_� � D~��G�Ö���B��F.�GOLDJ���m� F �

� �Ga2���e�8�R�m���×�%�d�m���¤«Ä���&�m�����h� � �F�>��T �1F.���d�S�%�5�)� �%�#�L��� � ������� � ���������°���#�B� � ���%���m�m�c�°����� ���������! #"%$!&4�)(�*#,�� Y , #� �36"�*��>�6";7!*z :�!";7!< = �!"G(��>� �>";���@�!" = �G�!� �2 #"872*9 :�2" X ���L�><¬&@72"8�¤­d72"%$Lv�7>$%��&�DØ�S�������B�+� � � H �Í��� � � �����#� ~��%�#�GFu�Í��-�L��E������B��� � �Í�B� � �LD�E��L�m��F F�H K2I F1��H �S�E��#�������B� �9���]���×�!��D?�mE��#���"���m�����

� �QH����e�1�h�Í�m�����L�m�LE��m�������/��| ���+|c���m��|Ä�N�+E�E����?� � �e�W�m��TØ�B���Qb?�Í�m���"�����m�_OeF���F'�m�U�-��� � ���#�#�B�?�^�OeF�#�>��FB�;| � � ����� � �m��g�GE����.�+�Ù��à� �1® �Ga�D�Ù�>E��%��� �u�B�?���%�B�-�L��E������Í����D��5��E��B�#�Í�m�d�-�m�Í���G�m�R�%�"� � ���]� � �1D�| � � ���������1�LO �%���^Pd�]��� � �Í���LD�S�GE����G�����B�â�]��� � �

� �GJ2���â� P9���h�����]�m����F �%���N�o� �"�Ø�Ó���Ñ��Ô�¯�� � ���Í�Ñ�x���#�m��P+�B���������W�����mE�F�#�����!�°����F.���m�¼� � �#�_bS�����Í�GFR�g����������bm�]��F���?�x�!�m�]���m�×���]��F]�]�°�\�����G�������2 #"%$!&k�)(/*#,��k.!�1�%0�36"�*5�>�6";72*9 :�2"872< = �2"�(�������"8�����2"��'��±>ve #� �>t��>"�*z&jC�"$! #"8�����6 #"$!DeE��L�m��F�]�1KQI��]�%H��L�)MoMBMN�-�L��E����#�B���S� � �Í�7�)O1D��+E����Í���]���La��

< �

Page 55: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� �]�2���e� M��ig��m� ��F]� Y ,���3�"���v���"8�����)(�?8�)(�*9AB72���4�'��v&>�^�2"���� ��$!� 7!t�t4 #"%$ ­d72"$!v�7G$1���4�6&6 s$L"��\�"���Ê������F.�fF>D�{Ù���Í��?�x�����[�����_b��B��F.���)OLD��-������������FGD�Pd�QOd���m�1K��

� D K2���Ù� �o� �â�Lg��?�%�#�m� = �2t4t4ve"� :��72*9 #"%$�?8��±>v���"�*z :7!<%��� �����6&�&>��&x�;�"�#�B�?��� � �>��gÙ�%�Í�zD!M^���m�Í�>�Ø�S���4�-�Í�Ñ�]F>D%~��G�Ë���B��F.�GOLD����LJ � �� D �����'���°�bm�]�#�m�#��� �%���Ë�L� �^�"�&�m����£��m���{�%���E�� � �s� � ���#�������m���Ë�����m�_OeF���Fu�m�â�S�m�5�)�Ø�m���Y��� � ������� � ��������Fu��F.�Í���&�����

�-���G�F� � �m�/�+��F.���x� � �jP¢� � ���Í���[P+�����B�P��3 C�CBC Y ��72"�&>71��*9 :�2"�&k�!"x?]�)(�*9AB72� �lC�"%$L #";���>�6 #"%$LD D � <aH#@�� F H F I F JLa�D��+E��#����]��� � �

� D�D ���'�]�°�bm�]�#�m�#���9D/�o� �"� �Ó���Ñ�)DÄ�%�����L���^�%�����B�Í�>bS� � �/���-��� � �S�����Y�'F F�����E��#������Fâ�Í���-�1�4E��m���B�?���mOS���L�u� � Fâ���â�������� � ������� � �����#�m�Ø� �>bm�]�º���°� ��� ���������! #"%$!& �y(�*-,��\?8�����2";� 3�"�*5���6"872*9 :�2"872< = �2"G(��>� �>";���@�!" = �G�!� �2 #"872*9 :�2" X ���L�><¬&72"8�¤­d72"$!v�7G$1��&6Dg�?�������B�¢� D J D �Í�¼�/� � �#�����x~��%�#�GF �Í���-�L��E������B�Y� � �Í�B� � �LDjE��L�m��F H a2Ia F �^�E��#�����m�B� �����B�#�Í�L��D�S�GE����G�����B�â�]���%H��

� D�F ���e�S�?� � �eF��m�U�m���^�Ù�e�h�!�u�m� �WM^���G�F�]�?��FØ�%�Ä�S�)O?�Í� � �����%��O�B�Í���F�u�S�m�5�)�Ø�m���/����F.���m�^��]�%�����#�/�g�Ñ�#�����-�m���?���]���B���!��E��Í�[���B��� � �����]�B3�C�C�C Y � 7!"�&>7L�>*z :�!"�&��!" ?8�y(�*zAB7!� �[C�"%$L #";���>�6 #"%$LD D�Dk< H @&� H J H I H � � D?�m����Od���m�La��

� D H ���e����� � �eF.���U�%���Y��� P¸���N�������"�/���m�?�)�Ø�B���m�?�j��m���{�%�UP+�B��������F]� = �2tmu;ve*5���6D D � <?H@�� D ��I D�D DS�+E��#���^�]�m�1a��� DL� ��Ø���?�%���m���Í�m���m���Y�o�;P+�L���BP+����� � ���%��� � �Ô�E�� � �_� � �%���Í�m�d���%�������!�����W���m�g�]�m�s�5| ���F�o�OeF.���G��F]��3�C�C�C Y � 7!"�&��

7L�>*9 :�2"�&��!"x?8�y(�*zAB7!� �lC�"%$L #";���>�6 #"%$LD D K < � D�@�� � F�F I�� H HeDL�� � �G�����B���m� H �� D a2��|R� P9���R���1F������%�5�#���%��D�M�� T�"������B�iD���g�%�fF�#�]���]D��F� �'��| �#���D^�m��� �o� P9����LF�FB� �mF��������^��� � �GF�F�g���F.����� O��#�

�"�#�]��� � �����%�5�)� �%�#���Ù���m�����)O�� = �!t+u8ve*��>�6D F � <aH#@�� aLa2I�H D D��mE����Í�"���m�LJ��� D H��{���W�R�x�!�u�B�u�%���C���WPd�L�m�]�m��M��eE��1F������¢�����d����B�Í�7�#�m�¸�Í�¸�#���@�-�?���#�������%���Í�m� �-�Í�1F��7�����°�£��� ���������! #"%$!&\�y(�*-,��

?8�����2"8�+36"�*��>�6";7!*z :�!";7!< = �2"G(��>� �>";���/�2" = ���2� �! #";7!*z :�!" X ���L�><¬&'72"8�'­d72"%$Lv�7>$%��&�Dm�?�������B�g� D J D ���u�/� � �������j~��m���GF�Í� �-�1�4E������]�Ù� � �Í�B� � �LDeE��!�m��FR�GJ2I F ���S�eE����Í�����B� �9���]���×�!��DS�S�GE����G�����B�o���m�HS�

� D J2�{���i�R�#�L�u�B�o�%���9���WPd�!���B�m�Y�����%��OF��Í���x�mOS���L�u� � �-���%�����{���C�S�m�5�)�Ø�m��� ��� � ���Ñ�#� � �#���#�GF � �w�Ø�1F.�U�?�#���eO��\�°���� ���������! #"%$!&@�)(\*-,����*#,�36"�*��>�6";7!*z :�!";72< = �!"G(��>� ��"8�����!" = �2"��d$Lve� 7�><_�^�k f&6*9�6 ��ve*5����?�`Q&6*5��t�&6DoE��L�m��F{���6I��GK1K���)MBMoM£�-�1��E������]���S� � �Í�7�)O1D�Pd�QOd�]���LJ��

� D �2���'���R�#� � �?���B� �}| ��� H� �l���Í�>� P+�����B�J�m�'��� � ������� � �#��������3 C�C�C ?8�y(�*zAB7!� ��D � D�< a @&� H#D I � K�D~��2b��>�����B�R���m� � �� F K2���'�1�R�#� � �?���]�/�/�S�%�5�)� �%�#����� � ������� � �������¼� ���%���Í�m���m��P+�B�#�!�u�����]�º�]�°�^�j� �G�������2 #"$2&[�)(+*-,��l?8�����2";�l3�"�*5���6"872*9 :�2";7!<

?8�y(�*zAB7!� �lV'� ��,e #*����>*zve����� �2���2&y,���u8D�E��L�m�GF � I�HeD�{ � ���1���]�â�]�m�1a��� F ���{����Pd�L�m�B�1D�~L���Ù���Í�QO1D��J�;M^��F��B���� � �UD��%���+���;�R�#�L�F�]�]�j�Ù��F.���#�_���������¢�S�%�5�)� �%�#�o��� � ������� � ��������FB�c�°�¤�����G�������2 #"%$!&

�)(^*-,��^q� (�*-,�Cjve� ��u���72"£?8�y(�*zAB7!� �\C�"%$L #";���>�6 #"%$ = �!"G(��>� ��"8����D �S�������B� �1Jm�Ó�����/� � �#����� ~��%����Fu��� �-�L��E������B�� � ���]� � �1DeE��!���GFR� F HGI�� ��F �?�E����Í���m�]�y�����B�#�×�!��D��S�GE����G�����B�o���m� � �

� F�D �{���%Pd�L�m�]�LD����e�R�#�L�u�B��D��%���R�L���h�×�%�����!�m�1E������Í�m�/�J�����%��OF��Í���o�#���'TØ�B���Qb?�Í�m���^�%�i�Ù�fF�#���������#�]�;���%�5�)� �%�#����� � ���_���� � �#������F � � �Ø�LF��Ù�?�����eO��i�°�\qB (�*-,�3 C�CBC��\�!���Q& ,���u��2"�qUve*9ve� � Y � �>";�2&l�y(j�� f&6*z�6 �>ve*5��� = �2tmu;ve*9 #"%$�?�`Q&6*��>t�&�DE��L�m�GF D�H KQI D H HD{ � ���1���]�â�]�m�HS�

� F�F ��~o�8P+���ebS�Í���2bS� � �h� ��#�L�F�G�-��� �U�W�m�k�-�Í�1F F����-O?�Í���U�m���¤�-�1�4E��%�#�����;��� � ���Ñ�#� � �����#���Ù�GF � �#�_E����Í�m�¢���%�������!���GF]�+�°���� ���������! #"%$!&c�y(j*#,��j?; srL*-,[C�ve� ��u���7!"�?8�y(�*zAB7!� �oC�"$! #"8�����6 #"$ = �2"�(�������"8�������><_���e�! #"�*9<�`lA� #*#,4*-,����2*-,kV =WX ?e32n��?dpBq Y ?�`2tmu��2&6 #veth�!"�qd�2ve";�172*9 :�2"�&'�)(�?8�y(�*zAB7!� �cC�"%$L #";���>�6 #"%$LD��S�������]�g� F K��^�Í�{�/� � �������c~��m����F����R�-�L��E������B�� � ���]� � �1DeE��!���GFcaLK2I�H!a����E��#�������B� �9���]���×�!��D����m�HS�

� F�H ���e��� ��P���B�#�QO��B���m����F � ����������;�S�m�5�)��m���e��� � ����#� � �����#�F�?�)OS��GF/�mF������^�h�x�!E��@�h�x�!���{�%��FB�/3 C�C�C Y � 72"�&>7L�>*z :�!"�&�2"x?8�)(�*9AB72���lCj"%$L #";�����6 #"$!D D H < H @&� ��D �6I ��F�F D�������Od�]���LJ��

� F1� ��P9�QP+�m�#� � �m���zD��L���Ù�×�%�UD%�m���k�â� �o�2�g�Í�>�u�]��F � �����B�×���B�����-�m�#��� � ����� � ������� � �#�������g�������>�u�B�?���e3�C�C�C Y � 72"�&>7L�>*z :�!"�&�2"x?8�)(�*9AB72���lCj"%$L #";�����6 #"$!D D � <?H@&� F%� aQI F H D D��mE��#���"���m� � �

� F a2�R�F�eP+����E��OLDe�e��~��%���S���UD��m�����u���S�����Í�_b��m�/�'���%�5�)� �%�#�'�g�! ��7���Í�m��Pd�S���B�fF � TØ���×�e�������L�����k�R�LE�TØ�7�)�Ø�B�]���S����� � ��%����g����m���P�Í�>b��B�]P+�����B�fF]�W�°�x��� ���������! #"%$!&[�y(l*#,�� Y , #���4V =WX ?32n�?Wp�q Y ?�`2tmu��2&6 #vetw�2"@*#,��/qd�2ve"8�L72*9 :�2"�&[�y(?8�y(�*zAB7!� �lC�"%$L #";���>�6 #"%$LD�E��L�m�GFh��JQI D J��S�m��P �"�#�GF�F>D�{ � �#�L���B�â���m� � �

< �

Page 56: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� F H��R�F�U~��m���u�2bS� � �UDi�F�}���/�mb?�#�����Í�UD �^� �L�W�-�×�%���m�LDJ�m���Ó�^� ���d{/F.���B���Ø�B�Í�º�L�mE�E���OS�����d�?�x���#� � �����%��OF��fFh���+�S�%�5�)� �%�#���� � ������� � ��������FB�]�°�^�j� �G�������2 #"$2&k�)('*#,��/?� sr1*-,�C�ve� ��u���72"\?]�)(�*9AB72� �mCj"%$L #";�����6 #"$ = �2"�(�������"8��� ���><_� �e�2 #"�*z<�`�A� #*#,*-,�� �2*-,�V =WX ?e32n�?dpBq Y ?�`2tmu��2&� #vet¯�!" qd�2ve"8�L72*9 :�2"�&��)(k?8�)(�*9AB72���lCj"%$L #";�����6 #"$!D��S�������B�e� F K��R���+� � � �#���#�~��m����F ���@�-�L��E������B��� � �Í�B� � �LD�E��L�m��FcH1HGI�� F ���E����Í���m�]�y�����B�#�×�!��D��]���%H��

� F J2���u�!~+��Dm���!�R�#�L�F�]�GD%�m���F���LP¢�!�m�]�m���©�Ø�h�eM�| �S�m�S�W���^�S�%�5�)� �%�#� ��� � ���Ñ�#� � �����#�c����F.���m�/� ��!ve�6";7!<��)(oV've*5�2t�72*5���?8�y(�*zAB7!� �lC�"%$L #";���>�6 #"%$LD�E��L�m�GF D a��6I D J H D����m�1a��

� F �2���'�8{Ù�#�B���>O1D�~L�;P+���ebS�Í���2b?� � D��%���x�â� ~o�8|��QOS�Í�m��� ��� � ���Ñ�#� � �#���#���5TØ�1F.���\�g���?�����u�u�S�m�5�)�Ø�m���kMBbm�������#�����/�c�°������� ��������! #"%$!&[�y(l*#,���.L�L� � 36"�*��>�6";7!*z :�!";72< = �!"G(��>� ��"8�����!" ?8�y(�*zAB7!� �'C�"$! #"8�����6 #"$!D�E��!�m��Fh�QHLH�I���JLa����mF�F.� � �×���#����� �W����-�L��E������B�+P¢� � ���Í���B��OLD��mE����Í�"���m�LJ��

� H K2��{e�%{/F ���%��F F��m�u�%�����o� �^�%�h�×�LF�FB�UV'"�36?dp �������kV�uLu8� �G71��,�*5���cve #<_�! #"%$��jv�7!<� #*z`�?8�y(�*zAB7!� �7�U�^���]�?���fF.�cg��m���;�B|c�[D�"�#�B�?�#� � �/gÙ�%�Í�zD��°� � ��D��+E�E��B�����m�����Í�k�g��bm�]�GD�~��>�)�m�]��F��>O1D����m�1a��

� H �����e� M��i�'�B�#� Od�m�����o� �"�/�&�m�������m�����������Í�m��FR�W�m�R�#���U�?�����eOÓ�m�g���%�5�)� �%�#�F��� � ������� � �#������� ?3!n�?dpBq Y ?]�)(�*9AB72� �C�"$! #"8���>�6 #"%$4¥��!*���&6D/�QH <aH#@�� H KQI ��D D{ � �#�L���B�â���m� D �

� HD �{�o��'���e�m����F �S���%��� �"� �o���-�×�%���m�m�/�S���� �{�m��P+�����]���m�i�"�#�L���#�L� �Ù�>E��B�����]� � ��F �%���{����F��5��E��Í� � ���#������F"�W��� ���%�5�y�� �%�#��|��GF.���Í����Di�Ù�>�����L��������D/�%����Pd�m���?���]���%� � �m�43 C�C�C Y � 7!"�&>7L�>*9 :�2"�&R�2"¡?8�)(�*9AB72����C�"$! #"8���>�6 #"%$LD^��a < � @�� �La � I�%H%��D��S�GE����G�����B�o���m�LK��

� H�F ���â�}�����^����F F �{�%�/�+?8�)(�*9AB72���lCj"%$L #";�����6 #"$1�/V ����7L�>*z #*9 :�2"8����¦ &lV�uLu8� �G71��,��+P � �h�x�Q�j�5g��Í���9D�~��G� �"��� �8D H �]�������Í�m�UD�]���%H��

� H�H ���e� �����g� � ���%�x��F.���¸�%�����o� �"�'�&�m����C�S�%�5�)� �%�#��|��GF.���Í���&�%�e�#���Y��� � ���Ñ�#� � �����x�%� �/�Gbm�B�P���°�N�����G�������2 #"%$!&\�y(�*-,��?8�����2"8�k36"�*��>�6";7!*z :�!";7!<]?8�y(�*zAB7!� �[V'� ��,e #*����>*zve����� �2���2&y,���u8D�E��L�m�GFca1JQI�HS�LD�{ � �#�L���B�â���m�La��

� H%� �{�o� ������1F � �S�m� Y ,�� Y ,����2�6`\72"8�4����7L�>*z :�����)( = �2";�>ve�6� �>";�>`��c�"�#�B�?��� � �>��g�%��zD�M^���m��>��S�S�x�-���]FGD�~��G��m�]��F��>O1D�]���LJ��

� H a2�{�o�}�g�%F.�B�.���P�¤�h�]���B�x�!�]�������U���j| ��F�R�Ø�LF��GFo���Ó�E�� � �s� � �������� �{�m���Ø���B�Í�Í�¢��� � ���Ñ�#�7�������x�Ó�S�m�5�)�Ø�m�����x| � � ����� � �m��g�GE����.�+|��GF��/��� � �m���#�]��De�Ù�_E��%�������F�]�?��� ���iP¢�����G�{����� � ���^���#�e�]�Y�mE�E��Í� � ���#��D�� �m�?���Í�Í��D��½�#�m�_O1D�Pd�%� � �&�]�m�HS�

� H H����â� �Ï� � � �%� �%���m�LDj�e� �L� �?�#�#� � �8D��%���N|R�Ø�Ó�]�.�#���{�%�����½�����B�Í���m�]�]� �°������F.���#�Í�m�h�S�m�5�)�Ø�m���d��� � ������� � �#�����¤�g�Ñ�#��h�GF.�#�m�Ñ���d�°�@�����G�������2 #"%$!&��)(l*-,�� � *-,R36"�*��>�6";7!*z :�!";7!< �\�!���Q& ,���u¡�!" ?8�y(�*zAB7!� �k?!u����> �o��7!*z :�!"�72"8���4�6&6 s$L"�DeE��L�m��F�QH!aQI��GJLK��L�)MoMBMN�-�L��E����#�B���S� � �Í�7�)O1D�Pd�m� � �Ó�]�m�1a��

� H J2��P9�%�S���Q�¸�m���k�'�L�-�Í�>�u�B�?��F]�S� Ä�Í�B�×�4�h���×���-���/T-�I�������1�LO � �"�#�B�Í�_�u�Í���%��O[�-�×�LF�F��s� � ���#�����o�%����� � ������� � �#���#�m�S�S�)O?�Í�GF�W�m�F�S�%�5�)� �%�#�U�OeF�#�>��F]�^�°� �j� �G�������2 #"$2&^�y(�*-,��\.!�1���R36"�*��>�6";7!*z :�!";72< = �2tmu;ve*5���R?8�)(�*9AB72���^7!";�\Vou1u;<� :��72*9 :�2"�&= �2"�(���� �>";���>D�E��L�m�GFca2I�� F D���������F.�R���m�HS�

� H �2��P9���S���Q�[D8�â�;�Ù�]� �����LD8�L� �L�]�R�Í�B�Í�UD;|R� �"�;�g�1F�FGD��e� P9� �"��������D��%���¤�F�]«��]����F.���_�����+��F�#�#� � ���Í�m��F �W�m�R�S�%�5�)� �%�#���� � ������� � �������h�%���R|��S�m�fF"�#�u����E�E��m���j| ���G�Y�W3 CBC�C Y ��72"�&>71��*9 :�2"�&l�2"\?]�)(�*9AB72� �/C�"%$L #";���>�6 #"%$LD D � <aH@&� F � H I F�F%� D�+E����Í���]��� � �

� � K2��P9�������Q�¾�m�����L�}�R�%�#�Í�m�/�R���� �e���Í�%���Í�m��Fâ�m�������� �{�%�Í�fFy��FR�Í�9���%�5�)� �%�#�u��� � ���Ñ�#� � �#���#�m� = �2tmu;ve*5���R?8�> :��"8���Y �G�172`L�c�m�����>"�* Y � �>";�Q&�7!";���4�>�Q�><_��u8t��>"�*z&6D�E��L�m�GF F K%H�I F�D�F D��]�m�HS�

� � ���������Ñ�#�]�+�?�#�%����F+~��Qb��%�]�'�%F���m�x�m�����%���R� � ���S�m� �S�m�5�)�Ø�m���[M^���m�Í���B�]���Í�������Ø�'�-���mF��B�� FcPd�m�S���%�fFB� ���m�%H��� ��D ���e�m�S�m���9DL�â� �"�!~��m�x�]Dm�m�����Ù�!g��%�-�u�B�fF.���B�����S�m�5�)�Ø�m���Ø��� � ������� � �����#�j�°���°������F.���#�Í�m�S�mE�E��Í� � ���#������FB���°�������G�������2 #"%$!&

�)(�*-,��/.e�G*#,[3�"�*5���6"872*9 :�2"872< = �2"�(�������"8���/�2"R?8�)(�*9AB72���oC�"$! #"8���>�6 #"%$LDLE��!�m��F^���La2I D KHS�B�'F F�� � ����#�����o�W�m���-�L��E������B�Pd� � �������B��OLD��+E��#��"�]��� � �

� ��F �{��� �L���S�#�����m�x�]DL�e� ���!�g� � ���m�#��F��m�iDI�m���L�L� �^���Ó���Ñ��8�-���%�Í���Í��� � �N�S�m�5�)�Ø�m���Ø��� � ������� � �����#�j���GE��]�����B� � �������%��OF��fF|�� � �����f�?���m�U|�� � ����� � �%�;�g�>E��m���c���+�)� �%�5J H� �°�%HeD!���GE��%��� �u�B�?�Ø�%�W�-�L��E������B� � � �Í�B� � �LDe�����_b��B��F.���)OL�m�W�-�m�Í�m�x�m����DTØ�m���×���]�GD��-�m�Í�m�x�m����D��S�>E����>�����]�o�]���%H��

� � H �{��� �L�Ä�?�x�����m�x�]D��L� ���}�g� � ���%�x��F��m�UD'�%���9�o� �"�Ä�Ó���Ñ��¢���Í�������Í� � ��|��?���"�W���e��� � ������� � �������>�½� �>bm�]�B�Ù�>E��B�����]� � ������%��OF��fF �%�e���%�5�)� �%�#�¢�OeF�#�>��FB� | � � ����� � �m�'�g�GE����.�x���c�y� �%��J � J!�½�1J�Dj���GE��%��� �u�B�?���%���-�L��E����#�B�+� � �Í�B� � �LD�����_b��B��F.���)O{�%�B�-�m�Í�m�x�m����D%TØ�����Í���B��D��-�m�Í�m�x�m����D?�mE����Í�"���m�LJ��

< r

Page 57: Architecture-Based Software Engineering ; CU-CS-891-99 · 2017. 2. 5. · University of Colorado, Boulder CU Scholar Computer Science Technical Reports Computer Science Fall 11-1-1999

� �L� �����'���)�/M �Ù�GF����m�\| ���!�Y�����x���5� � �h���×���R���u�#���k���!E��Í���u��� Ku� �m���m���!�m�l�g�B�W�B�#�B� � �lP¢�%�S���%�fF]�'������Od�]���%H��� � a2�����'���)�/M �Ù�GF����m�\| ���!�Y�����x���5� � ���!E��Í���{��� KF��� � ������� � �������â� �m���m���!�m�l�g�B�W�B�#�B� � �kPd�%�S���m�º�������_O¢�]�m�HS�� � H������'���)�/M �Ù�GF����m�\| ���!�Y�����x���5� � ���!E��Í���{��� K4���������]���Y� �m���m���L�m�l�g�7�W�]���]� � �[Pd�m�S���%�P���m����Od���m�%H��� � J2���â� |��B�#��O �%��� P¸� �Ù�>bS�Ñ�#��� Y ,�� V'� Y � � V'� ��,e #*����>*zve��� �4�6&>�>�6 u;*9 :�2" ­d72"$!v�7G$1��� �Q�>��&6 :�2" ���

�m�m�'Mj���2|��>�S���2�g�Í�]�e���LD��m���_Od���m� � �� � �2�{�o�b��%�����B�jg��S�G�;De�e� P¸��g��B�������_�����B��D��%��� �L� �^���Ó���Ñ��d���B��F.�Í�m���]�U�S�m�5�)�Ø�m���h��� � ������� � �����#�m�i�°�\��� ���������! #"%$!&[�y(

*-,�� Y ,e #� �436"�*5�>�6";72*9 :�2"872<]?]�)(�*9AB72� �lV'� ��, #*5����*9ve� ��� �2���2& ,���u;D;E��!���GF+H F I�H2a�D%~��2bm�G�����B�â�]���LJ��� aLK2���[������F F��>OU�m���^�â���h�×�LF�FB�^�e|c�+{/~/� beF]���Ó���!�;�mE�E��#��� � ���GF-���U�eOF.���G��Fc���Gbm�B�Í�LE��F�]�?�]� = �2t4t�ve"� :��72*9 :�2"�&��y(

*-,��lV =dX D H � <?H@�� �m�2I���K D D?�+E��#�Í���]�m�1J��� a���� ���e����F�x�%�P� X �>*57!� �j� � $L� 7!t�t�����¦ & X 7!"�v�72<�������&6 :�!"�.������B��g��m���>O�-�]���9De�°� � �_D�Pd�������]�!E��m�Í�fF>D�Px~�D/�]���LJ��� a D �{�"�2�Ù�Í���%�9Dm�o�!Ä�Í���m�]��F.���]���UD�F�m�E��m���m�����!�S��FGD%�%���e�L� �^���Ó���Ñ�)D��]����������F]� �e�2 #"�*]��� ���������! #"%$!&'�)(j*-,��+?32n�?Wp�q Y ¦ �%0

� �2���2&y,���u;&x�-�m��P �^����F FGDe~��G� �"��� �8D�~��G� �"��� �8DJ���m�La��� a F ��Th� �Ï���&�B�×���1D��Ï� �e��g��>O�\D��%������� M��g��m�Í���Í���%Fy�Ø�m�����/�}�g�Gbm�B��F��/M^���m�Í���B�]���Í���F�%�'�/�>�?� � O��-�S���h�fFj�°�?���x� � �#�!�������

{R�e�+�)�o�.�e�+�B�x�GK���� H ��|c� �L� { � �#�L���B��D�{Ù���Í�{�S�#���#�[������bm�]��F��Ñ�)O1DJ�]��� H �� a H �u�Ï� �½�����"�B�+�m���\P9� �"���������j�-�L��E��%F.�����Í�m���%�U�g��� � ���L�����Í���)OU�����m�_OeF���F���F.�Í���R�^��� � ��F F ���_���>���x�����°�@�����G�������2 #"%$!&

�)(�*#,��kqi�!ve�6*#,x?;`2t+u��Q&6 #vet �2"�?]�)(�*9AB72� � Y �6&6*9 #"%$��V'"872<�`Q&6 f&�m72"8���;���6 ����7!*z :�!" � Y V�� ��QD;E��L���GF H�� I ������ ��P� �y� � {/}|lD�{������L�����! ��� �

� a � ��P � �"��#%$��&�$�'\� � ~ � |(�QO�)*��� � ������+%,*$���,*$��-��+%�k|.�0/1��$��L��O&��2W3�#%)4�m�������5�6��,*��$ |(�7�+%$�,��8#%��F � � Mo�c� |c�j�5a D �5�� �GE1���G��������D����GE����� �9��$8�:��2��;�1�4E�#1���7� � ��,*��$����LD��<#%�='%#%�[�:$%,�b��7��F�,>�)O1D? ��� �

� aLa2�R� � «���)*�GF�$%,�� � �:$%,-�;��$��:��2@���=��$3����PA�$�#��) � |(�7�+%$�,*�7�)o�:�>E���������Px�+�)� � � � HQ��|cTj��D}�B����$��L��,*�RPC��)*)*��$���$%,s�b��7��,fFD�)OLDE ��� H �

� a%H��&F � «�+���� � �mF�,4$��m���GE3�7$�'1�7$���� � $��)�OeFD,fF?�=� � #�E�E������ � ��2G�)�B����� � �=�+%,4���5�6�=#%���o�:$�'1�7��FD�=��$�'1,*$�� � ¥���A Y ����,";�!<_��$! :��&�2" = �!t+u8ve*��>�[?]�)(�*9AB72� �>D�E��L���GFH F1� I� H#D D � �>E1�=�>���3�7�I ��� H �

< �