High-Level Synthesis of Asynchronous Systems by Data

High-Level Synthesis of Asynchronous Systems
by Data-Driven Decomposition
Catherine G. Wong
Alain J. Martin
Department of Computer Science
California Institute of Technology
Pasadena, CA 91125
Department of Computer Science
California Institute of Technology
Pasadena, CA 91125
[email protected]
[email protected]
!" !#%$ &'$(!)*
+ , -./0
,1
23,$ 4565
7*879: $ ;5<5.
5
,=#%845!:45$ #
9,>3 $ ;)5!@?;1A1, ,B BC5.
5
,
D0E5FFF;GHIKJL )MN475$ .7AOP !
!Q< #
, RS5L*
5.
5
,UT5FWVXQ 2$ $A1)YZ( !;,$A)NLC7 ,Q
1Z[$ ,1A
!5$ !A\O*
Z( $ $= ]&'\Q15
13^!,L,)N
A?
ABSTRACT
Categories and Subject Descriptors
_`NAaN X;b c;d`e4fhghi=_<N VN jb k;l4mnWoqpmrtsRuwv6xym1z4{uwrtug
General Terms
|} !
~Keywords
.
5
,(P€(J]HwY' !#%$ &'$6.
2  (INTRODUCTION
9)5$ 0\(Z( 5‚,(K5.
5
,:P€<J)H4 Q$h55ƒ4$ 0O*(5
!
)57 !#%@5
\.)N
„ +…(5$ 5†.2
;"91! ;9.‡ 9 !B , , !-‚A!#%$ &'$`$ˆ*
!,O5!YP…=‰IŠbAX*ghN"J), &'@5
#
& !"!)5‹)5
5 †5
Œ*$ 4Y\55
!
1)5 !-$ )ZK#%$ &'$( 0‚ , )N „ ;^
45$
,,0A\)*
P
$ )N „ AŽ 1Q9.
#
, 4Y3*
†&.+5 " !
†, !B q*W55? #
1$A, !jG#%)5
5.
5
,UGHwI}JD0E5FFF #
1b T5ghM:45L9
,
45$y
^LA$ ON
„ K6 ‘,$A6)5
@5 4Y*
\
}Z(A;4$h5!K1>
CU1†5
1
!.‘ .K^
O*$O.21@Y’ \
^)“‚‚1 A
ONBHˆ
11A OYK
! O*$Q”,
h5$…=‰I• A
†\ , ‚ 9ƒ'
,A
+.–13,
A5 !Ž,$ @? $ $(—
•…=‰IKM`45;*
A
& ,O*$ $A.@.
˜1†5\$ ]Z`1U$ &#
1$A)N „ ` #%,$ K13,
A5 4@57,=, !L 1.
Permission to make digital or hard copies of all or part of this work for
personal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that copies
bear this notice and the full citation on the first page. To copy otherwise, to
republish, to post on servers or to redistribute to lists, requires prior specific
permission and/or a fee.
DAC 2003, June 2–6, 2003, Anaheim, California, USA.
Copyright 2003 ACM 1-58113-688-9/03/0006 ... 5.00.
™
G0?
g0
G1?
g1
G2?
g2
G3?
g3
D?
A?
X!
W!
x0
B?
Y!
x1
x2
G4?
g4
C?
Z!
V!
D?
X!
W!
x0
G0?
G1?
G2?
G3?
G4?
h
cp
x1
x2
B?
Y!
C?
Z!
V!
šLrt›Wl4œ]{;WžUŸ3z4{;uwvyuwm1{2o nWxBmz4{¡t{2¢£m\rtu\l4x4n¤4mrtoqrt¥'{¦B§z=rt¡t{
mz4{[nWx4{¨nWx©mz4{¨œ]rt›Wz6m-§3pu‡›W{x4{œ]pm{¦ª¢£œ]nWo«mz4{¨uwpoC{
¤4œ]nW›Wœ]po¬l4uwrtx4›mz4{nW¤4m1rtoqrt¥'pm1rtnWx4u¢£nWœ‚{2x={2œ]›WvB{­qsrt{2x=s'v
rtx6mœ]n6¦=l4s'{¦"rtx-m1z4rtu¤4p¤:{œ]®
R1
,\P9,$ ƒ‚O1
!. \^
AB*.
5
,
.–50O*)PU,097
0
$ .;
)Y9,35$ ;&W*$A 45*
55ƒ
]Z($ !ON|K !
0$ .!5$ .
— 1;5
A
,#
R15;*
R
1!.#%‘ (.@N
… ~ |©$ 1—2 @@Ž1 A
¨9,.*
$A..
2)*—#£ "bAEY=¯Y(V*gˆY=.@9! BZ( °$ )ZK#
$ &'$U ^5 ŠO*
±…=‰IªbA²Ya*gˆN „ !
5.
8
,PGHwI}JDE*FFF3)³Z+O5}&'.3^
#%!)*A
$ )5!Z`1”, ‡+55 &' !‡,!,)YL5
´*9O5
#
;P.2
)*—2#%A1C5*895,Q (,$ 
(!
#
)*q,$ @O5ZKq@*$ $
,!ON „ •*W55µ1#
9´A
´ O* O*)5#% &'
°1 A
±?|Q|Q|PMY
!#%$A1&'$`.
1AU5
”,945
3
.
2)*—9,3
O*)5¶)Z·b j5ghN|Q|P|°!1
)*U,$ 745;55$ $K1
,!
39P.
˜‚S,1< 23^
#%!)*A
; $ P)*!)i
17.(*`y,
65, 7$h55ƒ#
$h5 h.Bb Xj*gˆN
„ O454
O ˜5 :PK9O*A3|P|Q|@
O*5q
!.#%‘1A1
2.)N „ O*)@
1.
5
45$ . 
]Z©@$ —-9,‚,$A; " !
A^5
; #
]&'1
)N ~ )* ‡P ]&'
5; ! &'1
° †^!,-XN©|Q|Q|¸4591
¹5$ A1°Ž !
•
 ,1A
S5,
<75
q5.
5
,7T*FVXL #
$ $ )N „ ;.
˜B.º,
5X*Fj@GHwI}JB5
B
#
,@XaT;4»‚A
, ON ~ ,5$ $A1
#
![|Q|Q|º5,1
2$ .",
&'$ )Y35
•AO51
5$ \A1,:
1Z‡1$A, !‚*$ ! K ]&'(<#
@*
^!,1US,1)N ~ $A,!q&'$ 1qU.2
5.
8
,.)Y};+5
[5$ C9,S,$(
.
5
,(P€<J)H\*
¼0IK½ ~ $ )5 )N
„ U^
#%!)5 †*.2
8
,P $ )*!7$ ). 2. ASYNCHRONOUS CIRCUIT TEMPLATES
input validity check
*[ A?a, B?b, C?c;
[ a=1 −> X!b
[] a=0 −> Y!(b^c)
] ]
A?
B?
C?
a.0
a.1
a.e
b.0
b.1
b.e
c.0
c.1
c.e
a.0
a.1
_av
en
C
b.0
b.1
c.0
c.1
x.0
x.1
x.e
X!
y.0
y.1
y.e
Y!
_bv
en
xe
ye
x.0
x.1
C
b.0
_cv
c.1
b.1
a.1
C
en
y.0
y.1
a.0
b.0
xv
a.1
computation xe
b.1
yv
a.0
computation
ye
en
ae
be
ce
c.0
en
enable completion tree
C
output validity check
šLrt›Wl=œ){¾WžBk¿uwrtoq¤4¡t{Bsrtœ)sl4rtmRmz4pmÀ4mu@rtx6mn"mz4{z4p¡t¢ ÁwÂ4l4Ã}{2œ@m{oq¤=¡tpm{®†Ÿ3z4{{2x=pÂ4¡t{Bx4n’¦4{u‡ÄÅÆÇ0È1ÆÇ0É1ÆÇ0ÊWÆqpx=¦†ËÆÌpœ]{
rtx6Í{œ]m{¦+s)z4px=x4{¡<ps)Îyx=n§¡t{¦4›oq{xym3œ]prt¡tumz=pmpœ){rtx6mrtp¡t¡tvBz4rt›Wz4®
B…(*$A18" !
+ˆ.$ 
$ .9$ !C#
5O*!O5$ S#£9,>\?IK…=‰_<My* $ .ŽbAÏ*ghN „ P
4560 , ³5 $ .\S=(}1 ^}A
$ ³& !(2:A
,<*
Q,,
S,#£O*O*
45ƒ'1;?\O*)i6ZQ5 7*8ƒ
)Z($ !i6
45)iZQ5 <S\*8ƒ
)Z($ !)M6,‚7.2
8
A˜13,#
5 ( $ ,;`L!$A9O*$61$A5ƒ‚ !
O*$hN0…= , (9$ ! !3
UIK…=‰_³5 $ .@*0
:$ ‚\A$ L9,>1}Ð .7*
9$ —+5
Ž $ ,
,,\845
$ )Y}5 1A,
#
)Yw)5Y5
\97
45$ ,`5
\,,)NKI’. 5$
1
)* 2?N !N Y\@*—2 3,¸
,U9(O)5
A*$ $A]ZK
)MU9A
Z( S@*
L)5!P?N !N Y.$ ( M
,,O*$A$ .; )*\Q ˜7( !$ 7 $ \)*!N
~ K…=‰IR$A1&'$hY’5$ $’A
A!)5045K,$ ^$A$’
S$ $ ]Z(A
!C
A 5
9‚^3A
@I}…=‰_†$ˆ*“
$A)i(*$A$} ,Q3,
* 7 C@*A
$ •*#
539;,,\U,
*A
U9! Oi=
$ .C
3,#
5 -AŽ*$ $A]ZK"
+55-5O*
$L, !&.B@5 "$ )* KÑ1N(…=U,
*A
0
RQ)5\845
$’@³.55
>1
279)5
51U$ 1A
+)*
?ˆrt¢S#%)*
)MY
*`$ !5}
$ .U
L9)5
5 `1&':—,}@5 $ ‚ #
* ON4HhyP3,
* 3*Q1A1K )5 4Y)*
3,L9Q ,4N
~ B—y5$ $A1O*^UAU , U#
$h5R ! &'1
+ ‡^!,BjN „ RU,
5 -5O5
$ @*
$ q, !R,O5$ #%)5 $KNҍO*;5$ $`(1#
,)*A
;L , )Y 1$A, !7
A )Y `45
$ 9.U
)*
\ ŽˆZK,$ $ ]Z(
@
hZ`ƒ)N „ P}3 , ?)*
UO*U#%845!‚,,7
1)Y=88ƒŽ5O5
$}&5#
$ )Y<*
ŽÓ$ q1\7 ,Q1
O59$ )5 $ 5
<$ 5$2 ,AO1
O59$ M5
U9`
1`U,
*A
]&'1*3:,)* ON’Hˆ6 =$ *4Z(.P, !L}
,#
91\<3,
* q5O*
1$A\ -U1C.Ô5$ !5$ .,(\.Õ L
!.;
, 4N
4 3,$ A
4KDECOMPOSITION
@wÖ4429O*AKO*)5#% &'
\#
„ DATA-DRIVEN
1A ON0Hh
‡5
@>P‚$ AA3 ˜UK71
,$ 3 •|Q|Q|PY55q,$ ; $ 5$ $`(Ž*A!
#
+A
!$ &5h*9$  B;”,1
2h*$<!)5NŽHˆ
,
13,
A5 35Q
1B*A!
1
2(3 ,`&5 #
*9$ YO*
@,,L3,
* 53
A+5 !
Q,,(845
$hN
Ñ …=A1, Q*Q1A ^194³&2 ,P ^
$ .2Y45
@
…=‰I!)*P45L1 9U/53
1$A ‡P
#
1 O5 !$AON
3.
„ ”,
h5$:!)*× 3^Q
2&ŽB|K.
O* @J) #
!$ ~ !
‚?|QJ ~ M}S@N „ \
&'1A
C*
1,1
,39<4)* LS1
q !$A\&5h*9$ ‚5
,
1$A‚5‚|Q|P|B,$ (45K^< 7I}…=‰_@ , <1#
$h*N•طٍÚبے܈ÝwÞwÜhß'àÔáãâ‚Ý'äå@áãä+æ:ç'áãèwçqå*ß'èwçBéwß'Ü5áãß'êwëìå@áãâ‚ß'â*í
â*áãÞwäå*îBßBéwß'ëìïåŽß'ð7àÝ'â*ð3Ý'äè*å@î'ïÜ5áãäގßBâ*áãäÞwëìå@áãðtåwÜhß'ðtáãÝ'ä†Ý8ñðtç'å
ےÜhÝwÞw܈ß'àò âUàUß'áãäŽëìÝwÝ8ےóQP5h59$A1P@³.R4&R*A!
1
2PA
@AS#
1
9)5
8Q)5R1$A1 " 1R
$A.
R9)5
5
Q—,Q )* ON0‰P]Z`&)YWAPQ&W*h59$ UO5PU,$A $A
5 !
<Z( A
‚0)*P9)5
84Y K3,K90$ A`A
\#
5)*3|QJ ~ &W*h59$ )N ~ $ $=…=‰I;!)*}5
9(.5 5$ $ .
2&|QJ ~ @N
~ U*
—y5$AY4P&W*h59$ UÊRZ( ˆZ`*A!
1
2 ?ãÊ´“Aô¹Å†5
+õöÊOM(Z(A$ $L9;$ 2@hZ`Ž
Z×|QJ ~ &5h59$ ?ãÊ4÷wY Ê Ñ M“
øø 7ù‚ù‚ú'ú'û üOû üOýýþþÿ ÿ ‡‡þ þ }}þþÿ ÿ
ÿ ÿ 6yý ÿý 5ÿ
ÒP]Z-Ê ÷ *
‚Ê Ñ *
;55;901‚ 27 `]Z(
IK…=‰_
,$ N
3.1 Dynamic Single Assignment Form
#"$ !
% &"'$ (') ')*
 1Q\!)*±AL |QJ ~ S@YQ5
A”,QOÖS#
;5
9*$ ;95ƒ <, RL
,1
2`.21 @*$A$ ,$A1)N „ AU 2&$ &'R5 !
A
!1&'.C&5h*9$ q*
U,
*A
-5O*
1$0 ‡R1”2,
h5$(!)*Ԇ;Û܈Ý'í
å*èwðtáãÝ'äŽâ*åwðtN`"1
R7!)*· 02Ö1Ž
ŽP)Y4P
1Z
,$ < O*
2)* !
$ .7K)5
} &'$A& !0
&5h59$A1*
R5O*
$ (OO*()N
¼WR—y5$ YZ(1
´C!)*
• 2Ö1[
1 ö ˆÅ £Ê4÷ £Ë
q*
*õö ˆÊ Ñ )YLR,$ !
,$ * \X
%؍ö]ßi ÷\“ ôµß “ ô Oßi ÷ *
\j
3ö Ñ i Ñ N „ K
42}2Ö1 18#
”,L”,A1`O*`!)* 9L$h55ƒ#£1$ˆ* ‚?hN NAY'45\*
.
5,
0:9,> !5
@95R5
.;845
$yZ(A,5S#
1 !-1
)MN ~ $ $\1 q!)*‡5
´@*
.
RA 4N×|Q|Q|Œ.@5 *$ $A.†15A
#
1h5Q5O*
$ 35
8LÖS (,!45)
1
.Ž*
O*$A. 0 9A
qb j5ghN_6A1¶.2Y' O&W*ˆ*9$ 1#
L,
&5h59$A @5
R U5$ ‚,R \,)*A
R
&5h59$A Y|P|Q|µA
,U845
$ Ž
B;&W*$A,
\,$ 7,A
! @5

