Các giải thuật tìm kiếm và lừa chọn thành phần COTS tối ưu theo các tiêu trí giá thành và dư thừa dữ liệu

Tóm tắt Các giải thuật tìm kiếm và lừa chọn thành phần COTS tối ưu theo các tiêu trí giá thành và dư thừa dữ liệu: ...} 10 if A.R ⊆ Sol.R then // Kieˆ’m tra xem Sol co´ la` moˆ.t caˆ´u h`ınh khoˆng? 156 HUY`NH QUYE´ˆT THA´˘NG, PHA. M THI. QUY`NH 11 S := S ∪ {Sol} // Neˆ´u Sol la` moˆ.t caˆ´u h`ınh, no´ se˜ du .o.. c gom nho´m va`o trong S 12 else // nhu.ng neˆ´u vaˆ˜n co`n ca´c di.ch goˆ´i nhau va` di.ch vu. ... −m tha`nh pha`ˆn kha´c nhau. Nhu . vaˆ.y, die`ˆu kieˆ.n deˆ’ tieˆ´p tu. c t`ım kieˆ´m la` toˆ’ng: (soˆ´ di.ch vu. hieˆ.n co´ cu’a Sol coˆ.ng vo´ .i (n−m) tha`nh pha`ˆn nhaˆn vo´.i soˆ´ di.ch vu. nho’ nhaˆ´t co´ theˆ’ cu’a moˆ. t tha`nh pha`ˆn) pha’ i nho’ ho .n ngu.˜o.ng toˆ’ng soˆ´ di.ch vu. ... cu’a maˆ˜u XML, hoa˘.c du .o.. c lu .u o.’ ngoa`i va` su.’ du. ng tham chieˆ´u href deˆ´n no´. De`ˆ xuaˆ´t tha`nh pha`ˆn boˆ’ sung trong COTS DOCUMENT Ca´c thoˆng tin ve`ˆ marketing: Ca´c loa. i thoˆng tin dieˆ’n h`ınh o .’ daˆy ca`ˆn moˆ ta’ bao goˆ`m: ba’n quye`ˆn, chu´.ng nhaˆ.n, thoˆng t...

