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 chí giá thành và dư thừa dữ liệu

Tóm tắt. Phát triển phần mềm hướng thành phần (Component-Based Software Development - CBSD) là một trong những kỹ thuật tiêu biểu xây dựng các phần mềm lớn, phức tạp, giúp giảm thời gian, công sức và giá thành xây dựng phần mềm. Các thành phần thương mại (COTS) đang được sử dụng ngày càng nhiều trong công nghệ phần mềm dựa thành phần để xây dựng các ứng dụng phần mềm, và do đó các nhà phát triển ứng dụng đã yêu cầu một số cơ chế để mô tả, tìm kiếm, lựa chọn và xây dựng các thành phần COTS. Trong bài báo này chúng tôi trình bày giải thuật là chọn các thành phần COTS tối tru theo dư thừa dữ liệu (kích thước) và giá thành, để tích hợp trong phần mềm cần xây dựng. Thuật toán đề xuất có độ phức tạp chấp nhận được. Các thử nghiệm được thực hiện trên một bài toán cụ thể: Thiết kế dịch vụ chuyển đổi khuôn dạng các ảnh không gian.

 

pdf 11 trang phuongnguyen 12980
Bạn đang xem 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 chí giá thành và dư thừa dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt 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 chí giá thành và dư thừa dữ 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 chí giá thành và dư thừa dữ liệu
Ta.p ch´ı Tin ho. c va` Die`ˆu khieˆ’n ho. c, T.23, S.2 (2007), 153–163
CA´C GIA
’
I THUAˆ. T TI`M KIEˆ
´
M VA` LU
.
. A CHO. N THA`NH PHAˆ
`
N COTS TOˆ
´
I U
.
U
THEO CA´C TIEˆU CHI´ GIA´ THA`NH VA` DU
.
THU`
.
A DU˜
.
LIEˆ.U
HUY`NH QUYE´ˆT THA´˘NG1, PHA. M THI. QUY`NH
2
1Khoa CNTT, Tru.`o.ng DHBK Ha` Noˆ. i
2Khoa CNTT, Tru.`o.ng DHSP Ha` Noˆ. i
Abstract. Component-based software development is gaining recognition as the key technology for
the construction of high-quality, evolvable and large software systems in timely and affordable man-
ners. Commercial components (COTS) is being used more and more in Component-Based Software
Engineering for building software applications, and accordingly, some mechanisms are demanded by
developers of software applications to describe, search, select and compose COTS components. In
this paper we presented two algorithms applied to select COTS components witth optimization of
cost and data redunancy (size). The proposed algorithms are realized based on .NET platform and
experimented on case study Geographic Translator Service. The comparison between proposed and
original algorithm also is presented.
To´m ta˘´t. Pha´t trieˆ’n pha`ˆn me`ˆm hu.´o.ng tha`nh pha`ˆn (Component-Based Software Development -
CBSD) la` moˆ.t trong nhu˜
.ng ky˜ thuaˆ.t tieˆu bieˆ’u xaˆy du
.
. ng ca´c pha`ˆn me`ˆm lo´
.n, phu´.c ta.p, giu´p gia’m
tho`.i gian, coˆng su´.c va` gia´ tha`nh xaˆy du.. ng pha`ˆn me`ˆm. Ca´c tha`nh pha`ˆn thu
.o.ng ma.i (COTS) dang
du.o.. c su
.’ du.ng nga`y ca`ng nhie`ˆu trong coˆng ngheˆ. pha`ˆn me`ˆm du
.
. a tha`nh pha`ˆn deˆ’ xaˆy du
.
. ng ca´c u´
.ng
du.ng pha`ˆn me`ˆm, va` do do´ ca´c nha` pha´t trieˆ’n u´
.ng du.ng da˜ yeˆu ca`ˆu moˆ.t soˆ´ co
. cheˆ´ deˆ’ moˆ ta’, t`ım kieˆ´m,
lu.. a cho.n va` xaˆy du
.
. ng ca´c tha`nh pha`ˆn COTS. Trong ba`i ba´o na`y chu´ng toˆi tr`ınh ba`y gia’i thuaˆ.t lu
.
. a
cho.n ca´c tha`nh pha`ˆn COTS toˆ´i u
.u theo du. thu`.a du˜. lieˆ.u (k´ıch thu
.´o.c) va` gia´ tha`nh, deˆ’ t´ıch ho.. p trong
pha`ˆn me`ˆm ca`ˆn xaˆy du.. ng. Thuaˆ.t toa´n de`ˆ xuaˆ´t co´ doˆ. phu´
.c ta.p chaˆ´p nhaˆ.n du
.o.. c. Ca´c thu
.’ nghieˆ.m
du.o.. c thu
.
. c hieˆ.n treˆn moˆ.t ba`i toa´n cu. theˆ’: Thieˆ´t keˆ´ di.ch vu. chuyeˆ’n doˆ’i khuoˆn da.ng ca´c a’nh khoˆng
gian.
1. MO
.’ DA`ˆU
Pha´t trieˆ’n pha`ˆn me`ˆm du.. a tha`nh pha`ˆn (CBSD) cho phe´p ngu
.`o.i pha´t trieˆ’n ta.o ra nhu˜
.ng
u´.ng du.ng du`ng moˆ. t pha`ˆn pha`ˆn me`ˆm du
.o.. c go. i la` ca´c tha`nh pha`ˆn. Tha`nh pha`ˆn pha`ˆn me`ˆm
la` moˆ.t do
.n vi. caˆ´u tha`nh vo´
.i giao dieˆ.n du
.o.. c tho’a thuaˆ.n tru
.´o.c va` chı’ phu. thuoˆ.c du
.´o.i go´c doˆ.
noˆ. i dung da˜ ro˜ ra`ng, chu´ng co´ kha’ na˘ng lieˆn keˆ´t, tu
.o.ng ta´c vo´.i nhau h`ınh tha`nh neˆn moˆ.t heˆ.
thoˆ´ng mo´.i. Tha`nh pha`ˆn pha`ˆn me`ˆm co´ theˆ’ du.o.. c trieˆ’n khai moˆ.t ca´ch doˆ.c laˆ.p. COTS la` moˆ. t
tha`nh pha`ˆn pha`ˆn me`ˆm mang t´ınh thu.o.ng ma. i (co´ theˆ’ du
.o.. c caˆ´p giaˆ´y phe´p, hoa˘.c du
.o.. c ba´n)
cho phe´p do´ng go´i, phaˆn phoˆ´i, lu.u giu˜., su.’ a chu˜.a va` tuy` bieˆ´n theo y´ ngu.`o.i su.’ du`ng, nhu˜.ng
tha`nh pha`ˆn na`y thu.`o.ng lo´.n va` du.o.. c lu
.u tru˜. trong ca´c kho pha`ˆn me`ˆm.
Vieˆ.c pha´t trieˆ’n pha`ˆn me`ˆm du
.
. a ne`ˆn tha`nh pha`ˆn COTS nga`y ca`ng tro
.’ neˆn linh hoa.t la` do
co´ su.. gia ta˘ng ve`ˆ chaˆ´t lu
.o.. ng va` su
.
. da da.ng cu’a ca´c sa’n phaˆ’m du
.
. a ne`ˆn tha`nh pha`ˆn COTS
154 HUY`NH QUYE´ˆT THA´˘NG, PHA. M THI. QUY`NH
nhu. heˆ. die`ˆu ha`nh, co
. so.’ du˜. lieˆ.u, heˆ. thoˆ´ng tin nha˘´n, thu
. dieˆ.n tu
.’ , GIS, GUI builders... Ca´c
sa’n phaˆ’m na`y goˆ`m ca´c u´.ng du.ng va` ca´c tha`nh pha`ˆn hoa`n thieˆ.n va` da˜ co´ ma˘.t treˆn thi. tru
.`o.ng
CNTT. Soˆ´ lu.o.. ng ca´c tha`nh pha`ˆn COTS dang tieˆ´p tu. c gia ta˘ng, chaˆ´t lu
.o.. ng cu˜ng nhu
. kha’
na˘ng u´.ng du. ng cu’a no´ nga`y ca`ng du
.o.. c ca’ i thieˆ.n. Ho
.n nu˜.a, pha´t trieˆ’n pha`ˆn me`ˆm du.. a treˆn
ca´c tha`nh pha`ˆn COTS co`n cung caˆ´p kha’ na˘ng mo.’ roˆ.ng va` bieˆ´n doˆ’i ca´c u´
.ng du. ng pha`ˆn me`ˆm
thoˆng qua ca´c ha`m APIs, ca´c ngoˆn ngu˜. plug- ins va` script. Tu`. do´, no´ co´ theˆ’ phu` ho.. p vo´
.i
nhu ca`ˆu su.’ du.ng cu’a tu`
.ng mu. c d´ıch, ra`ng buoˆ.c kha´c nhau.
Trong pha´t trieˆ’n pha`ˆn me`ˆm du.. a tha`nh pha`ˆn COTS, vieˆ.c lu
.
. a cho.n tha`nh pha`ˆn COTS
phu` ho..p la` moˆ. t trong nhu˜
.ng ba`i toa´n raˆ´t quan tro.ng. Trong ba`i ba´o na`y chu´ng toˆi taˆ.p trung
H`ınh 1. Tieˆ´n tr`ınh xaˆy du.. ng pha`ˆn me`ˆm
du.. a treˆn ca´c tha`nh pha`ˆn COTS
va`o nghieˆn cu´.u mo.’ roˆ.ng gia’ i thuaˆ.t lu
.
. a
cho.n ca´c toˆ’ ho
.
.p tha`nh pha`ˆn u´
.ng cu.’ vieˆn
COTS cho kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy
du.. ng. Ca´c mo
.’ roˆ.ng trong gia’ i thuaˆ. t lu
.
. a
cho.n na`y du
.o.. c xaˆy du
.
. ng treˆn 2 tieˆu ch´ı:
du. thu`.a du˜. lieˆ.u cu’a ca´c tha`nh pha`ˆn va`
gia´ tha`nh cu’a tha`nh pha`ˆn. Y´ tu.o.’ ng chu´ng
toˆi a´p du.ng trong gia’ i thuaˆ.t xaˆy du
.
. ng gia’ i
thuaˆ.t lu
.
. a cho.n la` phu
.o.ng pha´p nha´nh caˆ.n.
Caˆ´u tru´c cu’a ba`i ba´o du.o.. c tr`ınh ba`y
nhu. sau. Mu. c 2 tr`ınh ba`y ve`ˆ tieˆ´n tr`ınh xaˆy
du.. ng pha`ˆn me`ˆm du
.
. a tha`nh pha`ˆn COTS.
Mu. c 3 se˜ tr`ınh ba`y gia’ i thuaˆ.t COTSCon-
figs va` nhu˜.ng da´nh gia´ ve`ˆ ca´c kha’ na˘ng mo.’
roˆ.ng va` toˆ´i u
.u thuaˆ.t toa´n. Tieˆ´p theo, Mu.c
4 la` ca´c mo.’ roˆ.ng de`ˆ xuaˆ´t cho thuaˆ.t toa´n
COTSConfigs. Trong Mu. c 5 la` ca´c mo
.’
roˆ.ng thoˆng tin trong da˘.c ta’ COTS Doc-
ument deˆ’ lu.u tru˜. gia´ tha`nh tha`nh pha`ˆn.
Mu. c 6 tr`ınh ba`y ca´c da´nh gia´ thu
.’ nghieˆ.m
da˜ thu.. c hieˆ.n vo´
.i ca´c gia’ i thuaˆ.t de`ˆ xuaˆ´t,
cuoˆ´i cu`ng la` keˆ´t luaˆ.n va` hu
.´o.ng pha´t trieˆ’n.
2. TIEˆ´N TRI`NH PHA´T TRIEˆ’N PHA`ˆN ME`ˆM
DU
.
. A TREˆN CA´C THA`NH PHA`ˆN COTS
Moˆ h`ınh tieˆ´n tr`ınh pha´t trieˆ’n pha`ˆn me`ˆm hu.´o.ng tha`nh pha`ˆn du.. a treˆn ca´c tha`nh pha`ˆn
COTS, moˆ ta’ trong Hı`nh 1, du.o.. c chia tha`nh ba giai doa.n ([1, 5, 6]):
Giai doa. n 1: Su
.’ du. ng ca´c coˆng cu. moˆ h`ınh ho´a (v´ı du. UML-RT cu’a boˆ. coˆng cu. Rational
Rose) deˆ’ moˆ ta’ va` thieˆ´t keˆ´ kieˆ´n tru´c pha`ˆn me`ˆm. Maˆ˜u da˘.c ta’ du
.o.. c xaˆy du
.
. ng va` tr`ınh ba`y
trong [1, 5].
Giai doa. n 2: Su
.’ du.ng moˆ.t tieˆ´n tr`ınh tu
.
. doˆ.ng deˆ’ xuaˆ´t ca´c thoˆng tin tu`
. ky´ pha´p UML - RT
tha`nh ca´c maˆ˜u da˘.c ta’ XML.
Giai doa. n 3: Tieˆ´n tr`ınh COTSTrader, thu
.
. c hieˆ.n t`ım kieˆ´m danh sa´ch ca´c tha`nh pha`ˆn u´
.ng cu.’
CA´C GIA’ I THUAˆ. T TI`M KIE´ˆM VA` LU.
.
A CHO. N THA`NH PHA`ˆN COTS TO´ˆI U
.
U 155
vieˆn trong kho chu´.a maˆ˜u XML. Co. so.’ cu’a tieˆ´n tr`ınh na`y la` gia’ i thuaˆ. t COTSTrader. Gia’ i
thuaˆ.t da˜ du
.o.. c tr`ınh ba`y chi tieˆ´t trong [1].
Tieˆ´p theo tieˆ´n tr`ınh t`ım kieˆ´m la` tieˆ´n tr`ınh COTSConfigs lu.. a cho.n toˆ’ ho
.
.p tha`nh pha`ˆn tu`
.
danh sa´ch tha`nh pha`ˆn u´.ng cu.’ vieˆn deˆ’ ta.o ra ca´c caˆ´u h`ınh tho’a ma˜n kieˆ´n tru´c pha`ˆn me`ˆm yeˆu
ca`ˆu. Trong [1, 2, 3] cu˜ng tr`ınh ba`y chi tieˆ´t gia’ i thuaˆ.t COTSConfigs, a´p du.ng tu
. tu.o.’ ng ve´t ca.n
ca´c tru.`o.ng ho.. p tho’a ma˜n caˆ´u h`ınh. Moˆ.t soˆ´ ca’ i tieˆ´n cu’a gia’ i thuaˆ.t na`y cu˜ng da˜ du
.o.. c tr`ınh
ba`y trong [5, 6].
Bu.´o.c cuoˆ´i cu`ng trong giai doa.n na`y, khi taˆ´t ca’ ca´c caˆ´u h`ınh da˜ du
.o.. c sinh, chu´ng ta thu
.
. c
hieˆ.n bu
.´o.c do´ng go´i ca´c caˆ´u h`ınh deˆ’ ta.o ra moˆ.t u´
.ng du. ng hoa`n chı’nh.
Tro.ng taˆm cu’a ba`i ba´o taˆ.p trung va`o bu
.´o.c thu´. hai cu’a giai doa.n 3 - tieˆ´n tr`ınh COTSConfigs
lu.. a cho.n toˆ’ ho
.
. p tha`nh pha`ˆn.
3. THUAˆ. T TOA´N COTSConfigs LU
.
. A CHO. N TOˆ
’
HO
.
. P
CA´C THA`NH PHA`ˆN COTS
3.1. Moˆ ta’ ba`i toa´n
Tieˆ´n tr`ınh sinh ca´c caˆ´u h`ınh tu`. taˆ.p ca´c tha`nh pha`ˆn u´
.ng vieˆn la` moˆ. t qua´ tr`ınh quan tro.ng
trong toa`n boˆ. qua´ tr`ınh t`ım kieˆ´m ca´c tha`nh pha`ˆn COTS. Tieˆ´n tr`ınh na`y se˜ lu
.
. a cho.n taˆ.p ca´c
tha`nh pha`ˆn phu` ho.. p nhaˆ´t vo´
.i kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy du.. ng. Die`ˆu kieˆ.n phu` ho
.
. p o
.’ daˆy
la` pha’ i lu.. a cho.n ca´c tha`nh pha`ˆn sao cho taˆ.p di.ch vu. ma` caˆ´u h`ınh da´p u´
.ng du.o.. c pha’ i kho´
.p
vo´.i taˆ.p di.ch vu. yeˆu ca`ˆu cu’a kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy du
.
. ng.
Ba`i toa´n lu.. a cho.n toˆ’ ho
.
.p ca´c tha`nh pha`ˆn COTS du
.o.. c pha´t bieˆ’u nhu
. sau ([1]): Cho moˆ. t
kieˆ´n tru´c pha`ˆn me`ˆm A. Co´ moˆ. t kho B chu´
.a toa`n boˆ. ca´c tha`nh pha`ˆn u´
.ng vieˆn COTS phu` ho.. p
deˆ’ lu.. a cho.n t´ıch ho
.
.p va`o A. Ca`ˆn pha’ i sinh ra ca´c caˆ´u h`ınh S la` taˆ.p ho
.
. p cu’a ca´c tha`nh pha`ˆn
u´.ng vieˆn COTS co´ trong B, sao cho caˆ´u h`ınh S da´p u´.ng ca´c di.ch vu./chu´
.c na˘ng ma` A yeˆu
ca`ˆu. Nhu. vaˆy caˆ´u h`ınh S ca`ˆn da´p u´.ng hai die`ˆu kieˆ.n:
(i) Taˆ.p ca´c di.ch vu. du
.o.. c hoˆ˜ tro
.
. bo
.’ i ca´c tha`nh pha`ˆn cu’a S pha’ i tru`ng vo´.i taˆ.p ca´c di.ch vu.
du.o.. c hoˆ˜ tro
.
. bo
.’ i A (tu´.c la` khoˆng co´ ca´c loˆ˜ hoˆ’ng di.ch vu. ).
(ii) Khoˆng co´ hai tha`nh pha`ˆn na`o cu’a S cung caˆ´p cu`ng moˆ. t di.ch vu. chung (tu´
.c la` khoˆng
co´ di.ch vu. tru`ng)
Sau daˆy la` thuaˆ.t toa´n se˜ sinh ra ca´c caˆ´u h`ınh S ([1]).
Gia’i thuaˆ.t COTSConfigs
1 function COTSconfigs(i, Sol, S)
2 // 1 6 i 6 size(CB(A)) kha’o sa´t qua taˆ´t ca’ ca´c kha’ na˘ng co´ trong kho CB(A)
(chu´.a danh sa´ch ca´c tha`nh pha`ˆn u´.ng cu.’ vieˆn)
3 // Sol la` caˆ´u h`ınh ta.m hieˆ.n tho`
.i dang du.o.. c xaˆy du
.
. ng trong gia’ i thuaˆ.t
4 // S chu´.a du.. ng taˆ.p ho
.
. p taˆ´t ca’ ca´c caˆ´u h`ınh co´ gia´ tri. doˆ´i vo´
.i kieˆ´n tru´c A
5 if i 6 size(CB(A)) then
6 for j := 1 to size(Ci.R) do//thu.. c hieˆ.n vo´
.i taˆ´t ca’ ca´c di.ch vu. trong C1
7 // thu.’ gom di.ch vu. Ci.Ri va`o Sol
8 if {Ci.Ri} ∩ Sol.R = ∅ then // Ci.Ri 6∈ Sol : R?
9 Sol := Sol ∪ {Ci.Ri}
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. tru`ng nhau
13 configs(i, Sol, S) ; // t`ım trong Ci...
14 endif
15 Sol := Sol− {Ci.Ri}
16 endif
17 endfor
18 configs(i+ 1, Sol, S) // tieˆ´p tu. c trong CB(A)
19 endif
20 endfunction
Ca´c kho.’ i ta.o cu’a gia’ i thuaˆ.t la` S =;Sol =; configs (1;Sol;S). Moˆ˜i caˆ´u h`ınh (do`ng 9) de`ˆu
du.o.. c sinh ra ba`˘ng ca´ch thu
.’ taˆ´t ca’ ca´c u´.ng cu.’ vieˆn, keˆ´t ho.. p da`ˆn ca´c di.ch vu. Cj.Rj co`n chu
.a
chu´.a trong A, va` bo’ di nhu˜.ng di.ch vu. ma` A da˜ co´ roˆ`i (do`ng 8 va` do`ng 10). Khi gia’ i thuaˆ.t
keˆ´t thu´c, bieˆ´n S se˜ chu´.a taˆ´t ca’ ca´c caˆ´u h`ınh ca`ˆn thieˆ´t.
3.2. Da´nh gia´ nhaˆ.n xe´t ve`ˆ gia’i thuaˆ.t
Thuaˆ.t toa´n a´p du. ng tu
. tu.o.’ ng gia’ i thuaˆ.t quay lui deˆ’ thu
.
. c hieˆ.n qua´ tr`ınh t`ım kieˆ´m lu
.
. a
cho.n ca´c caˆ´u h`ınh ho
.
. p leˆ. . No´ se˜ sinh tu`
. taˆ.p ho
.
. p ca´c u´
.ng cu.’ vieˆn trong kho B : CB(A) =
{C1, ..., Ck}, va` tu`. kieˆ´n tru´c pha`ˆn me`ˆm ca`ˆn xaˆy du.. ng A, moˆ. t taˆ.p S ca´c caˆ´u h`ınh ho
.
. p leˆ. (do`ng
11). Khoˆng co´ tru.`o.ng ho.. p ca´c caˆ´u h`ınh trong S co`n toˆ`n ta. i co´ loˆ˜ hoˆ’ng di.ch vu. (moˆ. t di.ch vu.
na`o do´ khoˆng du.o.. c da´p u´
.ng) hay ca´c di.ch vu. choˆ`ng che´o. Do do´, gia’ i thuaˆ.t se˜ chı’ sinh nhu˜
.ng
caˆ´u h`ınh ho.. p leˆ.. Tuy nhieˆn, gia’ i thuaˆ. t na`y co´ nhu
.o.. c dieˆ’m la` moˆ.t gia’ i thuaˆ.t t`ım kieˆ´m ve´t
ca.n, vo´
.i doˆ. phu´
.c ta.p la` O(2
n), trong do´ n la` soˆ´ lu.o.. ng ca´c di.ch vu. ma` taˆ´t ca’ ca´c tha`nh pha`ˆn
trong CB(A) co´ theˆ’ da´p u´.ng. Khi do´ vo´.i moˆ. t kho ca´c tha`nh pha`ˆn u´
.ng vieˆn lo´.n, th`ı se˜ daˆ˜n
to´.i bu`ng noˆ’ toˆ’ ho.. p. Qua´ tr`ınh t`ım kieˆ´m nhu
. vaˆ.y se˜ khoˆng kha’ thi.
4. CA´C DE`ˆ XUA´ˆT CA’ I TIEˆ´N GIA’ I THUAˆ. T COTSCONFIGS
LU
.
. A CHO. N TOˆ
’ HO
.
. P CA´C THA`NH PHA`ˆN COTS
Deˆ’ gia’m doˆ. phu´
.c ta.p cu’a thuaˆ.t toa´n treˆn, chu´ng ta co´ theˆ’ de`ˆ xuaˆ´t thay ba`˘ng gia’ i thuaˆ.t
nha´nh caˆ.n (brand and bound). Tu
. tu.o.’ ng cu’a thuaˆ.t toa´n nha´nh caˆ.n la` nho`
. va`o moˆ. t soˆ´ ca´c
thoˆng tin da˜ co´ deˆ’ nha`˘m loa. i bo’ bo´
.t moˆ.t soˆ´ ca´c phu
.o.ng a´n cha˘´c cha˘´n khoˆng pha’ i la` toˆ´i u.u,
tu´.c la` co´ theˆ’ lu.o.. c bo´
.t moˆ.t soˆ´ nu´t khoˆng ca`ˆn thieˆ´t treˆn caˆy t`ım kieˆ´m. Vaˆ.y moˆ.t soˆ´ tieˆu ch´ı co´
theˆ’ du.a va`o deˆ’ ta˘ng hieˆ.u qua’ t`ım kieˆ´m nhu
.:
- Lu.. a cho.n tha`nh pha`ˆn vo´
.i du. thu`.a du˜. lieˆ.u la` toˆ´i thieˆ’u.
- Lu.. a cho.n tha`nh pha`ˆn vo´
.i toˆ’ng gia´ tha`nh la` toˆ´i thieˆ’u.
4.1. Ca’i tieˆ´n gia’i thuaˆ.t lu
.
. a cho.n tha`nh pha`ˆn vo´
.i du. thu`.a du˜. lieˆ.u toˆ´i thieˆ’u
Khi xaˆy du.. ng ca´c caˆ´u h`ınh phu` ho
.
.p vo´
.i kieˆ´n tru´c pha`ˆn me`ˆm yeˆu ca`ˆu, chu´ng ta co´ theˆ’
thu du.o.. c nhie`ˆu keˆ´t qua’ caˆ´u h`ınh ([1, 2, 5, 6]). Trong do´, se˜ co´ nhu˜
.ng caˆ´u h`ınh la` toˆ’ ho.. p ca´c
tha`nh pha`ˆn ma` ngoa`i nhu˜.ng di.ch vu. ma` kieˆ´n tru´c pha`ˆn me`ˆm da˜ yeˆu ca`ˆu, co`n co´ nhu˜
.ng di.ch
vu. du
. thu`.a khoˆng ca`ˆn du`ng. Neˆ´u su.’ du.ng ca´c caˆ´u h`ınh 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 ...  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