R7&W*$A,\ ,$ P, ! N „ P845
$ \*P1
; $ ,1; ‚
2Ö1 LLQ,$ \,A
! WN
„ L $ $A,)5K:5O*
=ÖS 4Y]1
=} $ —y5$ \!)5 ‚X 4NLJ]A
\Z`\$h5
R
2Ö1 ! ÷ ,
3.2 Projection
+
-,$.0/21
43(5
6 6
D
ED
FG#I JLKM!Z
N
6 7698;:<6*=>:<?
'FHGI7JLKM
&[\:UN
ON
@3
P6&Q
6
6BAC:<?
SR
BT:UN 6WV%:<QYX
X
]N
EQ
4^
_Q
`N
CN
E^
aN
b,
c.d/W1
`N
U <]Z(
;,$AYPÖS <<O*<,$ ? ÷]M
3,7
)5 •5$ $K(&5h*9$ 3,
Z( 5q&5$ , ÷
)YwA
$ ,A
!*
.\A
,=5O5
$454 ,(}&5$ ,K ÷]N
J] U9 ÷ *
‚
Ž,
+ßYOß3,O³&'3ˆZ`; ‚450
7*
@93ÖS,0
‚551)N „ 2,ZK
1Z(A ‚X 5
ú'û üOýþÿþ Bþ þ ‡þÿ ‡þ
}þ 8ÿ
?1ŽC5 !
‚Å “ ô¸Å†5
-Å “Aô¹Å•5#
ÖS 5 !
1."O³&'@91
*•95,C
ÖS 4N M „ 4YyZ`;Z( ‚ÖS ´5 !
U
,37 21h*U5O*
1$AO*Z( $ $O9U1”2, 9#
hZ`1
RQ,$ L RQ1.@“
÷
÷
¼O 45$ $ .2YwZK:5
7S°2Ö 3
\: ö hÅ PÊF PË Y
PÊFWö ˆÅ hÊ=÷ 5
PË6ö hÅ £Ë N „ Ž,$A !+.#
1/ U,
45$ $ .C”, &5$ 7‚ !A
45$(”,
ˆ*$`#
!)5@“ £Ø0ö]ßiwØ F ß Ø ß
£Ø FWö)ß i ÷“ ôÓß i ÷
£Ø ö)ß i ‚“ ô•ß i N
7ù‚úû Oû ý 3üOý 'ÿ yý wÿ ÿ
ûû
yý wÿ
1ÿ
“‹”0•–
D0N
!
eN
_N
fN
e,
fQ
.d/W1
&g "
&hd e&"C &g " C &h i #"2j O
lk "
Pm
no%pdq&r2satupPv2wxyrzplv2wq#r{ "|*} tupd~2xyrzpd~q#r | s
v €y
r{ "Y} ~ €y4‚ rƒs„x v
}†… xy~ˆ‡
35
3(5
6 k " 6
4KM
K‹M Q
6u8;:<?
‰3(5
N H: P6 QH: HX4Š4KM CN
 BQ
6 6 5
:<6u5
l:<?
6 Pm'6 76!=>:<?
{ " &N
{ " BT:UN OX4Š
 WV:UQX
OD SYNTHESIS
, !@
,39FOR
1ENERGY
3,
A5 EFFICIENCY
A
[.21 *
!5$ .R1,137
!.R
, 4N  }1,Y7 #
^5 yA! O5$6”,1
2h*$W!)5 5
K95O*
!OY
*
U,
5 L
;—
O*$’845
$ (U,<@* U)*NP‰)ZK&')YW3,
* P
ŽA
45$45O*
$ Q #
,19.RQ q*
@9@*1
A
O*$ˆN
„ Q@³.R15U
1!.R
, Ž @3Z\³.)“<92.#
, !CZ(A$ W5"45 Z( 8".$ i<9.B@*ƒ2 !
1
2 ,$ 7
45$hi49.5 !@5,45$K
2,U91
O845
$ L P.21@N
„ ^Z\³.B 9& ,)NBHh
;
-ZQ.2YO *$ $0P
,\5
‚,,<U,
*A
(((,$AP
$ .1,(,
#
)* "
4Y`
+R,$ @5
+"1,#
!R1
A
•5
C $A.@SÓ@5 q1,)5 Z(
† ‚O5) ,*$A$5 &'N•¼W;—y5$ Y<!)*
Pö]Þi £Þ Rö Wi ? ¹XM OÞ uwÎyrt¤ C5
´9q $ .
1Z(A1
C* Rö Wi A? RXM Y)A
QZ(A$ $
$ .U9L
}Z(
Q,)5 @ P1”2, ‡5
.Z\³.)N<¼OA
45$ $ .2Y*9)&U)*
#
S@* ŽA5$ 5
1—=*$ 7:\ Z\³.2Y=*7845
$
Pö3O5791
B$ AA
45BSºB.Y<5$ !
Z( R L&5$ ˆ.#%85ƒ , .2N
~ $ $W—y5$ K91$A]ZŠ* $ A^&' `’A,45 <O*
1,( *.2
8
,` $A$ 0,
$A.9 !#
!
*U…(5$ 5‡?J) BVMN
4.
K‹M&Œ
7M ŽT
LK‹M!T
N WV: Na
N V%: N’
XO
M R
X
‘
‹X
iN
Œ
…=
1Q$A$ ]Z( !‚!)*@“
ù‚úû Oû ý 3üOý ’ÿ 6ý ÿwÿ
8ÿ ý wÿ
ûû
6ý wÿ
1ÿ
¼O )YZ(
Z( !‚7!)*· ‡|QJ ~ @Y PP&5h*9$ 3A`$ (Z(A qL$ )51
2`A
UU,$A $A|QJ ~ &5 #
*9$ `Ê £Y
$ .L$ˆ*`yL&W*ˆ*9$ Q5,45$ $ .
1}
4³&';1^
1&5$ ,;*0Q
R4\$ 4N}Hh
21h*
|PJ ~ &5h59$ 5
97,
^
A
!,O*1@*
Z(
.5\
L”, 4N
„ ;|QJ ~ &' R 0Ù[ LS
4.1 Creating Conditional Communications
“7”d•–
i—
(˜P
( ™j
$˜š\›Oœ cž Ÿ )# ž*¡
i˜™¤0›Oœ cž ;¥` ž
i˜¦\›Oœ¨§©WªU«
N
‹¬
­®d¯
“
ƒ¢ _ Ÿ<£ l¢*¡
i—
8ÿ ý wÿ
(˜P
(#" † #"
˜š°›Bœ ƒž ') Ÿ*) #"Wž*¡ “
±˜™¤d›Bœ ƒž ¥a že&£C "
±˜¦°›BœS#£C "
£
ƒ¢ £
Ÿ £ W)#¢*¡
P5h59$A WAy,\, :}1$A1 7)5
(5
\1#
Q3,7*$AZQ³.2L95 !
0&5$ ,N=Hˆ
1h5|QJ ~ &5 #
59$ $ .C”,A1q B‚^39)*
5OYy)ZK&')Y(*
q
,
Ñ1^
1q ‡UˆZKŽ9)5
8)N@ҍ]ZÓ5S@*$ . !
2Ö1 • †
@5$P5 OY(@ $ !
&5h59$A Ñ ø }ù;ú'û û £ý
%ý £ý wÿ ÿ
Bû
C74&31$A 45@U,
*A