pdf11 trang | Chia sẻ: havih72 | Lượt xem: 390 | Lượt tải: 0download
Nội dung tài liệu Các giải thuật tìm kiếm và lừa chọn thành phần COTS tối ưu theo các tiêu trí giá thành và dư thừa dữ liệu, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
na`y se˜ la`m ta˘ng doˆ. phu´
.c ta.p daˆ˜n to´
.i
du. thu`.a du˜. lieˆ.u va` tha`nh pha`ˆn cu’a heˆ. thoˆ´ng pha`ˆn me`ˆm du
.o.. c xaˆy du
.
. ng. Daˆy la` nhu˜
.ng caˆ´u
CA´C GIA’ I THUAˆ. T TI`M KIE´ˆM VA` LU.
.
A CHO. N THA`NH PHA`ˆN COTS TO´ˆI U
.
U 157
h`ınh khoˆng du.o.. c lu
.
. a cho.n. Vı` vaˆ.y chu´ng ta ca`ˆn pha’ i xaˆy du
.
. ng gia’ i thuaˆ.t t`ım kieˆ´m, lu
.
. a cho.n
COTSConfigs sao cho loa. i bo’ nhu˜
.ng caˆ´u h`ınh khoˆng ca`ˆn thieˆ´t na`y.
Gia’ i thuaˆ.t nha´nh caˆ.n t`ım kieˆ´m lu
.
. a cho.n ca´c tha`nh pha`ˆn vo´
.i du. thu`.a du˜. lieˆ.u la` toˆ´i thieˆ’u
du.o.. c de`ˆ xuaˆ´t nhu
. sau.
Gia’i thuaˆ.t COTSConfigs ca’i tieˆ´n vo´
.i du. thu`.a du˜. lieˆ.u toˆ´i thieˆ’u
1 total = numOfInterfaces(CB(A)) //toˆ’ng soˆ´ di.ch vu. cu’a moˆ. t caˆ´u h`ınh
2 function brandAndBound(i, Sol, S) //gia’ i thuaˆ.t nha´nh caˆ.n
3 if i 6 size(CB(A)) then
4 for j := 1 to size(Ci.R) do //thu.. c hieˆ.n vo´
.i taˆ´t ca’ ca´c di.ch vu. trong C1
// thu.’ gom di.ch vu. Ci.Ri va`o Sol
5 if {Ci.Ri} ∩ Sol.R = ∅ then // Ci.Ri 6∈ Sol : R?
6 Sol := Sol ∪ {Ci.Ri}
7 if A.R ⊆ Sol.R then //
8 if numOfInterface(S) < total then
//soˆ´ di.ch vu. cu’a caˆ´u h`ınh na`y co`n ı´t ho
.n ca’ ngu.˜o.ng(mu. c tieˆu) neˆn
//daˆy la` moˆ. t gia´ tri. cu’a ngu
.˜o.ng ve`ˆ soˆ´ di.ch vu. cu’a moˆ. t caˆ´u h`ınh
mo´.i
9 total := numberOfInterface(S) // caˆ.p nhaˆ.t ngu
.˜o.ng mo´.i
10 S := // xo´a ca´c keˆ´t qua’ cu˜
11 S := S ∪ {Sol} // du.a Sol va`o taˆ.p keˆ´t qua’ S
12 else if numberOfInterface(S) = total then
//tho’a ma˜n ngu.˜o.ng ve`ˆ soˆ´ di.ch vu.
13 S := S ∪ {Sol} // du.a Sol va`o taˆ.p keˆ´t qua’ S
14 endif
15 else // nhu.ng neˆ´u vaˆ˜n co`n ca´c di.ch vu. goˆ´i nhau hoa˘. c di.ch vu. tru`ng nhau
16 configs(i, Sol, S) // t`ım trong Ci...
17 endif
18 Sol := Sol− {Ci.Ri}
19 endif
20 endfor
21 if (numberOfInterface(S) + (n−m)× minOfInterface(CB(A))
⇐ total then
22 brandAndBound(i+ 1, Sol, S)
23 endif
24 endif
25 endfunction
Ta co´, moˆ. t caˆ´u h`ınh toˆ´i da se˜ la` taˆ.p ho
.
. p cu’a toa`n boˆ. ca´c ca´c tha`nh pha`ˆn u´
.ng vieˆn. Nhu.
vaˆ.y, tu´
.c la` soˆ´ ca´c di.ch vu. toˆ´i da cu’a moˆ.t caˆ´u h`ınh se˜ la` toˆ’ng cu’a ca´c di.ch vu. du
.o.. c cung caˆ´p
bo.’ i ca´c tha`nh pha`ˆn u´.ng vieˆn. Vaˆ.y, tru
.´o.c tieˆn, ta go. i bieˆ´n total la` bieˆ´n lu
.u toˆ’ng soˆ´ di.ch vu.
cu’a moˆ. t caˆ´u h`ınh (do`ng 1). Kho
.’ i ta.o bieˆ´n na`y ba`˘ng toˆ’ng soˆ´ di.ch vu. cu’a toa`n boˆ. ca´c tha`nh
pha`ˆn u´.ng vieˆn. Daˆy ch´ınh la` ngu.˜o.ng ve`ˆ toˆ’ng soˆ´ du˜. lieˆ.u cu’a moˆ. t caˆ´u h`ınh.
158 HUY`NH QUYE´ˆT THA´˘NG, PHA. M THI. QUY`NH
Tu.o.ng tu.. nhu
. gia’ i thuaˆ.t chuaˆ’n COTSConfigs chu´ng ta cu˜ng la`ˆn lu
.o.. t thu
.’ ca´c caˆ´u h`ınh
(do`ng 5 va` 6). Chu´ng ta theˆm va`o kieˆ’m tra xem Sol co´ la` moˆ. t caˆ´u h`ınh khoˆng va` neˆ´u du´ng,
kieˆ’m tra caˆ´u h`ınh na`y co´ toˆ´i thieˆ’u ve`ˆ du˜. lieˆ.u khoˆng (do`ng 9). Gia’ su
.’ ta. i moˆ. t tho`
.i dieˆ’m trong
qua´ tr`ınh t`ım kieˆ´m ta co´, kieˆ´n tru´c A ca`ˆn n di.ch vu. , ma` lu´c na`y Sol da˜ tho’a ma˜n du
.o.. c m
di.ch vu. cu’a A. Nhu
. vaˆ.y, co`n ca`ˆn n−m di.ch vu. cu’a A nu˜
.a th`ı Sol tho’a ma˜n la` moˆ.t caˆ´u h`ınh.
Toˆ`i nhaˆ´t, la` m− n di.ch vu. na`y na`˘m treˆn n −m tha`nh pha`ˆn kha´c nhau. Nhu
. vaˆ.y, die`ˆu kieˆ.n
deˆ’ tieˆ´p tu. c t`ım kieˆ´m la` toˆ’ng: (soˆ´ di.ch vu. hieˆ.n co´ cu’a Sol coˆ.ng vo´
.i (n−m) tha`nh pha`ˆn nhaˆn
vo´.i soˆ´ di.ch vu. nho’ nhaˆ´t co´ theˆ’ cu’a moˆ. t tha`nh pha`ˆn) pha’ i nho’ ho
.n ngu.˜o.ng toˆ’ng soˆ´ di.ch vu. .
Neˆ´u tho’a ma˜n th`ı tieˆ´p tu. c t`ım kieˆ´m, co`n khoˆng th`ı du`
.ng qua´ tr`ınh t`ım kieˆ´m.
4.2. Ca’i tieˆ´n gia’i thuaˆ.t lu
.
. a cho.n tha`nh pha`ˆn vo´
.i toˆ’ng gia´ tha`nh toˆ´i thieˆ’u
Nhu. ta da˜ bieˆ´t, ca´c tha`nh pha`ˆn COTS la` ca´c tha`nh pha`ˆn du.o.. c dem ra thu
.o.ng ma.i. Vı`
vaˆ.y, khi xaˆy du
.
. ng heˆ. thoˆ´ng pha`ˆn me`ˆm su
.’ du.ng ca´c tha`nh pha`ˆn COTS, ngoa`i yeˆ´u toˆ´ k˜ı thuaˆ.t
la` pha’ i da´p u´.ng du.o.. c kieˆ´n tru´c pha`ˆn me`ˆm, th`ı yeˆ´u toˆ´ ve`ˆ ma˘. t gia´ tha`nh cu’a COTS cu˜ng la`
moˆ. t yeˆ´u toˆ´ raˆ´t quan tro.ng. Thoˆng tin ve`ˆ gia´ tha`nh cu’a tha`nh pha`ˆn COTS du
.o.. c di ke`m trong
ta`i lieˆ.u da˘.c ta’ ve`ˆ tha`nh pha`ˆn, COTS Document. Vı` vaˆ.y, thuaˆ. t toa´n sau daˆy du
.o.. c de`ˆ xuaˆ´t
deˆ’ ca’ i tieˆ´n thuaˆ.t toa´n t`ım kieˆ´m deˆ’ du
.a ra nhu˜.ng caˆ´u h`ınh phu` ho.. p doˆ`ng tho`
.i pha’ i tho’a ma˜n
moˆ. t gia´ tha`nh cho tru
.´o.c.
Gia’i thuaˆ.t COTSConfigs ca’i tieˆ´n vo´
.i gia´ tha`nh toˆ´i thieˆ’u
1 total = numOfInterfaces(CB(A))
2 function brandAndBound(i, Sol, S) // gia’ i thuaˆ.t nha´nh caˆ.n
3 if i 6 size(CB(A)) then
4 for j := 1 to size(Ci.R) do // thu.. c hieˆ.n vo´
.i taˆ´t ca’ ca´c di.ch vu.
// thu.’ gom di.ch vu. Ci.Ri va`o Sol
5 if {Ci.Ri} ∩ Sol.R = ∅ then // Ci.Ri 6∈ Sol : R?
6 Sol := Sol ∪ {Ci.Ri}
7 if A.R ⊆ Sol.R then
8 if totalCost(S) 6 maxCost then
9 S := S ∪ {Sol} // du.a Sol va`o taˆ.p keˆ´t qua’ S
10 endif
11 else // nhu.ng neˆ´u vaˆ˜n co`n ca´c di.ch goˆ´i va` di.ch vu. tr u`ng
12 configs(i, Sol, S) // t`ım trong Ci...
13 endif
14 Sol := Sol− {Ci.Ri}
15 endif
16 endfor
17 if (totalCost(S) + (n−m)× minOfCost(CB(A)) 6 maxCost then
// neˆ´u tho’a ma˜n th`ı tieˆ´p tu. c t`ım kieˆ´m, co`n khoˆng th`ı thoˆi
18 brandAndBound(i+ 1, Sol, S)
19 endif
20 endif
21 endfunction
CA´C GIA’ I THUAˆ. T TI`M KIE´ˆM VA` LU.
.
A CHO. N THA`NH PHA`ˆN COTS TO´ˆI U
.
U 159
Tru.´o.c tieˆn, thuaˆ.t toa´n yeˆu ca`ˆu nhaˆ.p va`o ngu
.˜o.ng gia´ cu’a moˆ. t caˆ´u h`ınh. Thuaˆ.t toa´n se˜
thu.. c hieˆ.n t`ım kieˆ´m taˆ´t ca’ ca´c caˆ´u h`ınh tho’a ma˜n ma` toˆ’ng gia´ tha`nh cu’a ca´c tha`nh pha`ˆn se˜
nho’ ho.n ngu.˜o.ng gia´ cho tru.´o.c
maxCost := 〈kho.’ i ta.o moˆ.t gia´ tri. ngu
.˜o.ng gia´〉.
Tu.o.ng tu.. nhu
. gia’ i thuaˆ.t chuaˆ’n COTSConfigs chu´ng ta cu˜ng la`ˆn lu
.o.. t thu
.’ ca´c caˆ´u h`ınh
(do`ng 5 va` 6). Chu´ng ta theˆm va`o kieˆ’m tra xem Sol co´ la` moˆ.t caˆ´u h`ınh khoˆng va` neˆ´u Sol da˜
la` moˆ. t caˆ´u h`ınh kieˆ’m tra caˆ´u h`ınh na`y co´ tho’a ma˜n ve`ˆ gia´ hay khoˆng.
Gia’ su.’ ta. i moˆ. t tho`
.i dieˆ’m trong qua´ tr`ınh t`ım kieˆ´m ta co´, kieˆ´n tru´c A ca`ˆn n di.ch vu. , ma`
lu´c na`y Sol da˜ tho’a ma˜n du.o.. c m di.ch vu. cu’a A. Nhu
. vaˆ.y, co`n ca`ˆn n−m di.ch vu. cu’a A nu˜
.a
th`ı Sol tho’a ma˜n la` moˆ.t caˆ´u h`ınh. Toˆ`i nhaˆ´t, la` n −m di.ch vu. na`y na`˘m treˆn m − n tha`nh
pha`ˆn kha´c nhau. Nhu. vaˆ.y, die`ˆu kieˆ.n deˆ’ tieˆ´p tu. c t`ım kieˆ´m la` toˆ’ng: (gia´ tha`nh hieˆ.n ta. i cu’a
Sol coˆ.ng vo´
.i (m − n) tha`nh pha`ˆn nhaˆn vo´.i gia´ nho’ nhaˆ´t co´ theˆ’ cu’a moˆ. t tha`nh pha`ˆn) pha’ i
nho’ ho.n ngu.˜o.ng gia´ cho tru.´o.c o.’ treˆn.
4.3. Nhaˆ.n xe´t ve`ˆ hai gia’i thuaˆ.t ca’i tieˆ´n
Thuaˆ.t toa´n a´p du. ng tu
. tu.o.’ ng gia’ i thuaˆ.t nha´nh caˆ.n deˆ’ thu
.
. c hieˆ.n qua´ tr`ınh t`ım kieˆ´m lu
.
. a
cho.n caˆ´u h`ınh ho
.
. p leˆ. va` tho’a ma˜n tieˆu ch´ı du
. thu`.a du˜. lieˆ.u toˆ´i thieˆ’u va` toˆ’ng gia´ tha`nh toˆ´i
thieˆ’u. Do do´, khi so sa´nh vo´.i gia’ i thuaˆ.t COSTConfigs coˆ’ dieˆ’n, soˆ´ lu
.o.. ng nu´t ca`ˆn duyeˆ.t trong
hai gia’ i thuaˆ.t se˜ gia’m di raˆ´t nhie`ˆu. Vı` khi chu´ng ta kieˆ’m tra ngu
.˜o.ng ma` thaˆ´y khoˆng tho’a
ma˜n th`ı thuaˆ. t toa´n se˜ khoˆng tieˆ´p tu. c di theo nha´nh do´ nu˜
.a. Tuy nhieˆn, trong tru.`o.ng ho.. p toˆ`i
nhaˆ´t th`ı doˆ. phu´
.c ta.p t´ınh toa´n cu’a hai gia’ i thuaˆ.t da˜ ca’ i tieˆ´n na`y vaˆ˜n la` O(2
n).
Ngoa`i hai thuaˆ.t toa´n da˜ ca’ i tieˆ´n, ta´c gia’ co`n boˆ’ sung theˆm ca´c tieˆu ch´ı ve`ˆ toˆ´i thieˆ’u ho´a du
.
thu`.a du˜. lieˆ.u va` toˆ’ng gia´ tha`nh. Vı` vaˆ.y, caˆ´u h`ınh t`ım du
.o.. c sau khi thu
.
. c hieˆ.n hai gia’ i thuaˆ.t
na`y la` duy nhaˆ´t va` toˆ´i u.u nhaˆ´t theo tieˆu ch´ı cho tru.´o.c. Daˆy la` moˆ.t keˆ´t qua’ kha´ quan tro.ng
khi keˆ´t qua’ cu’a gia’ i thuaˆ. t COSTConfigs coˆ’ dieˆ’n cho bieˆ´t taˆ´t ca’ ca´c caˆ´u h`ınh ho
.
. p leˆ. .
5. CA’ I TIEˆ´N MA˜ˆU TA`I LIEˆ. U COTSDocument,
DA˘. C TA
’ THA`NH PHA`ˆN COTS
Deˆ’ phu.c vu. cho mu. c d´ıch t`ım kieˆ´m va` lu
.
. a cho.n tha`nh pha`ˆn COTS th`ı vieˆ.c da`ˆu tieˆn la`
pha’ i di.nh ngh˜ıa moˆ.t maˆ˜u XML da˘.c ta’ COTSDocument chuaˆ’n cho kho du˜
. lieˆ.u COTS XML.
Deˆ’ thu.. c hieˆ.n da˘ng ky´ ca´c di.ch vu. va`o kho du˜
. lieˆ.u COTS XML, ca´c nha` cung caˆ´p (Exporter)
ca`ˆn moˆ ta’ thoˆng tin ve`ˆ ca´c di.ch vu. cu’a mı`nh theo maˆ˜u da˘. c ta’ na`y. Ca´c thoˆng tin ch´ınh trong
moˆ. t maˆ˜u da˘.c ta’ goˆ`m co´ ([1]):
// Di.nh ngh˜ıa IDL cu’a giao dieˆ.n tha`nh pha`ˆn theBuffer
module theBuffer {
// giao dieˆ.n cung caˆ´p
interface Buffer {
void write(in long x)
long read()
}
}
// giao dieˆ.n yeˆu ca`ˆu
interface out {
160 HUY`NH QUYE´ˆT THA´˘NG, PHA. M THI. QUY`NH
oneway void print(in long x)
}
}
〈?xml-stylesheet type=“text/xsl” href=“
COTS-XMLStyle.xsl”?〉
〈COTScomponent name=“theBuffer”
xmlns=“”
xmlns:types=“”〉
〈functional〉 ... 〈/functional〉
〈properties〉 ... 〈/properties〉
〈packaging〉 ... 〈/packaging〉
〈marketing〉 ... 〈/marketing〉
〈/COTScomponent〉
• Ca´c moˆ ta’ mang t´ınh chu´.c na˘ng (Functional description) ([1]): Pha`ˆn da`ˆu tieˆn moˆ ta’ taˆ´t ca’
ca´c kh´ıa ca.nh mang t´ınh chaˆ´t t´ınh toa´n cu’a tha`nh pha`ˆn, bao goˆ`m taˆ.p ca´c giao dieˆ.n cung caˆ´p
va` yeˆu ca`ˆu. Pha`ˆn na`y co´ 3 pha`ˆn ch´ınh du.o.. c go. i la` providedInterfaces, requiredInterfaces, va`
serviceAccessProtocols. ([1, 5, 6]).
• Ca´c moˆ ta’ khoˆng mang t´ınh chu´.c na˘ng (Non-functional description): su.’ du. ng ca´c kieˆ’u W3C
cho moˆ ta’ ca´c loa. i thoˆng tin na`y.
• Ca´c ra`ng buoˆ.c ve`ˆ do´ng go´i/kieˆ´n tru´c: Chu´ y´ ra`˘ng, cu˜ng gioˆ´ng nhu
. pha`ˆn treˆn, ca´c thoˆng tin
ve`ˆ go´i va` pha´t trieˆ’n ca´c tha`nh pha`ˆn co´ theˆ’ du.o.. c moˆ ta’ tru
.
. c tieˆ´p theo moˆ.t ky´ pha´p da˘. c bieˆ.t
va` mieˆu ta’ trong the’ 〈description〉 cu’a maˆ˜u XML, hoa˘.c du
.o.. c lu
.u o.’ ngoa`i va` su.’ du. ng tham
chieˆ´u href deˆ´n no´.
De`ˆ xuaˆ´t tha`nh pha`ˆn boˆ’ sung trong COTS DOCUMENT
Ca´c thoˆng tin ve`ˆ marketing: Ca´c loa. i thoˆng tin dieˆ’n h`ınh o
.’ daˆy ca`ˆn moˆ ta’ bao goˆ`m: ba’n
quye`ˆn, chu´.ng nhaˆ.n, thoˆng tin nha` cung caˆ´p... Chu´ y´ thoˆng tin trong the’ 〈expirydate〉 va` the’
〈cost〉 la` raˆ´t quan tro.ng, thu´c daˆ’y ca´c di.ch vu. da˜ cu˜ du
.o.. c naˆng caˆ´p nhanh ho
.n va` ta˘ng t´ınh
ca.nh tranh trong moˆi tru
.`o.ng mo.’ . Thoˆng tin lu.u trong hai the’ na`y du.o.. c ca´c trader t`ım kieˆ´m
va` lu.. a cho.n tha`nh pha`ˆn toˆ´i u
.u theo gia´ tha`nh.
〈marketing〉
〈license href=“
/license.html”/〉
〈certificate href=“
/lcard.pgp”/〉
〈vendor〉
〈companyname〉Vendor 3 Corp.〈/companyname〉
〈webpage〉〈/webpage〉
〈mailto〉sales@cotstrader.vendor3.com〈/mailto〉
〈address〉
〈zip〉04120〈/zip〉
〈street〉Ctra Sacramento s/n〈/street〉
〈city〉Almeria〈/city〉
〈country〉Spain〈/country〉
CA´C GIA’ I THUAˆ. T TI`M KIE´ˆM VA` LU.
.
A CHO. N THA`NH PHA`ˆN COTS TO´ˆI U
.
U 161
〈street〉Campus de Teatinos〈/street〉
〈city〉Malaga〈/city〉
〈country〉Spain〈/country〉
〈/address〉
〈/vendor〉
〈cost〉500〈/cost〉
〈currency〉USD〈/currency〉
〈/marketing〉
Nhu. vaˆ.y, nhu˜
.ng thoˆng tin da˘. c ta’ treˆn du
.o.. c coi la` ta`i lieˆ.u chuaˆ’n ma` ca´c nha` cung caˆ´p
du`ng da˘. c ta’ ca´c di.ch vu. . Tu`
. do´, ca´c trader mo´.i co´ co. cheˆ´ t`ım kieˆ´m va` lu.. a cho.n th´ıch ho
.
. p.
Chu´.c na˘ng va` gia´ tha`nh cu’a tha`nh pha`ˆn cu˜ng co´ theˆ’ du.o.. c da´nh gia´ thoˆng qua ta`i lieˆ.u da˘. c ta’
na`y. To´m la. i, thoˆng tin trong maˆ˜u ta`i lieˆ.u da˘.c ta’ XML COTSDocument du
.o.. c theˆ’ hieˆ.n qua
Hı`nh 2.
H`ınh 2. Ca´c thoˆng tin co´ trong maˆ˜u da˘.c ta’ tha`nh pha`ˆn
6. LAˆ. P TRI`NH THU
.
. C HIEˆ. N CA´C THUAˆ. T TOA´N
VA` DA´NH GIA´ THU
.’ NGHIEˆ.M
6.1. Xaˆy du.. ng pha`ˆn me`ˆm thu
.’ nghieˆ.m
Coˆng cu. lu
.
. a cho.n: Visual C#, .NET. Daˆy la` moˆi tru
.`o.ng, ngoˆn ngu˜. tieˆn tieˆ´n hieˆ.n nay.
Dieˆ’m ma.nh cu’a moˆi tru
.`o.ng na`y cho phe´p chu´ng ta de˜ˆ da`ng ta.o ca´c u´
.ng du. ng nhanh treˆn
ne`ˆn heˆ. die`ˆu ha`nh Windows, de˜ˆ da`ng ta.o giao dieˆ.n moˆ.t ca´ch thaˆn thieˆ.n. Die`ˆu da˘. c bieˆ.t quan
tro.ng, la` ngoˆn ngu˜
. na`y hoˆ˜ tro.. nhu˜
.ng thu. vieˆ.n xu
.’ ly´ ca´c va˘n ba’n XML raˆ´t toˆ´t. Deˆ’ phu.c vu.
thu.’ nghieˆ.m ca´c gia’ i thuaˆ.t, heˆ. thoˆ´ng da˜ du
.o.. c xaˆy du
.
. ng cu`ng KS. Nguye˜ˆn Thu Thuy’ va` KS.
Nguye˜ˆn Leˆ Minh, Khoa CNTT, Tru.`o.ng DHBK Ha` Noˆ. i bao goˆ`m ca´c lo´
.p co. ba’n la`: Interface,
InterfaceSet, COTSComponent, Configure, Architecture, Repository. Daˆy la` nhu˜.ng lo´.p moˆ ta’
ca´c kha´i nieˆ.m co
. ba’n phu.c vu. cho gia’ i thuaˆ.t nhu
.: kha´i nieˆ.m ve`ˆ taˆ.p giao dieˆ.n cu’a moˆ. t tha`nh
pha`ˆn, caˆ´u h`ınh, kho chu´.a ca´c tha`nh pha`ˆn, kieˆ´n tru´c pha`ˆn me`ˆm. Tieˆ´p theo, heˆ. thoˆ´ng xaˆy
du.. ng ca´c lo´
.p ConfigGenerator, StandardConfigGenerator, MinCostConfigGenerator, MinDat-
aConfigGenerator. Trong do´, lo´.p ConfigGenerator la` moˆ.t lo´
.p tru`.u tu.o.. ng moˆ ta’ qua´ tr`ınh t`ım
kieˆ´m, sinh ra ca´c caˆ´u h`ınh. Lo´.p StandardConfigGenerator du.o.. c keˆ´ thu`
.a tu`. ConfigGenerator
se˜ la˘´p da˘. t cu. theˆ’ gia’ i thuaˆ.t sinh caˆ´u h`ınh, daˆy la` gia’ i thuaˆ.t ve´t ca.n da˜ de`ˆ caˆ.p o
.’ treˆn. Tu.o.ng
tu.. MinCostConfigGenerator va` MinDataConfigGenerator cu˜ng keˆ´ thu`
.a tu`. ConfigGenerator
se˜ la˘´p da˘.t ca´c thuaˆ.t toa´n lu
.
. a cho.n caˆ´u h`ınh toˆ´i u
.u theo gia´ tha`nh, va` lu.. a cho.n caˆ´u h`ınh gia’m
thieˆ’u du. thu`.a du˜. lieˆ.u.
6.2. Thu.’ nghieˆ.m ca´c thuaˆ.t toa´n
162 HUY`NH QUYE´ˆT THA´˘NG, PHA. M THI. QUY`NH
Du.. a treˆn thu
. vieˆ.n da˜ pha´t trieˆ’n ta xaˆy du
.
. ng chu
.o.ng tr`ınh pha`ˆn me`ˆm thu.’ nghieˆ.m ca´c gia’ i
thuaˆ.t da˜ tr`ınh ba`y. Chu
.o.ng tr`ınh cho phe´p na.p va`o ca´c teˆ.p XML, moˆ. t teˆ.p chu´
.a du˜. lieˆ.u ve`ˆ
kho chu´.a ca´c tha`nh pha`ˆn u´.ng vieˆn, va` moˆ. t teˆ.p moˆ ta’ ve`ˆ kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy du
.
. ng.
Thu.. c nghieˆ.m ca´c thuaˆ.t toa´n da˜ du
.o.. c tieˆ´n ha`nh treˆn hai teˆ.p XML:
- GTSCandidates.xml: Teˆ.p chu´
.a du˜. lieˆ.u ve`ˆ kho chu´
.a ca´c tha`nh pha`ˆn u´.ng vieˆn.
- GTSArchitecture.xml: Teˆ.p chu´
.a du˜. lieˆ.u ve`ˆ kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy du
.
. ng.
Ca´c taˆ.p XML moˆ ta’ ca´c tha`nh pha`ˆn u´
.ng vieˆn ca`ˆn xaˆy du.. ng va` ca´c tha`nh pha`ˆn u´
.ng vieˆn
co´ trong kho du.o.. c laˆ´y tu`
. ba`i toa´n dieˆ’n h`ınh ([1, 2, 3]): Thieˆ´t keˆ´ di.ch vu. chuyeˆ’n doˆ’i khuoˆn
da.ng ca´c a’nh khoˆng gian, co´ teˆn go. i la` GTS (Geographic Translator Service). Neˆ´u t`ım kieˆ´m
theo thuaˆ.t toa´n ve´t ca.n ban da`ˆu th`ı soˆ´ lu
.o.. ng nu´t treˆn caˆy t`ım kieˆ´m pha’ i duyeˆ.t qua la` 958
nu´t, va` keˆ´t qua’ thu du.o.. c la` 24 caˆ´u h`ınh tho’a ma˜n. Neˆ´u t`ım kieˆ´m theo gia’ i thuaˆ.t toˆ´i u
.u ve`ˆ
gia´ tha`nh. Khi ngu.`o.i du`ng nhaˆ.p va`o gia´ tha`nh la` 2200 USD th`ı se˜ chı’ cho moˆ.t keˆ´t qua’ caˆ´u
h`ınh tho’a ma˜n, va` soˆ´ nu´t ca`ˆn duyeˆ.t qua la` 855. Neˆ´u t`ım kieˆ´m theo gia’ i thuaˆ.t toˆ´i u
.u ve`ˆ du˜.
lieˆ.u, tu´
.c toˆ´i u.u ve`ˆ khoˆng du. thu`.a ca´c di.ch vu. . Keˆ´t qua’ thu du
.o.. c chı’ la` moˆ. t caˆ´u h`ınh duy
nhaˆ´t, vo´.i soˆ´ di.ch vu. toˆ’ng coˆ.ng chı’ la` 7, vu`
.a du´ng doˆ´i vo´.i soˆ´ di.ch vu. ma` kieˆ´n tru´c pha`ˆn me`ˆm
yeˆu ca`ˆu. Keˆ´t qua’ so sa´nh thu.’ nghieˆ.m ca´c gia’ i thuaˆ.t du
.o.. c toˆ’ng ho
.
. p trong Ba’ng 1.
Ba’ng 1. Keˆ´t qua’ thu.’ nghieˆ.m vo´
.i ca´c thuaˆ.t toa´n
(*) (**) (***)
Soˆ´ nu´t ca`ˆn duyeˆ.t 958 823 855
Soˆ´ caˆ´u h`ınh thu du.o.. c 24 1 1
(*) Gia’ i thuaˆ. t COTSConfigs chuaˆ’n
(**) Gia’ i thuaˆ.t t`ım kieˆ´m tha`nh pha`ˆn COTS toˆ´i u
.u theo du. thu`.a du˜. lieˆ.u
(***) Gia’ i thuaˆ.t t`ım kieˆ´m tha`nh pha`ˆn COTS toˆ´i u
.u theo gia´ tha`nh
6.3. Da´nh gia´ va` keˆ´t luaˆ.n
Keˆ´t qua’ thu.’ nghieˆ.m cho thaˆ´y a´p du. ng tu
. tu.o.’ ng nha´nh caˆ.n trong thuaˆ.t toa´n lu
.
. a cho.n va`
t`ım kieˆ´m ca´c caˆ´u h`ınh ho.. p leˆ. cho gia’ i thuaˆ.t COTSConfigs da˜ du
.a la. i hieˆ.u qua’ toˆ´t. Soˆ´ lu
.o.. ng
ca´c nu´t ca`ˆn duyeˆ.t da˜ gia’m di la` do ta khoˆng ca`ˆn t`ım kieˆ´m toa`n boˆ. ca´c toˆ’ ho
.
. p caˆ´u h`ınh trong
ba`i toa´n duyeˆ.t caˆy ma` chı’ ca`ˆn lu
.
. a cho.n nha´nh phu` ho
.
. p deˆ’ du
.a ra keˆ´t qua’ t`ım kieˆ´m cuoˆ´i cu`ng.
Vieˆ.c du
.a va`o ca´c tieˆu ch´ı t`ım kieˆ´m cho ca´c caˆ´u h`ınh ca`ˆn lu.. a cho.n - toˆ´i u
.u theo du. thu`.a
du˜. lieˆ.u va` toˆ´i u
.u theo gia´ tha`nh la`m cho phu.o.ng pha´p xaˆy du.. ng pha`ˆn me`ˆm du
.
. a treˆn ca´c
tha`nh pha`ˆn COTS tro.’ neˆn kha’ thi ho.n trong thu.. c teˆ´. Trong ba`i ba´o da˜ tr`ınh ba`y ca´c gia’ i
pha´p naˆng cao hieˆ.u qua’ tieˆ´n tr`ınh t`ım kieˆ´m va` lu
.
. a cho.n tha`nh pha`ˆn COTS, pha´t trieˆ’n gia’ i
thuaˆ.t t`ım kieˆ´m va` lu
.
. a cho.n tha`nh pha`ˆn COTS toˆ´i u
.u theo hu.´o.ng gia’m thieˆ’u du. thu`.a du˜. lieˆ.u
va` gia´ tha`nh cu’a tha`nh pha`ˆn COTS va` thu.’ nghieˆ.m gia’ i thuaˆ.t va`o heˆ. thoˆ´ng GTS (Geographic
Translator Service).
Ba`i ba´o da˜ tr`ınh ba`y da´nh gia´ thu.’ nghieˆ.m ca´c gia’ i thuaˆ.t t`ım kieˆ´m, lu
.
. a cho.n ca´c tha`nh
pha`ˆn pha`ˆn me`ˆm theo ca´c tieˆu ch´ı. Daˆy la` moˆ.t vaˆ´n de`ˆ quan tro.ng trong pha´t trieˆ’n pha`ˆn me`ˆm
hu.´o.ng tha`nh pha`ˆn cho phe´p lu.. a cho.n tha`nh pha`ˆn phu` ho
.
.p nhaˆ´t vo´
.i da˘.c ta’ kieˆ´n tru´c ca`ˆn xaˆy
du.. ng.
Moˆ.t soˆ´ hu
.´o.ng pha´t trieˆ’n cu’a ba`i toa´n na`y nhu. kieˆ’m tra t´ınh du´ng da˘´n cu’a ca´c da˘. c ta’
tha`nh pha`ˆn theo ca´c da˘. c ta’ XML moˆ. t ca´ch tu
.
. doˆ.ng, mo
.’ roˆ.ng tieˆu ch´ı lu
.
. a cho.n ca´c tha`nh
pha`ˆn pha`ˆn me`ˆm du.. a treˆn da´nh gia´ ca´c tu
.o.ng ta´c cu’a no´ vo´.i ca´c tha`nh pha`ˆn da˜ co´ sa˘˜n trong
CA´C GIA’ I THUAˆ. T TI`M KIE´ˆM VA` LU.
.
A CHO. N THA`NH PHA`ˆN COTS TO´ˆI U
.
U 163
kieˆ´n tru´c, v.v. Hieˆ.n ta. i chu´ng toˆi dang pha´t trieˆ’n ca´c nghieˆn cu´
.u theo ca´c di.nh hu
.´o.ng na`y.
TA`I LIEˆ. U THAM KHA
’O
[1] Luis Iribarne, Jose M. Trova, Antonio Vallecillio, A trading service for COTS components,
The Computer Journal 47 (3) (2004).
[2] G.T. Heineman, W.T. Councill, Component-Based Software Engineering (Putting the
pieces together) Addison Wesley, 2001. ISBN 0-201-70485-4.
[3] B. Meyer, Object-Oriented Software Construction, 2nd Ed. Series on Computer Science,
Prentice Hall, 1997.
[4] N. Medvidovic, and R.N. Taylor, A classification and comparison framework for soft-
ware architecture description languages, IEEE Transactions on Software Engineering (3)
(2000) 70–93.
[5] Huy`nh Quyeˆ´t Tha˘´ng, Phan Theˆ´ Da. i, Pha´t trieˆ’n pha`ˆn me`ˆm hu
.´o.ng tha`nh pha`ˆn - tieˆ´n
tr`ınh tu.. doˆ.ng ho´a khi xaˆy du
.
. ng pha`ˆn me`ˆm phu´
.c ta.p du
.
. a ne`ˆn tha`nh pha`ˆn COTS, Ky’ yeˆ´u
Hoˆ. i tha’o khoa ho. c quoˆ´c gia ve`ˆ Nghieˆn cu´
.u pha´t trieˆ’n va` u´.ng du. ng Coˆng ngheˆ. thoˆng tin
va` truye`ˆn thoˆng ICT.RDA la`ˆn thu´. II, Ha` Noˆ. i 24-25/9/2004 (165–174).
[6] Huy`nh Quyeˆ´t Tha˘´ng, Doˆ˜ Tuaˆ´n Du˜ng, Pha´t trieˆ’n pha`ˆn me`ˆm hu.´o.ng tha`nh pha`ˆn - lu.. a
cho.n va` da´nh gia´ ca´c tha`nh pha`ˆn pha`ˆn me`ˆm hoˆ˜ tro
.
. da giao dieˆ.n, Ky’ yeˆ´u Hoˆ. i tha’o Khoa
ho. c Quoˆ´c gia la`ˆn thu´
. nhaˆ´t - Nghieˆn cu´.u co. ba’n va` u´.ng du. ng Coˆng ngheˆ. thoˆng tin FAIR
2003, Ha` Noˆ. i 4-5/10/2003 (423– 433).
[7] Huy`nh Quyeˆ´t Tha˘´ng, Pha.m Thi. Quy`nh, Mo
.’ roˆ.ng ca´c phe´p do kha’ na˘ng t´ıch ho
.
.p va` kha’
na˘ng ta´i su.’ du. ng va` xaˆy du
.
. ng phe´p do toˆ’ng ho
.
. p cho pha`ˆn me`ˆm hu
.´o.ng tha`nh pha`ˆn, Ky’
yeˆ´u Hoˆ. i tha’o khoa ho. c quoˆ´c gia ve`ˆ Nghieˆn cu´
.u pha´t trieˆ’n va` u´.ng du.ng Coˆng ngheˆ. thoˆng
tin va` truye`ˆn thoˆng ICT.RDA la`ˆn thu´. III, Ha` Noˆ. i 22-23/5/2006 (257–267).
Nhaˆ. n ba`i nga`y 19 - 10 - 2006
Nhaˆ. n la. i sau su
.’ a nga`y 29 - 6 -2007

File đính kèm:

  • pdfcac_giai_thuat_tim_kiem_va_lua_chon_thanh_phan_cots_toi_uu_t.pdf