ˆ*U5O*
$
RX WjPZ(
BÞ ô`FZ( )&*RÐ &'
R RX WjPZ`1
1@5 q,
45$hY6!,O*C&5h59$AނZK,$ q9U”, 9R1 WX*
WjN
„ —\)5ƒ@ 7
,4571^
1&5$ ,1\<&5h59$ 5Ž

$ ."Z(
†.µ5"5,45$ $ .",• •@1A& !
,$ Õ <,)5 4N „ U $ $ ,)*Y'
0O*` 9 Ñ 5
'
,
CêNO‰]Z`&'1)Y Ñ L
$A.*A!
&5$ ,Z(
°ÞCô¨F‡5
ê‚ $ .Ž—,1qZ(
°Þô±XN
„ 1Y4$h5;‚ÖS ´5 !
SUA
h5
5O5
$ WX5
50$A$ ]Z()“
ú'û Oû ý 3üOý ÿ yý wÿ ÿ
%ý ý w8ÿ ÿ
1
ÿ
ûû
yý wÿ
ý 8ÿ
ÿ
\N²
³N
]N
i—l¤ (˜P´°š&P¤ ( "
˜Cš\›&œ¤ ƒž ¤!c¦W Ÿ*) #"Wž*¡
'P¤
T
ƒN
´µ2¶ §µi›&œ¨§©WªU«2
·
CT
_D0N
ƒN
†D0N
4¸’¹´º»
4N
½¼¾:
.0/W1
lN
‰¼¨:
iZjN
i—
4ZL¼
˜
(&" † &"
¤& žO¿#P¤ cžg()¡
$˜C>š°›Bœ
ƒž
“ ƒ¢ i £ Ÿ £ ')&¢*¡
') Ÿ*) #"Wžg()¡
e˜C;¤d›Bœ
ƒž ¥a žO¿Bj¥ ƒžÀ‹¡ ¥a žÀ±#£C "
e˜C>¦°›BœÁ £ &"
> £
~ S 62Ö OY:1= $A1
!U5 !
=L&5 #
59$ ;ê\ ø <ù‚úû û ˆý Wÿ
yyýý wwÿÿ
ûû
Pž
i—dž (˜
$˜š\›Oœ
ƒž P¤# ž
i˜™¤0›Oœ
ƒž ¥a ž
i˜¦\›Oœ§©Wª<«
„ 0$h5(5
”2,L
<!,O5;
7?9)*
5‚
#
0O$ )*
)MO 1Z`&W*ˆ*9$ )N „ \,
<)*
S@*A
:P,K<
,39L*
3 ˜(.#
5$K845
$ 3”, q q1B.21@Yy! &'1
qO*
&'1.q&W*h59$ q5 !
¨&W*$ ,;Z(A µ$ +)5
1
`,
‚P&5h*9$ < ;!,O*1
A
)N4¼W`—y5$ Y
LQ$A$ ]Z( !;1)N
ù‚ú'û û 5ý ãý ý 5ý þÿ<üOýþ yý ý wÿ ‡þ
1û ÿ þ
4.2 Encoding Guards
 •“‹Ã
—l" (˜#"W—j) (˜W)#— £ (˜ £ —lÄ (˜#Ä
ƒž “ ƒ¢
Ÿ ˜&"'±˜W)#±˜ £ ±˜&Ä(¡0›&œÅ ‹Æž*¡Bƒj ž]
Æ ¢*¡B±ÇL ±
Ÿ ˜ " ±˜ ) ±˜#£W±˜ Ä ¡0›&œÅÇe †žHÈ¢
L 7È´ÇO¡
7Æ]¢
C,$ "@9Ž@;ZK5O*
$ †
.Œ 4P!,O*R
LZ`7
q5L$ $A]Z()ö
ú'û *ý tý ý 8ÿ *ý ÿ<üOýþ yý ý wÿ
þ
ûû ÿ þ þ
j—" ˜#"'—’) (˜')&— £ (˜ £ —Ä (˜&Ä
ƒž “ ƒ¢
ɰ Ÿ ˜#"W±˜')&±˜ £ ±˜#Ä¡
ɰ›&œÅ 7Æ]ž*¡B]$ ž]
Æ ¢*¡BdÇe ‹
Æ ¢
0ɛBœÊÇe †žÈ]¢
L 7È´ÇO¡
„ 35
Z`O
O
U` ˜(W`&W*ˆ*9$ Y)`
2,U91
K&5h*9$ ;5 !
-7&5$ ,U @3$ "?MYO5
@
,U96!,O5\@5
yA
7}1$A1 3)51
2`?ˆZKMN
„ P9!A
4Y]1
<!,45=92.;* !
!‚:13,
A5 }1
&'.&W*ˆ*9$ Ž3”,
h5$:N ~ &5h59$ O*P*
$ · >
K&5$ ,K5
9LU,
51;
Ž\X5 ª #
45$845
$hN(? ~ X5 ©L ±O*)`Z( `
1A
0
1#£Lˆ.$ Y65
 !$A*8ƒ
]Z($ !7Z( N MP¼WL)* 5$
,)Y95ƒ;$ˆ*!3845
$ 0,R ŽP!,R}5O*
$ 
5
O*!*9$ ˜?N !N Y4X*#%92.\&5h59$ *3
0U,
51
X*jV²Q5O5
$69,<)5L,
,UX5¯‚5O5
$ )MN
…=U39O*U5O*
1$A#% ˜X5ãõNLҍ@*$A$ .2YWõ©ô+¯‚9,
*
.*
459$ ‚&5$ ,Ž?)³.2Yyõ QTM<*
q951
B7A3,#
NyHhO}&5h*9$ (Ê*
R*, ¸ >
4&5$ ,)Yw1
U^
7?ãÊOMô N „ @ O*$5O*
1$01”2, "q3,
*
ʆ*
†9@A$ * ì$ ! >
CX5ãõ 5O5
$ )N
„ &5h59$A‚ SC5 !
´3,
5 Q?ãÊ4M}ô ì$ ! ? 7?ãÊOMM N
Hh
,@5.2Y]5
!Q,!(”,
h5$!)5Š1
OY
S‚&'1.B$ ")*
)“‚$A1 ¹9R‚*$ $0!,O*
&5h*9$ 7 $ 4iy$ 9U
,39<
A q$ 1A
Oi4$ ¹9
,39\<&W*h59$ *A!
†
&5$ ,\Z(A P$ 4N:€y 39\Q&5h*9$ \O*(
U!,O*Ž1
A
)NÒ]Z3Y1, Ó?7U,
*A
1`Z(
!,O51
A
Q5L
1 MY5
•?(1
Z(
R.5\$ L,
4MN „ 4“
Q? QM:ô
Q? £M
3? M:ô
¹ô Q? QM Q? M
°ô Q? QM
Hh
"1
R
177!,45
A 0:\$ 1A
7”, ON6Hh
)Y$ ³&'}}$ 3,
ON „ }.
q^!,@XU1
)5 9$ U,
*A
3)³&2 !
Z(
-!,O*, ! U*R
+ Ž,A
!CR5
”,
9RN
DO,
!,P1—=*$ Y Ôôµj‚5
ôµENL€y 3? £M<ô
¯BS
QN „ Q? QMô·¯Y Q? MRô XY –ô XjY75
ô·aN@Hh
B U5YO
1 !@‚!,O5B1
A
U,
‚3,
5 L;1$A1 9."*$A45$ NRHˆ
1
)5)YZ(
7?ãÅ6M:ô 7?ãÈ'MOôB¯Y]< £Ø0ö]ß Uö]êi %ß
ê
1{¡tuw{
7 U5
—y5$A\0$ 0Z( 5 09(
L
\\!,451
A
? †ô°jY ¹ô•EMN
0Ë ¬
Ì
Ì
Ì
Ì
>Í
$Ì
Î
ÏÌ
ÑÐ
¸
Ò
ŽÐ
(Î
ÒlÌÓ
Ó
ÕÔ
Lº
L5
Ö
i×
`Ö
¸
×
(Ô
ÚٙÛcÜ(ÝÞWß_¸
½¸
(Ô
f¸
ˬ
Î
(Ö à75
ÕØ
(Ö
Ø
;º
½¸
(Ô
à75
á×bâ¨Ø
4ˬ
@Ö
Yº
EãË ¬ä
Ô
å¸
(Ô
a5
L¸
_Î
(Ö
ˬ
iØ
×
aÎ
içNHèXM
ÑÎ
°KM
P6BZ
lM ’æ
éNêXcX
(Ø
Y×
„ BS ‡A)“1
&'3;#
”,
ˆ*$Q…=‰I+ |QJ ~ iOZ(‚ 9$ Y=¶45
C
1$A1 B)51
;5
C
!,O*C
A 7Z(
1
!.31
, U*
U9`54i)*75
U$h5<ÖS#
C* !
)YA
$ ,A
!7 ^5 <`
45$W1#
3,
5 )iP*
O5$ .˜;O*)
15;2Ö1A
1)i¨2Ö1A
ON P55W`:*
9<S1
9.+5
"5,@*q$hYK5
5$ .Žˆ.;?45\)*ƒ'@…=‰I
!)55L ,)M=— )N
4.3 Summary
7ë
KEXPERIMENTAL
.
1A˜17: ,1ARESULTS
US53,
6=5
5.
5
,
T*FVXU 2$ $A1Rb Ï5g}, !B|Q|Q|57,$ Ž CU& #
,3 4N „ ‚ !A
45$7…=‰I+!)*– 9 ! U,
7! &'1
C C^!,¯5
ZQ53 !
CAA˜1A
, ,!,)NQHˆPA
$ ,\1 !q?`&5h*9$ $ !C ,#
)MY' 21,}O*
$A !Y5
UX²5#%9 < 1
)N „ P,
1
$} 31$A *q9.U*7O5;*$ ,!A
, 5
q9
R9.21\A
C$A1
!4Y6.+55$ Z\³.35
5.
–.CˆZ`@9.5 N „ ,
U ‚$A !
*U
q‚A
, q,!,3(‚
#
$ $ )Y}5
Ž +\,ª1A!
1
,Q,!$ .‡Xj }
!.‚OQ $ $ PN
„ 1A
-O*‚,$ |Q|Q|ŠZ(A[;#
@S1Ž9.;O*
R
7)53!)*@N „ 3O*
1 A
@?Z( 5Uƒ\
<
3O !
OP^
O*$A ˜M
7
9 !R
\3³59A5 4Y(5
R&'1.>7Z\*
@*3 ˜ P9@+5
@
!.2N03)*
! #
)5$y U,$ˆ* PA
‡PFWN XT ’–XNATQ¨5
$ !.,A
!
$Kb XE*ghN0? „ )5 45$’<=$ ]Z(#%$A1&'$’.
2 <Z`15#
$ 3)*
SµQ|Q|P|@,$ 4 0)5
O
$ 4
U,$h5 4NAMމP *$A$ .2Y Õ 3 @51*Z( †X*F (15
1(*9 *‚8A4N „ L 3,$h5 1,$ 5\,@*A˜1R R^!,‚EN
Hˆ
‡ !A)*$ 3,$h5 )Y`. !1
)*-9.°|Q|Q|ŠO*
,!$A.\45$ < , 3,!,<?X5FWjQGHwI}JM`.#
· !
C9.R45
ON\" @*
.,$ )YR|Q|Q|
.¸
,(,!$A.jNAa*¯ (\
!.‚< ,#
?XaT*O» *A
)MN „ |Q|Q|‡,$ 57 A
!Y 7—#
C|Q|Q|AL
$ .P^045$ 44 !#%$A1&'$’.
2 )YZ( ,0 ˜5 \‚9U ,9.$ , !‚,$ ?J)1 B²MN
¼WP3,P}45 4YW
AQRI $ ;5.
#
5
,(T5FW…(VX: $A$ O45yZ\5= $A13 4.
2)*—#
1q@*
1)N;"
CS@*
;^!,*C*ÖS,B
FN XT Ó5
$ !.2Y’ŽI $ T5FW…(VX,
;5XXGHIKJ
b X5FgˆN4PZ`1Q
359$ Q3O*\,`
!.^!,(U
}I $ AQ , @5@,
A)iW +5
.5YW3 !A
45$
^5 4\,
35\ >
)N
ē
Lí
>îWï'ð#ñ
’îWï'ð&ñ
ì
'ò
%í
CP
&2 ‡|P|Q|µ50\^LO5$ :O\.
2 L4N
„ ;
‡O*$A0 $ ,1A
!YOZ( 5‡1Ž|Q|Q|µ#
,$ U 2@$h5!,$ UŽS, )&;1
!.•5
B#
@5
NR|P|Q|°,$ 7*
C91$A,!17Z( CAS#
1
Q!W5$ \ ŽA
O“<, !;
!.R1
, OYW, !
Z\*"$h5
.2Y}, !ŽR #;*
‡
1!.#%‘ .
b XX5ghN
…=$ , !; A$ hZ`‚)5!)NLHh
\^P)5!Y
|Q|Q|-,$ 5$ !31A *$OO*P\. 53*#
$A.$ ,1BA
B1A1,
$`.-5;$ˆ*!9; $ #
* !$ †I}…=‰_¨)5!1)N „ Ž
•)5!C”,A1
(!$ 945$6 ˜* B*$ ! º?Z`‚*P
1A
!”,O*)*A
!)* !WY U,$ˆ**
5$ !WYW5
U!
3*$A! )M’
91$A,\|P|Q|q,$A1` ‚O5)*$ $A1$}5
Ž*‚$h55ƒ#£55 !
9,>( )&Q@5
N
6. IMPROVEMENTS BY CLUSTERING
L×Ló
²
„ ,$ (,‚9.Ž|Q|Q|°5S
@*$ $A1045
;
1#
)*.2Y*A
!-
,
R.RZ( ´—)@3,
*#
`]&'54N „ 7,L]&'5OY)S$ ,},$ !1 B$h5!1…=‰I´O* $ $Q^; °A
#
!$ ŽI}…=‰_Š5.
8
,\A1$A )5!N  K,Y<5
C
A
‚5
+ 5$ $ .9 $ + [; !$ $ )5!9.@* !R
$h5!)5@*8 NR_6,\$ #
9°.2 *$;?N !N Y0
,U9;3)5
• )M
5
$ #% 1q?N !WNAY'.$ L M’
S`@5— U,¹ ˜0
$ \)*!)N
HˆP5
9A
ŽÓ@…=‰I°5$ Z(131$A,#
;,$ Q—1(@5— 3,¸$ (, !UQ1$h5
‚I}…=‰_B , )N „ ;518ƒZ(PUZ( $ $O93@*
.
)5
UA
B‚,$ $ ]Z(
B
ˆZKƒyY=Z`;5
B1, #
6.1 How Much Clustering Is Too Much?
G1 ҍN G,$ Hˆ
)N „ ,!, }
!. 5Hˆ
)N …=.21$AJ) K
!. …=.21$A
…=,
jE
j*FTGHIKJ
²V4»
E*FF@G‰˜
V5¯WN ²PO»
|Q|Q|
¯Wj
X*FjGHIKJ
XaT0O»
EE5F@G‰˜
VÏN FO»
šLrt›Wl=œ){ Wž ;{uwl4¡tm1u3n¢`¦4rt›Wrtm1p¡:uwrtol=¡tpmrtnWx=u;Ä W®t OoqÇ}W® Wc;Ì® Pnœ)m1{2¦mn@mz={uwpoq{m1{2s)z4x4n¡tnW›WvÇ:mz4{ \z4rt¡trt¤4u\puwvyx4s)z4œ]nWx4nl4u
WBoqrts'œ]n’s'nWx6mœ]nW¡t¡t{œ‚œ]l4x4upmW µf \e4® /¤:{œ]¢hnœ)oCpx4s'{Žs'px"Â:{rtoq¤4œ]nÍ{¦‡Âyvs'¡tl=uwm{œ)rtx=›•Ähuw{s'mrtnWx WÌ®
ù
ø ø ÿ
ú'û ûˆý % ÿ ÿ () Šû
+* $
ÿ
û û û # *µ$ û ! " - , # $&%©'û !
. ûû 0ÿø2143³ø /,
#* $
-,
ûû 5 # * $ . /-, ,
1ÿ2ø 143³ø 8ÿ
ø ø 18ÿ ÿ /-, ,
ûû 5 # ..$ % -/, ,
1
ÿ
ø ø
0ÿ2ø 143³ø 0ÿR6ø 143³ø () û
0
-,
û ûû -, 8ÿ
#* $
. ûû 6ø 143³ø #* $
ø ø 88ÿ ÿ --, ,
ûû 5 # * $ . ø ø
0ÿø2143³ø ø ø
8ÿ -,
ûû 5 # ..$ % ø6
143³ø ø ø 8ÿ -,
ÿ2ø 143³ø () û
1 :ÿ ý Wÿ ‡û 6 þ 17 8 :9 ý 3 1û
83 1 ;!<= 1ÿ
@ ø6143³ø û #* $
ûû 33 1A1?#
#
> !<=
û
& 6ø 173³ø 0
> B<C
û
û
3 1 #B<C
ûû # .$ % & ¨Eü ûD!D!3 3ˆý1?þ#> ÿ !<=
ø ¨üEþ D!D!3ˆý ø wÿ ø2ûU143³ø þyû ‡û F3 1 #!G <= 0 û þyû
0
G 1ÿ
. ÿR6ø 143³ø +
û
3 1A#
> B<C
û
3 1 #B<C
. ÿRø6143³ø ‡
üHD!D!3ˆýþÿ
ø þ ø (ÿ‡û3 1A#> B<C
û 3 1 #B<C
1ûû ÿ () & ¨
1ÿ ø û ø 8ÿ 0 ´û
#* $
û 8
ø ¨Eü D!D!ø 3ˆý +û ´ û E> E#> * $ 8
ë
]ô iõ
uö
÷öHú
þÂlÿ
4û
#ù
H÷Wí
ø÷
ò
ë
ò
áù
]ù
ü>üEü
ˆý
“
Ã
¢’ 4ª Yª « Ã
Ã
cÃ
ƒÃ
¢j›Bœ
¢ šš°›Bœ
Ã
™¤
Æ
Ã
™¤
Æ
Ã
¦åÆ
Ã
¦åÆ
Ã
åÆ
Ã
åÆ
¢ š™¤d›Bœ
Ã
™¤
Æ
Ã
™¤
Æ
Ã
¦åÆ
Ã
¦åÆ
Ã
åÆ
Ã
åÆ
– 9—C ˜P
9—
˜
cÃ
¢l
¶ §µL›&œ
“
cÃ
cÃ
¢l
¢ l
¢ Õ¤
¢l
¶ §µ
›&œ
¢l cµ « e›&œ
¢l
¶ §µ
›&œ
¢l cµ « e›&œ
¢l
¶ §µ
›&œ
¢l cµ « e›&œ
¢l
øµ
›Bœ
¢l
(ª *µi›&œ
O¢
¶ §µ
›&œ
cµ « e›&œ
¶ §µ
›&œ
cµ « e›&œ
¶ §µ
›&œ
cµ « e›&œ
øµ
›Bœ
(ª *µi›&œ
Ã
2
cµ « L›Bœ
øµ
› œ
&
cÃ
¢l
cÃ
¢l
¢øÇL›&œ
ƒÃ
›&œ
¢’ ¢’ ¢’ ¢’ ¢’ ¢’ ¢’ ¢d ¢j µ
¢ Õ¤
¢ Õ¤O “ ¤&
¢ ¦ “ ¤& ¤
¢ ¦ “ ¤& ¤
¢ ¦ “ ¤& ¤
¢ ¦ “ ¤& ¤
¢ Õ¤O “ &
¤ ¢ Õ¤O “ ¤#
“
“
¢d (ª µ
(ª *µi›&œ
ƒÃ
´µ2¶ §µi›&œ
¢j ¶ §µ
“
¢
¢
Ã
“
Ã
“
“
cÃ
¥‘›&œ
”
¢
¢
d
d
”
¢’ ¢’ “
¢ Õ¤B
¢ Õ¤B
šW ¦
š' ¦2
“
“
“
¤#
¢
¢
§©WªU«
“
¢
Ã
“
Ã
¢
¢
¢
¢
Ã
“
Ã
“
“
”
“
0
d
” 0
” d
”
¢’ ¢’ ¢’ ¢’ ¢ Õ¤O
¢ Õ¤B
¢ ¦
¢ ¦2
“
šW ¤
šW ¤O
“ šW ¤O
“ šW ¤O
“
“
“
“
“
¤&
¤& ¦
¤& ¦
“
¢
¢
¢
§©WªU«
”
Lµ2¶ §µe›Bœ
Oµ
cÃ
“ ¢
Oµ
Æ
¢ šƒš\›&œ
¢j ƒµ « H
ƒÃ
“ ¢ “ ¤&
µ‘Æ
¢ š†¤0›Oœ
¢’ cµ « H
µ´›Bœ¨§©Wª<«
“ ¢
Oµ´›Oœ
¢
Oµe›&œ¨§©WªU«
Ã
“ ” d O
“ šW ° “ ¤&
š Pš°›Bœ
šƒP;¤d›Bœ
cÃ
“ ¢
µ´›Bœ
¢d cµ «
2
µ´›Bœ¨§©Wª<«
Ã
“ ” 0
cÃ
“ µ´›Bœ
¢ cµ «
d
›Bœ
“
¢’ cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
˜
šW š
¢l
¢ l
¢ l
¢ l
¢ l
¢ l
¢l
¢l
“
d O
cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
cÃ
”
ª ª O« –
Ã
¢’ ƒµ «
“
¢
šW “
¤&
W
µL›&œ¨§©WªU«Ú
cµ « L›Bœ
Ã
“ ¢ ”
¢
d O “
ƒÃ
šW š
¢ ƒµ «
¢øÇáÆ cÃ
›Bœ¨§©Wª<«
¢ ¶ §µL›&œ
¢øÇL Ã
“
¢
š™¤!¡
¢ ” d O “
šW “
šLrt›Wl4œ]{IWže4{KJ6l4{xym1rtp¡ELNM ¸¢£nWœm1z4{¢h{ms)z"l4x=rtmnW¢0mz4{puwvyx4s)z4œ]nWx4nl4u
¤& ±š
ù
A?
b:=f(a)
Bc
cluster
c:=g(b)
C!
ú
c:=g(f(a))
C!
Y?
šLrt›Wl=œ){ žOL¡tl4uwm{œ]rtx4›
¢9ÇÆ
ƒÃ
¢l
H¶ §µe›&œ
“
¤& šƒ
WqoCrts'œ]n6snWxym1œ)n¡t¡t{2œ]®
÷HöHú
A?
X?
X?
Y?
/oqn’¦4l4¡t{urtx+uw{KJyl4{x4s{2®
Õü>ü>ü
˜\,$ (Z( $ 51R9$ *
R,
)N „ 55ƒ Q$ ,101—21(Q ^.$ \ YZ`P—y5 \#
,$ <Z( ‚@5
.Z( 0U,
*A
5O*
$ )N(?J),5,$ 5
R,$ 0 R1A1, Z( R&W*$A Ah.#£518ƒŽ*
R$ 1)N M
HhhZ`+|Q|Q|µ,$ @** ”,
YO$ , !Ž1
!7@³.@5ZQ5B$h51
.@`
,
.N=CLU,`^K55ƒ45K `139 1,)5 A$ @
,!-O5; ^‚A
° !$ )*!+?hN NAY(,
\)5
A R1A1)MN…=$ ,1A
!ˆZK,$A10 R1”2,
1
*$ +,1]&')*$ $Q
1!."
, †9.‡$ O5 !+
5O*
$ ?*
&W*$A Ah.‚88ƒ)M4 9hZ`1
RN
„ q*.
5
,.UZ`; !
[55 &;5ƒqS#
5
1UZ(
+5$ $O}7 ,PQ,$ R* &'R*PU)*
6.2 Clustering DDD Modules in Sequence
N „ = 4} &W* !L 1A$ KQPã$ˆ*8ƒ#%@*8A
!Y R*
< )*<457*$A$’45Kº5
.A5. ,\?1—21
O5$A
#
,:845
$ ‚L”,
ˆ*$M6;<!A&
,$ )³&'
P)5\
,39<4 $ \)*!)N0J)$h*8ƒ#%@55 !1
1$A\1 A5$}
2,U91\<A1$A )5!R*$ !
U45ONI’& ,755q)Z(7457 ‘ .@3
.A` !<Z(1
;P 7*
‚”,O5$}*,
`6]Z`` #
9,55C $ A
)5!ŽbAXX5ghN…=39 A
!A7”,A1#
3Z( B‚,$ UL$h55ƒ2#%@*8 !Y4ZK;O*R45
O* @5$ $ .+45 $ A
R)5!;AR‘ Z(
5$ $ )5!3Ó,)5 O*
CZ(1
C
$ .ŽhZ`
)5!3/1,)5 •5
q TS"j5 $ 9,>(1\A$ .‚@5$h55ƒyN
C;1$ ,1,$ !A
”,
$A.CA
1.Ž55L,
Q$ !0O5;=QR.
?hN N Y ’$ ,1A
!U1,1`SZ\*$h*
.6L.×*
0Z($ MN „ PAL
( $ , !,$ L ”,
5$ !;1QO*)Y U9,>PZ( $ $:9R*1Ž, !‚$h55ƒ#
@*8A
!0 ]&'K@5
35
.Z\³.)N6-
7KZ\5
$h5
."[email protected] 4591
•54Y0Z`Ž9!A
¹R
1Z
)5 5
540$ ,4,$ (5$ !PK
ZC$A
!
O*ON  $ .Z(1

1Z¨$ ,\Z( $ $K^Q †7A
!$ $ )5!7ZK\$h55ƒ2#%@*8Q.@N
%×Ló
º
dº
eº
²
X?
Pb
A1?
cluster
Ab
Pa
A2?
CPa
Acp
Y?
Abc
Pa
B!
C!
Pbc
A2?
C!
A?
CP1
P2
B?
buf
buf
C?
buf
buf
CP4
P6
P5
P7
P8
X!
Y?
šLrt›Wl4œ]{ WžOL¡tl4uwm{œ]rtx4›
ý
buf
A1?
Ac
Pc
P3
X?
B!
/oqn’¦4l4¡t{urtx-¤=pœ]p¡t¡t{¡t®
³üEü>ü
]J $h55ƒ2#%@*8 !ŽAAA$h*;Ž !Ž9$ .
#
5
,1A1, b X5¯ghY:9,3A
B,R5.
5
,U !
ˆ.$ Y
1&'.\,$ `U9 O,)5 3$ !A3*
7$h55 ! *
’ƒ'A
!\·*`45)50,
)N ~ $ Y$h*8ƒ#%$h5 ˆ.5$ $ )Z(
,(*9,>3?P”,A&5$ <4 !! )M4
q5
.
5O*
$`Z( ,UZ`. !+*9,5 !‡*
”,O5$K
,397
55C ,Q73U9 O5 O5$}$ !A9$ 8ƒ@&'U.
1
)N¼O O*$ $A.2YW 1UZK53$h55ƒ#£55 !; ‘#
1A1
.‡*
@ U Q
,P
$ .R1A1A
OYWZ`UU,P9351,$
L]&'#%$h55ƒ#%@55.)N
´×Ló
²
…=$ , !,$ PO5P)* 45)*$A$ $:,1Q
1!.
1
, 
$ .Z(
;,$A1(O5PA
,7?Z(
;9
<,)5 (
‚
;P)*P&5h*9$ MN4"1
;,8
,$ <5}!OY1 y45)*K ,6U,
5 35O*
#
$ *7$ $h5@A
N „ 1,1L7
,39(OZ( Z( 5:.$ 35
U$ O51``,
O*
4 ,O&W*$ A ˆ.
1453,q@!)5;55B,$ N „ ‚hZ`,$ \È
*
\É0 R¼O !,;²0A$ $ ,)*7,5B1
O5 WN
J]$h55ƒ2#%@*8 !-5$ C$ˆ³.@‚$ R1NC"1
+ZKU9A
LˆZ`\,$ } O*)5$ $ $hYZ`L $A$Z\5
P5$ $W ,:\(
Z
,$ -* &'q*)* N@C‚1*
+A
ƒ
(.Ô5U)59$ Z( q$ ,
)Y’Z(Ž*$A$K,$ 7A
)*P1$ ,
*0)*P
,U9}6 $ 0)5!7³Z\³.
S/A5.ŽA
,)N‚¼WU @*$`S@*
Y4ZK;
$ .
1$A,;,$A1;45‚O* ,Z(
-.´55‚ "
)*7$ ,
ON
 P1=O*6O*y,} $ K9,>6(@55\:$ !
Q$ !45)Y:Z`
AZ\*A
!C$A,
P
9,>Z( ,)5 @,$ Q;O*1,)5 ,$ 7*
C91$A,!1)N „ 7A\ $ $ ,)*q C^!#
,ŽaMY=Z(‚—
O*$K5O*
1$A ö]Y=õö;5
Qö5‚A5.
,‚Z(A$ O q; @5.‡,,)N¨G,$ ‚²q*
‚a
*U R\)53$A,
‡5
RO*7A
,0S Q¯“05,5OY
.‚5
9Q$ ,1ONLG,$A1 ‚jU5
‚E09O*\ ,
S ‚X79,5 >
Q$ ,
)N3Hˆ ‚E3ZKZQ51
Z( Ž39,>P9SUA)YW
Q,$ Ž9U$ ,1ŽZ( ‚jN
_6,L O\,,(845
$’ ‚E 0U,8$h5!145
R L ,
5O*
$hY3Z\* !C*
$ , !‚5
@ 15U7]&')5$ $
1
!.
, A
Q.N
HhO5
9<
45O<39 45 W$ , !‚|Q|Q|#
,$ U5
$ˆ*8ƒ#%@*8A
!L@5
7A!$A9O*$= ˜5#
B9$ @NCJ]$h55ƒ2#%@*8 !R.7457
)*A
B1.21$A1U 7$ 54Y=*
 L ,R$ Z(b Ï5ghN
6.3 Clustering DDD Modules in Parallel
_,
šLrt›Wl4œ]{VUWž;k–uw¡tpsÎÁ]oqpmsz={2¦-s'nWx4s'l=œ)œ]{x6m;uwv6uwm{o¬Í6rt{§U{¦
pupCmpÂ4¡t{nW¢Ls'nW¡tl4oCx4uw®
I}…=‰_q* $A.O^
#%!)* ‡5.
5
,L $ 7)5!)NQ…= #
,A‚S ‚* $A.+Z`@,"q9, $ -‡*.
5
,
GHwI}J†D0E5FFF+45)Y(Z(
†15
1C^!,q5Ž•
P)575
$ !A1)Y ?,Lƒ
]Z($ !M4P515.
#
5
,0A11O*N
CŽ*$ Ž ,B
BO*$AL(,3
& A
B.
#
1AP4“<$ , !C|Q|Q|",$ QSQS,Q ]&'1#
Q !.
, OYS@*
Y’\9ON\C1
,†S)51Z`ƒ†SR1$A, !´5$ ! 45)5!1
)5*.
5
,I}…=‰_q , *|P|Q|QN Q*$A.;h.21
$ ‚O*Ž5,@5 *$ $A.‡S‹|Q|P|— )YP*
‡Z`*
5$ &'$ !$A0O*35,@*A5$ $ .S±$ , !N
ks)Î6x4n§¡t{2¦=›W{oq{xymu
Wë
W2XYQZY\[Y\].Z^_X`Y\[^\Za bcY\`da eNfX&a [Eg&].ghY\Z:i=][H[gcj.e&[j.ZY\`Nb!kdfXYQlmY\nY\e[Y
o &` pq].e&^\Y\`sr?Y\[Y\].Z^_Xst=Zj&uY\^\f[ ov Y\e&^\kN]e`xwyjea fjZY\`sb!kNfX&Y o a ZQzhj.Z^\Y
{ e`&Y\ZA^\je!fZ]^\fAzY¦.|}&šW¤~±š#š.~F€~±š'¤.‚cƒ
,
i5
Ú¸
a8;:
],
ˆ,
¸’,
,
¸’,
,
d,
Õ,
á,
CONCLUSION
4³&'
Ž|Q*)5#8|K &'
|K1 A
B?|Q|P|QMY)
^45$ U‚1B; !#%$ &'$<.
1A30
!.#
1‘ (*.2
8
,6 ,A)NK|Q|Q|$ ].26O*)5#%1
.
*
O*$A. }Q1}”,
h5$2!)5Š 9 !P< #
1, O 2}1
1,
=.[13,
A5 !,$A1)N „ K(^} !#%$ &'$.2
K1\)5!} , ` 7.
8.„ ¤ … o REFERENCES
ƒ †Kƒ‡ˆ]Zfa e/ƒŠ‰t=Zj v Z].wywya e v a eŒ‹KŽ(zZjw‘Ajwyw { ea ^\]fa e v
t=Zj!^\Y\[[Y\[2fjlmY\’ ]k!~F“e&[Y\e[a fa pYmAa Z^ { a f[” •ya e–Eƒ o ƒ rHƒ—j.]ZY&”Y\`/ƒ ”
Ї̈ $
à 17˜™ “! ¢š3_3 à ¢0þ D “!Q š U¢³þ!17 !h›:œ ÿÚ Ã þ!3 Ÿ
63 ˜h£3 þ Q ˜d à 3ž à ˜_” o `&`a [je~FŸY\[’ Y\k&”c¤|.|#šŠƒ
ø
„ ¦.…QHƒ Œƒ!Ÿdj.e v ].e&` o ƒ †Šƒ ‡ˆ].Zfa e/ƒŠ‰lm].f]~4`&Za p.Y\e–t=Zj!^\Y\[[2lmY\^\j.wygcj[a fa j.e
zhjZ?fXY€Ž&k!e!fXY\[a [Aj.n o [k!e&^_X&Zj.e&j { [A2a Z^ { a f[.” 3
• ø23 ¢¡= “  “ ” ¦#š&š'¤.ƒ
„ 5.…QŽCƒ ‡¢ƒ.£ { Ze[?].e&` o ƒ †Šƒ!‡ˆ]Zfa eCƒK‰Ž&k!e!fXY\[a [2j.n-ŽY\’ nF~FW2a wyY\`¤2a Z^ { a f[?b!k
t=Zj v Z]w¥W¦Z].e&[njZwy]fa j.e/” •H“eŒ Œƒ †Kƒ‡ˆa ’ e&Y&”.Y\`Cƒ W” ÿ7É Ã þhš˜ !N Ÿ
þ!3D þ!3 ÃC–áà ˜ ˜ þ D¢§ à 3ž P¨ ¢³þ!17 !›h© j.ZfX~F—j’ ’ ].e&`/W” ¤|.Šƒ
„ ‚.… o ƒ£6].Z`[’ Y\k].e&`–lƒ o ƒ!ª=`&i=].Z`&[ƒ¦‰WAX&Y™£2]’ [] o [k!e^XZj.e&j { [2Aa Z^ { a f
–áà ˜_ ˜ þ ˜hš þ*˜ à ˜&” ¦&š#š&šŠƒ
Žk!e!fX&Y\[a [AŽ&k![fY\wd” L
• þ 3žš «!
„ ¬ …QHƒ —Qƒp]eˆ£6Y\Z­Y\’Š].e&`–ryƒ Ÿ;ƒ †Šƒ †KƒŽ]Y\a u[ƒŠ‰2j.wyg&a ’ ].fa jeŒjn
Ajwyw { ea ^\].fa e v t=Zj!^\Y\[[Y\[A“e!fjylmY\’ ]qk!~47e[Y\e&[a fa p.Y€Aa Z^ { a f[” 7
• ø63 ¢¡
“‹“‹–€› g&gCWƒ ¤ ¬.® *~ ¤#} ¦Š” ¤|.Šƒ
„ }.…Q†KƒAjZf]`Y\’ ’ ]Š”‡¢ƒ.€a [Xa eY\p![­!kQY\f?]’ƒK‰t/Y\fZa nk Š]fj!j’¦njZ
wy].e&a g { ’ ]fa e v ^\j.e&^ { ZZY\e!f6[gcY\^\a ¯h^\]fa j.e&[6].e&`–[k!e!fX&Y\[a [?jn
].[k!e&^_X&Zjej { [2^\j.e!fZj.’ ’ Y\Z[.” •d! Â6 “ ÂaÿC%3 þ ˜¡6 Ÿ 3 þ!17 ! þ D
 ˜_1 à ˜_”!‹Cj.’°ƒ.ª=& š.~Fl” © jŠƒ5Š”g&gCƒ'5 ¤ ¬ ~F&5 ¦ ¬ ”!‡ˆ].Z^__
c
X ¤|| ® ƒ
„ ® …Qryƒ ‡¢ƒ.z { X&ZY\Z”ŽCƒ ‡¢ƒ © jqiAa ^­¤Y\f2].’°ƒ¦‰‡ˆ © “‡ o ¦7Ž’
W o eλ=e!p!a ZjewyY\e!f
nj.Z?fX&Y€Žk!e!fX&Y\[a [.”‹CY\Za ¯^\].fa je¤]e`¤W-Y\[f].b&a ’ a f7k¤jn/£ { Z[f~4‡ˆj!`&Y
o [k!e^XZjej { [2‡ˆ].^Xa e&Y\[” •H2j.’ { wEb&a ]y±e&a pY\Z[a f7k2ŽˆW¦Y\^_XŒrAY\gcj.Zf
A±?AŽ&±~ š#¦&š~4||Š” ¤|.||Šƒ
„ .… o ƒ †Kƒ‡ˆ]Zfa e/” o ƒKa e&Y\[?Y\f?]’ƒK‰W2XY™lmY\[a v eŒj.n/]e o [k!e&^_X&Zjej { [
‡ˆ“t=ŽŒrA&5 š#š&šŠ” • ø63 ¢¡ ü " §//h › g&gC2ƒ ¤}.‚.*~ ¤' ¤.”!ŽY\g&fY\wEbcY\0
Z ¤|.| ® ƒ
„ |.… o ƒ †Kƒ‡ˆ]Zfa e/”.‡¢ƒ © k![fZj.² wY\f?]’ƒK‰W2XY™ { fj.e&a { e
w o Ž { b&~ © ].e&juj { ’ Y
o [k!e^XZjej { [2& š ¬ ¤‡ˆa ^\Zj!^\j.e!fZj.’ ’ Y\Z.” •Efjy].g&gcY\].Z2a ‚
e ø63 ¢¡ üH •“ ”
‡ˆ]q
k ¦#š&š.5cƒ
„ ¤9š.…Q—Qƒpq].e& ™] v Y\’ `&j.e&­¦”¤ƒ!pq]e–£6Y\Z­Y\’”.].e&` o ƒt-Y\Y\fY\Z[ƒŠ‰ o e
o [k!e^XZjej { [2Kji2~Ft/jqi=Y\Zm& 𐠬 ¤m‡ˆa ^\Zj!^\je!fZj’ ’ Y\Z” P
• ø63 ¢¡ üH •“›
o g&Za 7’ ¤|.|Šƒ
„ ¤#¤… o ƒ †Kƒ.‡ˆ]Zfa eC”‡¢ƒ © k![fZj² wd”.].e&`¤t2ƒ t-Y\e³\Y\[ƒ‰ª=lW ¦W o ‡ˆY\fZa ^mzj.Z2WAa wyY
].e&`–ª=e&Y\Z v kQª=´^\a Y\e^\kyjn/2j.wyg { f].fa jeC” •H“e–rHƒ ‡ˆY\’ X&Y\w]e`
ryƒ €Z]qk!ba ’ ’KY\`Cƒ ” ø ! à 3žµ ü þ!3 ÃC“! š14 ˜ › €’ { i=Y\Z&” ¦&š&š'¤.ƒ
„ ¤9¦.…Qryƒ‡ˆ].e&j.X&].ZA].e&` o ƒ †Šƒ!‡ˆ]Zfa eCƒŠ‰Ž’ ]^_­ª=’ ].[fa ^\a f7ka e–Aje^ { ZZY\e!f
Ajwyg { fa e v ” 7
• ø63 ¢¡h¶¦±1 Ɉ 17 “?! Ÿ¡ ! 1 É Ã 7
þ!1 É ŸKø63 ˜h£3 þ “! ˜173ž
“  › Žg&Za e v Y\Z~4‹/Y\Z’ ] v c” ¤|.|Šƒ
š ¢17 !h› à ¢17š&3 ҕm 1 à ˜H „ ¤5.…Qt2ƒ.t/Y\e&³\Y\[A]e` o ƒ †Kƒ‡ˆ].Zfa e/ƒŠ‰ o eŒª=eY\Z v kQª=[fa wy].fa je–‡ˆY\fXj!`nj.Z
o [k!e^XZjej { [2Aa Z^ { a f[?i2a fX o g&g&’ a ^\].fa jeŒfjy].e o [k!e^XZj.e&j { [
‡ˆa ^\Zj.g&Zj!^\Y\[[jZ.” \
• ø63 ¢¡ – ü0ÿ‹Â › ¦&š#š&¦cƒ
„ ¤‚.…QHƒ!KY\a [Y\Z[jeC”.zƒr?j.[Y&”].e&`–†KƒŽ&].·!Y&ƒŠ‰¸™g&fa wya ³\a e v Ž&k!e^XZjej { [
Aa Z^ { a fZkQb!k¤rAY\fa wya e v ” •)¹!3D “ þ! 1 à ¢É “! Ÿ à 3 à ¢ ÃQ! §/-h” ¤|.|5Šƒ