1. Trang chủ
  2. » Công Nghệ Thông Tin

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

11 306 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 11
Dung lượng 365,86 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

https://mkienthuc.blogspot.com/2017/06/do-an-khao-sat-he-thong-thuy-luc-tren-may-ui-komatsu.html https://mkienthuc.blogspot.com/2017/06/ung-dung-logic-mo-trong-chan-doan-hong-he-thong-phanh.html

Trang 1

C ´AC GIA’I THU ˆA T T`IM KIˆE´M V `A LU A CHO. N THANH PH ˆ` `AN COTS T ˆO´I U.U

THEO C ´AC TIˆEU CH´I GI ´A TH `ANH V `A DU.TH `U.A D ˜U.LIˆE U

HU ` YNH QUYˆ E ´T TH˘A´NG 1

, PHA.M THI QU` YNH2

1Khoa CNTT, Tru.`o.ng DHBK H`a Nˆo.i

2Khoa CNTT, Tru.`o.ng DHSP H`a Nˆo.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.

T´ om t˘ a ´t Ph´at triˆe’n phˆa ` n mˆe ` m hu.´o.ng th`anh phˆa ` n (ComponentBased Software Development -CBSD) l` a mˆ o.t trong nh˜u.ng k˜y thuˆa.t tiˆeu biˆe’u xˆay du ng c´ac phˆa ` n mˆe ` m l´o.n, ph´u.c ta.p, gi´up gia’m th` o.i gian, cˆong s´ u.c v` a gi´ a th` anh xˆ ay du. ng phˆ` n mˆe a ` m C´ac th`anh phˆa ` n thu.o.ng ma.i (COTS) dang du.o c su.’ du.ng ng`ay c`ang nhiˆe ` u trong cˆong nghˆe phˆa`n mˆe ` m du a th`anh phˆa`n dˆe’ xˆay du ng c´ac ´u.ng du.ng phˆa ` n mˆe ` m, v`a do d´o c´ac nh`a ph´at triˆe’n ´u.ng du.ng d˜a yˆeu cˆa`u mˆo.t sˆo´ co chˆe´ dˆe’ mˆo ta’, t`ım kiˆe´m,

lu. a cho.n v`a xˆ ay du. ng c´ac th`anh phˆ ` n COTS Trong b`ai b´ao n`ay ch´ung tˆoi tr`ınh b`ay gia’i thuˆa.t lu a a cho.n c´ac th`anh phˆa ` n COTS tˆo´i u.u theo du th`u.a d˜u liˆe.u (k´ıch thu.´o.c) v`a gi´a th`anh, dˆe’ t´ıch ho p trong phˆ ` n mˆe a ` m cˆa ` n xˆay du ng Thuˆa.t to´an dˆe ` xuˆa´t c´o dˆo ph´u.c ta.p chˆa´p nhˆa.n du.o c C´ac thu.’ nghiˆe.m du.o c thu c hiˆe.n trˆen mˆo.t b`ai to´an cu thˆe’: Thiˆe´t kˆe´ di.ch vu chuyˆe’n dˆo’i khuˆon da.ng c´ac a’nh khˆong gian.

1 MO’ D ˆ. ` UA Ph´at triˆe’n phˆa` n mˆe` m du a th`anh phˆa`n (CBSD) cho ph´ep ngu.`o.i ph´at triˆe’n ta.o ra nh˜u.ng

´

u.ng du.ng d`ung mˆo.t phˆa` n phˆa` n mˆe` m du.o c go.i l`a c´ac th`anh phˆa`n Th`anh phˆa`n phˆa`n mˆe` m l`a mˆo.t do.n vi cˆa´u th`anh v´o.i giao diˆe.n du.o c tho’a thuˆa.n tru.´o.c v`a chı’ phu thuˆo.c du.´o.i g´oc dˆo nˆo.i dung d˜a r˜o r`ang, ch´ung c´o kha’ n˘ang liˆen kˆe´t, tu.o.ng t´ac v´o.i nhau h`ınh th`anh nˆen mˆo.t hˆe thˆo´ng m´o.i Th`anh phˆa` n phˆa` n mˆe` m c´o thˆe’ du.o c triˆe’n khai mˆo.t c´ach dˆo.c lˆa.p COTS l`a mˆo.t th`anh phˆa` n phˆa` n mˆe` m mang t´ınh thu.o.ng ma.i (c´o thˆe’ du.o c cˆa´p giˆa´y ph´ep, ho˘a.c du.o c b´an) cho ph´ep d´ong g´oi, phˆan phˆo´i, lu.u gi˜u., su.’ a ch˜u.a v`a tu`y biˆe´n theo ´y ngu.`o.i su.’ d`ung, nh˜u.ng th`anh phˆa` n n`ay thu.`o.ng l´o.n v`a du.o c lu.u tr˜u trong c´ac kho phˆa`n mˆe`m

Viˆe.c ph´at triˆe’n phˆa` n mˆe` m du a nˆe` n th`anh phˆa` n COTS ng`ay c`ang tro.’ nˆen linh hoa.t l`a do c´o su. gia t˘ang vˆe` chˆa´t lu.o ng v`a su da da.ng cu’a c´ac sa’n phˆa’m du a nˆe` n th`anh phˆa` n COTS

Trang 2

nhu hˆe diˆe` u h`anh, co so.’ d˜u liˆe.u, hˆe thˆo´ng tin nh˘a´n, thu diˆe.n tu.’, GIS, GUI builders C´ac sa’n phˆa’m n`ay gˆo`m c´ac ´u.ng du.ng v`a c´ac th`anh phˆa` n ho`an thiˆe.n v`a d˜a c´o m˘a.t trˆen thi tru.`o.ng CNTT Sˆo´ lu.o ng c´ac th`anh phˆa` n COTS dang tiˆe´p tu.c gia t˘ang, chˆa´t lu.o ng c˜ung nhu kha’ n˘ang ´u.ng du.ng cu’a n´o ng`ay c`ang du.o c ca’i thiˆe.n Ho.n n˜u.a, ph´at triˆe’n phˆa` n mˆe` m du a trˆen c´ac th`anh phˆa` n COTS c`on cung cˆa´p kha’ n˘ang mo.’ rˆo.ng v`a biˆe´n dˆo’i c´ac ´u.ng du.ng phˆa`n mˆe`m thˆong qua c´ac h`am APIs, c´ac ngˆon ng˜u plug- ins v`a script T`u d´o, n´o c´o thˆe’ ph`u ho p v´o.i nhu cˆa` u su.’ du.ng cu’a t`u.ng mu.c d´ıch, r`ang buˆo.c kh´ac nhau

Trong ph´at triˆe’n phˆa` n mˆe` m du a th`anh phˆa`n COTS, viˆe.c lu a cho.n th`anh phˆa`n COTS ph`u ho p l`a mˆo.t trong nh˜u.ng b`ai to´an rˆa´t quan tro.ng Trong b`ai b´ao n`ay ch´ung tˆoi tˆa.p trung

H`ınh 1 Tiˆe´n tr`ınh xˆay du. ng phˆa` n mˆe` m

du. a trˆen c´ac th`anh phˆa` n COTS

v`ao nghiˆen c´u.u mo.’ rˆo.ng gia’i thuˆa.t lu a

cho.n c´ac tˆo’ ho p th`anh phˆa` n ´u.ng cu.’ viˆen

COTS cho kiˆe´n tr´uc phˆa` n mˆe` m cˆa` n xˆay

du. ng C´ac mo’ rˆo.ng trong gia’i thuˆa.t lu a.

cho.n n`ay du.o c xˆay du ng trˆen 2 tiˆeu ch´ı:

du th`u.a d˜u liˆe.u cu’a c´ac th`anh phˆa` n v`a

gi´a th`anh cu’a th`anh phˆa` n ´Y tu.o.’ ng ch´ung

tˆoi ´ap du.ng trong gia’i thuˆa.t xˆay du ng gia’i

thuˆa.t lu a cho.n l`a phu.o.ng ph´ap nh´anh cˆa.n

Cˆa´u tr´uc cu’a b`ai b´ao du.o. c tr`ınh b`ay

nhu sau Mu.c 2 tr`ınh b`ay vˆe` tiˆe´n tr`ınh xˆay

du. ng phˆa` n mˆe` m du a th`anh phˆa`n COTS

Mu.c 3 s˜e tr`ınh b`ay gia’i thuˆa.t

COTSCon-figs v`a nh˜u.ng d´anh gi´a vˆe` c´ac kha’ n˘ang mo.’

rˆo.ng v`a tˆo´i u.u thuˆa.t to´an Tiˆe´p theo, Mu.c

4 l`a c´ac mo.’ rˆo.ng dˆe` xuˆa´t cho thuˆa.t to´an

COTSConfigs Trong Mu.c 5 l`a c´ac mo.’

rˆo.ng thˆong tin trong d˘a.c ta’ COTS

Doc-ument dˆe’ lu.u tr˜u gi´a th`anh th`anh phˆa` n

Mu.c 6 tr`ınh b`ay c´ac d´anh gi´a thu.’ nghiˆe.m

d˜a thu. c hiˆe.n v´o.i c´ac gia’i thuˆa.t dˆe` xuˆa´t,

cuˆo´i c`ung l`a kˆe´t luˆa.n v`a hu.´o.ng ph´at triˆe’n

2 TIˆE´N TR`INH PH ´AT TRIˆE’N PH ˆA` N Mˆ` ME

DU A TR. EN C ´ˆ AC TH `ANH PH ˆ` N COTSA Mˆo h`ınh tiˆe´n tr`ınh ph´at triˆe’n phˆa` n mˆe` m hu.´o.ng th`anh phˆa` n du a trˆen c´ac th`anh phˆa`n COTS, mˆo ta’ trong H`ınh 1, du.o. c chia th`anh ba giai doa.n ([1, 5, 6]):

Giai doa.n 1: Su.’ du.ng c´ac cˆong cu mˆo h`ınh h´oa (v´ı du UML-RT cu’a bˆo cˆong cu Rational Rose) dˆe’ mˆo ta’ v`a thiˆe´t kˆe´ kiˆe´n tr´uc phˆa` n mˆe` m Mˆa˜u d˘a.c ta’ du.o c xˆay du ng v`a tr`ınh b`ay trong [1, 5]

Giai doa.n 2: Su.’ du.ng mˆo.t tiˆe´n tr`ınh tu dˆo.ng dˆe’ xuˆa´t c´ac thˆong tin t`u k´y ph´ap UML - RT th`anh c´ac mˆa˜u d˘a.c ta’ XML

Giai doa.n 3: Tiˆe´n tr`ınh COTSTrader, thu c hiˆe.n t`ım kiˆe´m danh s´ach c´ac th`anh phˆa` n ´u.ng cu.’

Trang 3

viˆen trong kho ch´u.a mˆa˜u XML Co so.’ cu’a tiˆe´n tr`ınh n`ay l`a gia’i thuˆa.t COTSTrader Gia’i thuˆa.t d˜a du.o c tr`ınh b`ay chi tiˆe´t trong [1]

Tiˆe´p theo tiˆe´n tr`ınh t`ım kiˆe´m l`a tiˆe´n tr`ınh COTSConfigs lu. a cho.n tˆo’ ho p th`anh phˆa. ` n t`u danh s´ach th`anh phˆa` n ´u.ng cu.’ viˆen dˆe’ ta.o ra c´ac cˆa´u h`ınh tho’a m˜an kiˆe´n tr´uc phˆa`n mˆe` m yˆeu cˆa` u Trong [1, 2, 3] c˜ung tr`ınh b`ay chi tiˆe´t gia’i thuˆa.t COTSConfigs, ´ap du.ng tu tu.o.’ng v´et ca.n c´ac tru.`o.ng ho p tho’a m˜an cˆa´u h`ınh Mˆo.t sˆo´ ca’i tiˆe´n cu’a gia’i thuˆa.t n`ay c˜ung d˜a du.o c tr`ınh b`ay trong [5, 6]

Bu.´o.c cuˆo´i c`ung trong giai doa.n n`ay, khi tˆa´t ca’ c´ac cˆa´u h`ınh d˜a du.o c sinh, ch´ung ta thu c hiˆe.n bu.´o.c d´ong g´oi c´ac cˆa´u h`ınh dˆe’ ta.o ra mˆo.t ´u.ng du.ng ho`an chı’nh

Tro.ng tˆam cu’a b`ai b´ao tˆa.p trung v`ao bu.´o.c th´u hai cu’a giai doa.n 3 - tiˆe´n tr`ınh COTSConfigs

lu. a cho.n tˆo’ ho p th`anh phˆa. ` n

3 THU ˆA T TOAN COTSConfigs LU´ A CHO. N TOˆ’ HO P.

C ´AC TH `ANH PH ˆA` N COTS 3.1 Mˆo ta’ b`ai to´an

Tiˆe´n tr`ınh sinh c´ac cˆa´u h`ınh t`u tˆa.p c´ac th`anh phˆa` n ´u.ng viˆen l`a mˆo.t qu´a tr`ınh quan tro.ng trong to`an bˆo qu´a tr`ınh t`ım kiˆe´m c´ac th`anh phˆa` n COTS Tiˆe´n tr`ınh n`ay s˜e lu a cho.n tˆa.p c´ac th`anh phˆa` n ph`u ho p nhˆa´t v´o.i kiˆe´n tr´uc phˆa`n mˆe`m cˆa`n xˆay du ng Diˆe` u kiˆe.n ph`u ho p o.’ dˆay l`a pha’i lu. a cho.n c´ac th`anh phˆa` n sao cho tˆa.p di.ch vu m`a cˆa´u h`ınh d´ap ´u.ng du.o c pha’i kh´o.p v´o.i tˆa.p di.ch vu yˆeu cˆa` u cu’a kiˆe´n tr´uc phˆa` n mˆe` m cˆa` n xˆay du ng

B`ai to´an lu. a cho.n tˆo’ ho p c´ac th`anh phˆa. ` n COTS du.o c ph´at biˆe’u nhu sau ([1]): Cho mˆo.t kiˆe´n tr´uc phˆa` n mˆe` m A C´o mˆo.t kho B ch´u.a to`an bˆo c´ac th`anh phˆa`n ´u.ng viˆen COTS ph`u ho p dˆe’ lu. a cho.n t´ıch ho p v`ao A Cˆa. ` n pha’i sinh ra c´ac cˆa´u h`ınh S l`a tˆa.p ho p cu’a c´ac th`anh phˆa`n

´

u.ng viˆen COTS c´o trong B, sao cho cˆa´u h`ınh S d´ap ´u.ng c´ac di.ch vu./ch´u.c n˘ang m`a A yˆeu cˆa` u Nhu vˆay cˆa´u h`ınh S cˆa` n d´ap ´u.ng hai diˆe` u kiˆe.n:

(i) Tˆa.p c´ac di.ch vu du.o c hˆo˜ tro bo.’i c´ac th`anh phˆa` n cu’a S pha’i tr`ung v´o.i tˆa.p c´ac di.ch vu du.o. c hˆo˜ tro bo. ’ i A (t´. u.c l`a khˆong c´o c´ac lˆo˜ hˆo’ng di.ch vu.)

(ii) Khˆong c´o hai th`anh phˆa` n n`ao cu’a S cung cˆa´p c`ung mˆo.t di.ch vu chung (t´u.c l`a khˆong c´o di.ch vu tr`ung)

Sau dˆay l`a thuˆa.t to´an s˜e sinh ra c´ac cˆa´u h`ınh S ([1])

Gia’i thuˆa.t COTSConfigs

1 function COTSconfigs(i, Sol, S)

2 // 1 6 i 6 size(CB(A)) kha’o s´at qua tˆa´t ca’ c´ac kha’ n˘ang c´o trong kho CB(A) (ch´u.a danh s´ach c´ac th`anh phˆa` n ´u.ng cu.’ viˆen)

3 // Sol l`a cˆa´u h`ınh ta.m hiˆe.n th`o.i dang du.o c xˆay du ng trong gia’i thuˆa.t

4 // S ch´u.a du. ng tˆa.p ho p tˆa´t ca’ c´ac cˆa´u h`ınh c´o gi´a tri dˆo´i v´o. i kiˆe´n tr´uc A

6 for j := 1 to size(Ci.R) do//thu. c hiˆe.n v´o.i tˆa´t ca’ c´ac di.ch vu trong C1

8 if {Ci.Ri} ∩ Sol.R = ∅ then // Ci.Ri 6∈ Sol : R?

10 if A.R ⊆ Sol.R then // Kiˆe’m tra xem Sol c´o l`a mˆo.t cˆa´u h`ınh khˆong?

Trang 4

11 S := S ∪ {Sol}// Nˆe´u Sol l`a mˆo.t cˆa´u h`ınh, n´o s˜e du.o c gom nh´om v`ao

trong S

12 else // nhu.ng nˆe´u vˆa˜n c`on c´ac di.ch gˆo´i nhau v`a di.ch vu tr`ung nhau

18 configs(i + 1, Sol, S) // tiˆe´p tu.c trong CB(A)

C´ac kho.’ i ta.o cu’a gia’i thuˆa.t l`a S =; Sol =; configs (1; Sol; S) Mˆo˜i cˆa´u h`ınh (d`ong 9) dˆe` u du.o. c sinh ra b˘a`ng c´ach thu’ tˆa´t ca’ c´ac ´u.ng cu.’ viˆen, kˆe´t ho p dˆa`n c´ac di.ch vu Cj.Rj c`on chu.a. ch´u.a trong A, v`a bo’ di nh˜u.ng di.ch vu m`a A d˜a c´o rˆo`i (d`ong 8 v`a d`ong 10) Khi gia’i thuˆa.t kˆe´t th´uc, biˆe´n S s˜e ch´u.a tˆa´t ca’ c´ac cˆa´u h`ınh cˆa` n thiˆe´t

3.2 D´anh gi´a nhˆa n x´et vˆ` gia’i thuˆe a t

Thuˆa.t to´an ´ap du.ng tu tu.o.’ng gia’i thuˆa.t quay lui dˆe’ thu c hiˆe.n qu´a tr`ınh t`ım kiˆe´m lu a cho.n c´ac cˆa´u h`ınh ho p lˆe N´o s˜e sinh t`u tˆa.p ho p c´ac ´u.ng cu.’ viˆen trong kho B : CB(A) = {C1, , Ck}, v`a t`u kiˆe´n tr´uc phˆa` n mˆe` m cˆa` n xˆay du ng A, mˆo.t tˆa.p S c´ac cˆa´u h`ınh ho p lˆe (d`ong 11) Khˆong c´o tru.`o.ng ho p c´ac cˆa´u h`ınh trong S c`on tˆo`n ta.i c´o lˆo˜ hˆo’ng di.ch vu (mˆo.t di.ch vu n`ao d´o khˆong du.o. c d´ap ´u.ng) hay c´ac di.ch vu chˆo`ng ch´eo Do d´o, gia’i thuˆa.t s˜e chı’ sinh nh˜u.ng cˆa´u h`ınh ho p lˆe Tuy nhiˆen, gia’i thuˆa.t n`ay c´o nhu.o c diˆe’m l`a mˆo.t gia’i thuˆa.t t`ım kiˆe´m v´et ca.n, v´o.i dˆo ph´u.c ta.p l`a O(2n

), trong d´o n l`a sˆo´ lu.o ng c´ac di.ch vu m`a tˆa´t ca’ c´ac th`anh phˆa` n trong CB(A) c´o thˆe’ d´ap ´u.ng Khi d´o v´o.i mˆo.t kho c´ac th`anh phˆa` n ´u.ng viˆen l´o.n, th`ı s˜e dˆa˜n t´o.i b`ung nˆo’ tˆo’ ho p Qu´a tr`ınh t`ım kiˆe´m nhu vˆa.y s˜e khˆong kha’ thi

4 C ´AC Dˆ` XU ˆE A´T CA’I TIˆE´N GIA’I THU ˆA T COTSCONFIGS

LU A CHO. N TO’ HOˆ P C. AC TH `´ ANH PH ˆA` N COTS Dˆe’ gia’m dˆo ph´u.c ta.p cu’a thuˆa.t to´an trˆen, ch´ung ta c´o thˆe’ dˆe` xuˆa´t thay b˘a`ng gia’i thuˆa.t nh´anh cˆa.n (brand and bound) Tu tu.o.’ng cu’a thuˆa.t to´an nh´anh cˆa.n l`a nh`o v`ao mˆo.t sˆo´ c´ac thˆong tin d˜a c´o dˆe’ nh˘a`m loa.i bo’ b´o.t mˆo.t sˆo´ c´ac phu.o.ng ´an ch˘a´c ch˘a´n khˆong pha’i l`a tˆo´i u.u, t´u.c l`a c´o thˆe’ lu.o c b´o.t mˆo.t sˆo´ n´ut khˆong cˆa` n thiˆe´t trˆen cˆay t`ım kiˆe´m Vˆa.y mˆo.t sˆo´ tiˆeu ch´ı c´o thˆe’ du.a v`ao dˆe’ t˘ang hiˆe.u qua’ t`ım kiˆe´m nhu.:

- Lu. a cho.n th`anh phˆa` n v´o.i du th`u.a d˜u liˆe.u l`a tˆo´i thiˆe’u

- Lu. a cho.n th`anh phˆa` n v´o.i tˆo’ng gi´a th`anh l`a tˆo´i thiˆe’u

4.1 Ca’i tiˆe´n gia’i thuˆa.t lu a cho.n th`. anh phˆ` n v´a o.i du th`u.a d˜u liˆe.u tˆo´i thiˆe’u Khi xˆay du. ng c´ac cˆa´u h`ınh ph`u ho p v´o.i kiˆe´n tr´uc phˆa` n mˆe` m yˆeu cˆa` u, ch´ung ta c´o thˆe’ thu du.o. c nhiˆe` u kˆe´t qua’ cˆa´u h`ınh ([1, 2, 5, 6]) Trong d´o, s˜e c´o nh˜u.ng cˆa´u h`ınh l`a tˆo’ ho p c´ac th`anh phˆa` n m`a ngo`ai nh˜u.ng di.ch vu m`a kiˆe´n tr´uc phˆa`n mˆe` m d˜a yˆeu cˆa` u, c`on c´o nh˜u.ng di.ch

vu du th`u.a khˆong cˆa` n d`ung Nˆe´u su.’ du.ng c´ac cˆa´u h`ınh n`ay s˜e l`am t˘ang dˆo ph´u.c ta.p dˆa˜n t´o.i

du th`u.a d˜u liˆe.u v`a th`anh phˆa` n cu’a hˆe thˆo´ng phˆa`n mˆe` m du.o c xˆay du ng Dˆay l`a nh˜u.ng cˆa´u

Trang 5

h`ınh khˆong du.o. c lu a cho.n V`ı vˆa.y ch´. ung ta cˆa` n pha’i xˆay du ng gia’i thuˆa.t t`ım kiˆe´m, lu a cho.n COTSConfigs sao cho loa.i bo’ nh˜u.ng cˆa´u h`ınh khˆong cˆa` n thiˆe´t n`ay

Gia’i thuˆa.t nh´anh cˆa.n t`ım kiˆe´m lu a cho.n c´ac th`anh phˆa` n v´o.i du th`u.a d˜u liˆe.u l`a tˆo´i thiˆe’u du.o. c dˆe` xuˆa´t nhu sau

Gia’i thuˆa.t COTSConfigs ca’i tiˆe´n v´o.i du th`u.a d˜u liˆe.u tˆo´i thiˆe’u

1 total = numOfInterfaces(CB(A)) //tˆo’ng sˆo´ di.ch vu cu’a mˆo.t cˆa´u h`ınh

2 function brandAndBound(i, Sol, S) //gia’i thuˆa.t nh´anh cˆa.n

4 for j := 1 to size(Ci.R) do //thu c hiˆe.n v´o.i tˆa´t ca’ c´ac di.ch vu trong C1

// thu.’ gom di.ch vu Ci.Ri v`ao Sol

//sˆo´ di.ch vu cu’a cˆa´u h`ınh n`ay c`on ´ıt ho.n ca’ ngu.˜o.ng(mu.c tiˆeu) nˆen //dˆay l`a mˆo.t gi´a tri cu’a ngu.˜o.ng vˆe` sˆo´ di.ch vu cu’a mˆo.t cˆa´u h`ınh m´o.i

//tho’a m˜an ngu.˜o.ng vˆe` sˆo´ di.ch vu

15 else // nhu.ng nˆe´u vˆa˜n c`on c´ac di.ch vu gˆo´i nhau ho˘a.c di.ch vu tr`ung nhau

21 if (numberOfInterface(S) + (n − m)× minOfInterface(CB(A))

⇐ total then

Ta c´o, mˆo.t cˆa´u h`ınh tˆo´i da s˜e l`a tˆa.p ho p cu’a to`an bˆo c´ac c´ac th`anh phˆa` n ´u.ng viˆen Nhu vˆa.y, t´u.c l`a sˆo´ c´ac di.ch vu tˆo´i da cu’a mˆo.t cˆa´u h`ınh s˜e l`a tˆo’ng cu’a c´ac di.ch vu du.o c cung cˆa´p

bo.’ i c´ac th`anh phˆa` n ´u.ng viˆen Vˆa.y, tru.´o.c tiˆen, ta go.i biˆe´n total l`a biˆe´n lu.u tˆo’ng sˆo´ di.ch vu cu’a mˆo.t cˆa´u h`ınh (d`ong 1) Kho.’i ta.o biˆe´n n`ay b˘a`ng tˆo’ng sˆo´ di.ch vu cu’a to`an bˆo c´ac th`anh phˆa` n ´u.ng viˆen Dˆay ch´ınh l`a ngu.˜o.ng vˆe` tˆo’ng sˆo´ d˜u liˆe.u cu’a mˆo.t cˆa´u h`ınh

Trang 6

Tu.o.ng tu. nhu gia’i thuˆa.t chuˆa’n COTSConfigs ch´ung ta c˜ung lˆa`n lu.o t thu.’ c´ac cˆa´u h`ınh (d`ong 5 v`a 6) Ch´ung ta thˆem v`ao kiˆe’m tra xem Sol c´o l`a mˆo.t cˆa´u h`ınh khˆong v`a nˆe´u d´ung, kiˆe’m tra cˆa´u h`ınh n`ay c´o tˆo´i thiˆe’u vˆe` d˜u liˆe.u khˆong (d`ong 9) Gia’ su.’ ta.i mˆo.t th`o.i diˆe’m trong qu´a tr`ınh t`ım kiˆe´m ta c´o, kiˆe´n tr´uc A cˆa` n n di.ch vu., m`a l´uc n`ay Sol d˜a tho’a m˜an du.o c m di.ch vu cu’a A Nhu vˆa.y, c`on cˆa` n n − m di.ch vu cu’a A n˜u.a th`ı Sol tho’a m˜an l`a mˆo.t cˆa´u h`ınh Tˆo`i nhˆa´t, l`a m − n di.ch vu n`ay n˘a`m trˆen n − m th`anh phˆa` n kh´ac nhau Nhu vˆa.y, diˆe`u kiˆe.n dˆe’ tiˆe´p tu.c t`ım kiˆe´m l`a tˆo’ng: (sˆo´ di.ch vu hiˆe.n c´o cu’a Sol cˆo.ng v´o.i (n − m) th`anh phˆa` n nhˆan v´o.i sˆo´ di.ch vu nho’ nhˆa´t c´o thˆe’ cu’a mˆo.t th`anh phˆa` n) pha’i nho’ ho.n ngu.˜o.ng tˆo’ng sˆo´ di.ch vu Nˆe´u tho’a m˜an th`ı tiˆe´p tu.c t`ım kiˆe´m, c`on khˆong th`ı d`u.ng qu´a tr`ınh t`ım kiˆe´m

4.2 Ca’i tiˆe´n gia’i thuˆa.t lu a cho.n th`. anh phˆ` n v´a o.i tˆo’ng gi´a th`anh tˆo´i thiˆe’u

Nhu ta d˜a biˆe´t, c´ac th`anh phˆa` n COTS l`a c´ac th`anh phˆa` n du.o c dem ra thu.o.ng ma.i V`ı vˆa.y, khi xˆay du ng hˆe thˆo´ng phˆa` n mˆe` m su.’ du.ng c´ac th`anh phˆa`n COTS, ngo`ai yˆe´u tˆo´ k˜ı thuˆa.t l`a pha’i d´ap ´u.ng du.o. c kiˆe´n tr´uc phˆa` n mˆe` m, th`ı yˆe´u tˆo´ vˆe` m˘a.t gi´a th`anh cu’a COTS c˜ung l`a mˆo.t yˆe´u tˆo´ rˆa´t quan tro.ng Thˆong tin vˆe` gi´a th`anh cu’a th`anh phˆa` n COTS du.o c di k`em trong t`ai liˆe.u d˘a.c ta’ vˆe` th`anh phˆa` n, COTS Document V`ı vˆa.y, thuˆa.t to´an sau dˆay du.o c dˆe` xuˆa´t dˆe’ ca’i tiˆe´n thuˆa.t to´an t`ım kiˆe´m dˆe’ du.a ra nh˜u.ng cˆa´u h`ınh ph`u ho p dˆo`ng th`o.i pha’i tho’a m˜an mˆo.t gi´a th`anh cho tru.´o.c

Gia’i thuˆa.t COTSConfigs ca’i tiˆe´n v´o.i gi´a th`anh tˆo´i thiˆe’u

2 function brandAndBound(i, Sol, S) // gia’i thuˆa.t nh´anh cˆa.n

4 for j := 1 to size(Ci.R) do // thu. c hiˆe.n v´o.i tˆa´t ca’ c´ac di.ch vu

// thu.’ gom di.ch vu Ci.Ri v`ao Sol

11 else // nhu.ng nˆe´u vˆa˜n c`on c´ac di.ch gˆo´i v`a di.ch vu tr `ung

// nˆe´u tho’a m˜an th`ı tiˆe´p tu.c t`ım kiˆe´m, c`on khˆong th`ı thˆoi

Trang 7

Tru.´o.c tiˆen, thuˆa.t to´an yˆeu cˆa` u nhˆa.p v`ao ngu.˜o.ng gi´a cu’a mˆo.t cˆa´u h`ınh Thuˆa.t to´an s˜e thu. c hiˆe.n t`ım kiˆe´m tˆa´t ca’ c´ac cˆa´u h`ınh tho’a m˜an m`a tˆo’ng gi´a th`anh cu’a c´ac th`anh phˆa` n s˜e nho’ ho.n ngu.˜o.ng gi´a cho tru.´o.c

maxCost := hkho.’ i ta.o mˆo.t gi´a tri ngu.˜o.ng gi´ai

Tu.o.ng tu. nhu gia’i thuˆa.t chuˆa’n COTSConfigs ch´ung ta c˜ung lˆa`n lu.o t thu.’ c´ac cˆa´u h`ınh (d`ong 5 v`a 6) Ch´ung ta thˆem v`ao kiˆe’m tra xem Sol c´o l`a mˆo.t cˆa´u h`ınh khˆong v`a nˆe´u Sol d˜a l`a mˆo.t cˆa´u h`ınh kiˆe’m tra cˆa´u h`ınh n`ay c´o tho’a m˜an vˆe` gi´a hay khˆong

Gia’ su.’ ta.i mˆo.t th`o.i diˆe’m trong qu´a tr`ınh t`ım kiˆe´m ta c´o, kiˆe´n tr´uc A cˆa`n n di.ch vu., m`a l´uc n`ay Sol d˜a tho’a m˜an du.o. c m di.ch vu cu’a A Nhu vˆa.y, c`on cˆa`n n − m di.ch vu cu’a A n˜u.a th`ı Sol tho’a m˜an l`a mˆo.t cˆa´u h`ınh Tˆo`i nhˆa´t, l`a n − m di.ch vu n`ay n˘a`m trˆen m − n th`anh phˆa` n kh´ac nhau Nhu vˆa.y, diˆe` u kiˆe.n dˆe’ tiˆe´p tu.c t`ım kiˆe´m l`a tˆo’ng: (gi´a th`anh hiˆe.n ta.i cu’a Sol cˆo.ng v´o.i (m − n) th`anh phˆa` n nhˆan v´o.i gi´a nho’ nhˆa´t c´o thˆe’ cu’a mˆo.t th`anh phˆa`n) pha’i nho’ ho.n ngu.˜o.ng gi´a cho tru.´o.c o.’ trˆen

4.3 Nhˆa n x´et vˆ` hai gia’i thuˆe a t ca’i tiˆe´n

Thuˆa.t to´an ´ap du.ng tu tu.o.’ng gia’i thuˆa.t nh´anh cˆa.n dˆe’ thu c hiˆe.n qu´a tr`ınh t`ım kiˆe´m lu a cho.n cˆa´u h`ınh ho p lˆe v`a tho’a m˜an tiˆeu ch´ı du th`u.a d˜u liˆe.u tˆo´i thiˆe’u v`a tˆo’ng gi´a th`anh tˆo´i thiˆe’u Do d´o, khi so s´anh v´o.i gia’i thuˆa.t COSTConfigs cˆo’ diˆe’n, sˆo´ lu.o ng n´ut cˆa` n duyˆe.t trong hai gia’i thuˆa.t s˜e gia’m di rˆa´t nhiˆe` u V`ı khi ch´ung ta kiˆe’m tra ngu.˜o.ng m`a thˆa´y khˆong tho’a m˜an th`ı thuˆa.t to´an s˜e khˆong tiˆe´p tu.c di theo nh´anh d´o n˜u.a Tuy nhiˆen, trong tru.`o.ng ho p tˆo`i nhˆa´t th`ı dˆo ph´u.c ta.p t´ınh to´an cu’a hai gia’i thuˆa.t d˜a ca’i tiˆe´n n`ay vˆa˜n l`a O(2n

)

Ngo`ai hai thuˆa.t to´an d˜a ca’i tiˆe´n, t´ac gia’ c`on bˆo’ sung thˆem c´ac tiˆeu ch´ı vˆe` tˆo´i thiˆe’u h´oa du th`u.a d˜u liˆe.u v`a tˆo’ng gi´a th`anh V`ı vˆa.y, cˆa´u h`ınh t`ım du.o c sau khi thu c hiˆe.n hai gia’i thuˆa.t n`ay l`a duy nhˆa´t v`a tˆo´i u.u nhˆa´t theo tiˆeu ch´ı cho tru.´o.c Dˆay l`a mˆo.t kˆe´t qua’ kh´a quan tro.ng khi kˆe´t qua’ cu’a gia’i thuˆa.t COSTConfigs cˆo’ diˆe’n cho biˆe´t tˆa´t ca’ c´ac cˆa´u h`ınh ho p lˆe

5 CA’ I TIˆE´N M ˆA˜U T `AI LIˆE U COTSDocument,

D ˘A C TA’ TH `ANH PH ˆA` N COTS Dˆe’ phu.c vu cho mu.c d´ıch t`ım kiˆe´m v`a lu a cho.n th`anh phˆa` n COTS th`ı viˆe.c dˆa`u tiˆen l`a pha’i di.nh ngh˜ıa mˆo.t mˆa˜u XML d˘a.c ta’ COTSDocument chuˆa’n cho kho d˜u liˆe.u COTS XML Dˆe’ thu. c hiˆe.n d˘ang k´y c´ac di.ch vu v`ao kho d˜u liˆe.u COTS XML, c´ac nh`a cung cˆa´p (Exporter) cˆa` n mˆo ta’ thˆong tin vˆe` c´ac di.ch vu cu’a m`ınh theo mˆa˜u d˘a.c ta’ n`ay C´ac thˆong tin ch´ınh trong mˆo.t mˆa˜u d˘a.c ta’ gˆo`m c´o ([1]):

// Di.nh ngh˜ıa IDL cu’a giao diˆe.n th`anh phˆa` n theBuffer

module theBuffer {

// giao diˆe.n cung cˆa´p

interface Buffer {

void write(in long x)

long read()

}

}

// giao diˆe.n yˆeu cˆa` u

interface out {

Trang 8

oneway void print(in long x)

}

}

h?xml-stylesheet type=“text/xsl” href=“http://www.cotstrader.com/

COTS-XMLStyle.xsl”?i hCOTScomponent name=“theBuffer”

xmlns=“http://www.cotstrader.com/COTS-XMLSchema.xsd”

xmlns:types=“http://www.w3.org/2000/10/XMLSchema”i

hfunctionali h/functionali

hpropertiesi h/propertiesi

hpackagingi h/packagingi

hmarketingi h/marketingi

h/COTScomponenti

• C´ac mˆo ta’ mang t´ınh ch´u.c n˘ang (Functional description) ([1]): Phˆa` n dˆa` u tiˆen mˆo ta’ tˆa´t ca’ c´ac kh´ıa ca.nh mang t´ınh chˆa´t t´ınh to´an cu’a th`anh phˆa` n, bao gˆo`m tˆa.p c´ac giao diˆe.n cung cˆa´p v`a yˆeu cˆa` u Phˆa` n n`ay c´o 3 phˆa` n ch´ınh du.o c go.i l`a providedInterfaces, requiredInterfaces, v`a serviceAccessProtocols ([1, 5, 6])

• C´ac mˆo ta’ khˆong mang t´ınh ch´u.c n˘ang (Non-functional description): su.’ du.ng c´ac kiˆe’u W3C cho mˆo ta’ c´ac loa.i thˆong tin n`ay

• C´ac r`ang buˆo.c vˆe` d´ong g´oi/kiˆe´n tr´uc: Ch´u ´y r˘a`ng, c˜ung giˆo´ng nhu phˆa` n trˆen, c´ac thˆong tin vˆe` g´oi v`a ph´at triˆe’n c´ac th`anh phˆa` n c´o thˆe’ du.o c mˆo ta’ tru c tiˆe´p theo mˆo.t k´y ph´ap d˘a.c biˆe.t v`a miˆeu ta’ trong the’ hdescriptioni cu’a mˆa˜u XML, ho˘a.c du.o c lu.u o.’ ngo`ai v`a su.’ du.ng tham chiˆe´u href dˆe´n n´o

Dˆ` xuˆe a´t th`anh phˆ` n bˆa o’ sung trong COTS DOCUMENT

C´ac thˆong tin vˆe` marketing: C´ac loa.i thˆong tin diˆe’n h`ınh o.’ dˆay cˆa`n mˆo ta’ bao gˆo`m: ba’n quyˆe` n, ch´u.ng nhˆa.n, thˆong tin nh`a cung cˆa´p Ch´u ´y thˆong tin trong the’ hexpirydatei v`a the’ hcosti l`a rˆa´t quan tro.ng, th´uc dˆa’y c´ac di.ch vu d˜a c˜u du.o c nˆang cˆa´p nhanh ho.n v`a t˘ang t´ınh ca.nh tranh trong mˆoi tru.`o.ng mo.’ Thˆong tin lu.u trong hai the’ n`ay du.o c c´ac trader t`ım kiˆe´m v`a lu. a cho.n th`anh phˆa` n tˆo´i u.u theo gi´a th`anh

hmarketingi

hlicense href=“http://www.cotstrader.com/samples/vendors/vendor3/theBuffer

/license.html”/i hcertificate href=“http://www.cotstrader.com/samples/vendors/vendor3/theBuffer

/lcard.pgp”/i hvendori

hcompanynameiVendor 3 Corp.h/companynamei

hwebpageihttp://www.cotstrader.com/samples/vendors/vendor3h/webpagei

hmailtoisales@cotstrader.vendor3.comh/mailtoi

haddressi

hzipi04120h/zipi

hstreetiCtra Sacramento s/nh/streeti

hcityiAlmeriah/cityi

hcountryiSpainh/countryi

Trang 9

hstreetiCampus de Teatinosh/streeti

hcityiMalagah/cityi

hcountryiSpainh/countryi

h/addressi

h/vendori

hcosti500h/costi

hcurrencyiUSDh/currencyi

h/marketingi

Nhu vˆa.y, nh˜u.ng thˆong tin d˘a.c ta’ trˆen du.o c coi l`a t`ai liˆe.u chuˆa’n m`a c´ac nh`a cung cˆa´p d`ung d˘a.c ta’ c´ac di.ch vu T`u d´o, c´ac trader m´o.i c´o co chˆe´ t`ım kiˆe´m v`a lu a cho.n th´ıch ho p Ch´u.c n˘ang v`a gi´a th`anh cu’a th`anh phˆa` n c˜ung c´o thˆe’ du.o c d´anh gi´a thˆong qua t`ai liˆe.u d˘a.c ta’ n`ay T´om la.i, thˆong tin trong mˆa˜u t`ai liˆe.u d˘a.c ta’ XML COTSDocument du.o c thˆe’ hiˆe.n qua H`ınh 2

H`ınh 2 C´ac thˆong tin c´o trong mˆa˜u d˘a.c ta’ th`anh phˆa` n

6 L ˆA P TR`INH THU C HI. Eˆ N CAC THU ˆ´ A T TOAN´

V `A D ´ANH GI ´A THU’ NGHIˆ. E M 6.1 Xˆay du. ng phˆ` n mˆa ` m thu.e ’ nghiˆe.m

Cˆong cu lu a cho.n: Visual C#, NET Dˆay l`a mˆoi tru.`o.ng, ngˆon ng˜u tiˆen tiˆe´n hiˆe.n nay Diˆe’m ma.nh cu’a mˆoi tru.`o.ng n`ay cho ph´ep ch´ung ta dˆe˜ d`ang ta.o c´ac ´u.ng du.ng nhanh trˆen nˆe` n hˆe diˆe`u h`anh Windows, dˆe˜ d`ang ta.o giao diˆe.n mˆo.t c´ach thˆan thiˆe.n Diˆe`u d˘a.c biˆe.t quan tro.ng, l`a ngˆon ng˜u n`ay hˆo˜ tro nh˜u.ng thu viˆe.n xu.’ l´y c´ac v˘an ba’n XML rˆa´t tˆo´t Dˆe’ phu.c vu thu.’ nghiˆe.m c´ac gia’i thuˆa.t, hˆe thˆo´ng d˜a du.o c xˆay du ng c`ung KS Nguyˆe˜n Thu Thuy’ v`a KS Nguyˆe˜n Lˆe Minh, Khoa CNTT, Tru.`o.ng DHBK H`a Nˆo.i bao gˆo`m c´ac l´o.p co ba’n l`a: Interface, InterfaceSet, COTSComponent, Configure, Architecture, Repository Dˆay l`a nh˜u.ng l´o.p mˆo ta’ c´ac kh´ai niˆe.m co ba’n phu.c vu cho gia’i thuˆa.t nhu.: kh´ai niˆe.m vˆe` tˆa.p giao diˆe.n cu’a mˆo.t th`anh phˆa` n, cˆa´u h`ınh, kho ch´u.a c´ac th`anh phˆa` n, kiˆe´n tr´uc phˆa` n mˆe` m Tiˆe´p theo, hˆe thˆo´ng xˆay

du. ng c´ac l´o.p ConfigGenerator, StandardConfigGenerator, MinCostConfigGenerator, MinDat-aConfigGenerator Trong d´o, l´o.p ConfigGenerator l`a mˆo.t l´o.p tr`u.u tu.o ng mˆo ta’ qu´a tr`ınh t`ım kiˆe´m, sinh ra c´ac cˆa´u h`ınh L´o.p StandardConfigGenerator du.o. c kˆe´ th`u.a t`u ConfigGenerator s˜e l˘a´p d˘a.t cu thˆe’ gia’i thuˆa.t sinh cˆa´u h`ınh, dˆay l`a gia’i thuˆa.t v´et ca.n d˜a dˆe` cˆa.p o.’ trˆen Tu.o.ng

tu. MinCostConfigGenerator v`a MinDataConfigGenerator c˜ung kˆe´ th`u.a t`u ConfigGenerator s˜e l˘a´p d˘a.t c´ac thuˆa.t to´an lu a cho.n cˆa´u h`ınh tˆo´i u.u theo gi´a th`anh, v`a lu a cho.n cˆa´u h`ınh gia’m thiˆe’u du th`u.a d˜u liˆe.u

6.2 Thu.’ nghiˆe.m c´ac thuˆa.t to´an

Trang 10

Du. a trˆen thu viˆe.n d˜a ph´at triˆe’n ta xˆay du ng chu.o.ng tr`ınh phˆa`n mˆe`m thu.’ nghiˆe.m c´ac gia’i thuˆa.t d˜a tr`ınh b`ay Chu.o.ng tr`ınh cho ph´ep na.p v`ao c´ac tˆe.p XML, mˆo.t tˆe.p ch´u.a d˜u liˆe.u vˆe` kho ch´u.a c´ac th`anh phˆa` n ´u.ng viˆen, v`a mˆo.t tˆe.p mˆo ta’ vˆe` kiˆe´n tr´uc phˆa` n mˆe` m cˆa` n xˆay du ng Thu. c nghiˆe.m c´ac thuˆa.t to´an d˜a du.o c tiˆe´n h`anh trˆen hai tˆe.p XML:

- GTSCandidates.xml: Tˆe.p ch´u.a d˜u liˆe.u vˆe` kho ch´u.a c´ac th`anh phˆa` n ´u.ng viˆen

- GTSArchitecture.xml: Tˆe.p ch´u.a d˜u liˆe.u vˆe` kiˆe´n tr´uc phˆa` n mˆe` m cˆa` n xˆay du ng

C´ac tˆa.p XML mˆo ta’ c´ac th`anh phˆa` n ´u.ng viˆen cˆa` n xˆay du ng v`a c´ac th`anh phˆa`n ´u.ng viˆen c´o trong kho du.o c lˆa´y t`u b`ai to´an diˆe’n h`ınh ([1, 2, 3]): Thiˆe´t kˆe´ di.ch vu chuyˆe’n dˆo’i khuˆon da.ng c´ac a’nh khˆong gian, c´o tˆen go.i l`a GTS (Geographic Translator Service) Nˆe´u t`ım kiˆe´m theo thuˆa.t to´an v´et ca.n ban dˆa` u th`ı sˆo´ lu.o ng n´ut trˆen cˆay t`ım kiˆe´m pha’i duyˆe.t qua l`a 958 n´ut, v`a kˆe´t qua’ thu du.o c l`a 24 cˆa´u h`ınh tho’a m˜an Nˆe´u t`ım kiˆe´m theo gia’i thuˆa.t tˆo´i u.u vˆe` gi´a th`anh Khi ngu.`o.i d`ung nhˆa.p v`ao gi´a th`anh l`a 2200 USD th`ı s˜e chı’ cho mˆo.t kˆe´t qua’ cˆa´u h`ınh tho’a m˜an, v`a sˆo´ n´ut cˆa` n duyˆe.t qua l`a 855 Nˆe´u t`ım kiˆe´m theo gia’i thuˆa.t tˆo´i u.u vˆe` d˜u liˆe.u, t´u.c tˆo´i u.u vˆe` khˆong du th`u.a c´ac di.ch vu Kˆe´t qua’ thu du.o c chı’ l`a mˆo.t cˆa´u h`ınh duy nhˆa´t, v´o.i sˆo´ di.ch vu tˆo’ng cˆo.ng chı’ l`a 7, v`u.a d´ung dˆo´i v´o.i sˆo´ di.ch vu m`a kiˆe´n tr´uc phˆa` n mˆe` m yˆeu cˆa` u Kˆe´t qua’ so s´anh thu.’ nghiˆe.m c´ac gia’i thuˆa.t du.o c tˆo’ng ho p trong Ba’ng 1

Ba’ng 1 Kˆe´t qua’ thu.’ nghiˆe.m v´o.i c´ac thuˆa.t to´an

Sˆo´ n´ut cˆa` n duyˆe.t 958 823 855 Sˆo´ cˆa´u h`ınh thu du.o. c 24 1 1 (*) Gia’i thuˆa.t COTSConfigs chuˆa’n

(**) Gia’i thuˆa.t t`ım kiˆe´m th`anh phˆa` n COTS tˆo´i u.u theo du th`u.a d˜u liˆe.u

(***) Gia’i thuˆa.t t`ım kiˆe´m th`anh phˆa` n COTS tˆo´i u.u theo gi´a th`anh

6.3 D´anh gi´a v`a kˆe´t luˆa n

Kˆe´t qua’ thu.’ nghiˆe.m cho thˆa´y ´ap du.ng tu tu.o.’ng nh´anh cˆa.n trong thuˆa.t to´an lu a cho.n v`a t`ım kiˆe´m c´ac cˆa´u h`ınh ho p lˆe cho gia’i thuˆa.t COTSConfigs d˜a du.a la.i hiˆe.u qua’ tˆo´t Sˆo´ lu.o ng c´ac n´ut cˆa` n duyˆe.t d˜a gia’m di l`a do ta khˆong cˆa`n t`ım kiˆe´m to`an bˆo c´ac tˆo’ ho p cˆa´u h`ınh trong b`ai to´an duyˆe.t cˆay m`a chı’ cˆa` n lu a cho.n nh´anh ph`u ho p dˆe’ du.a ra kˆe´t qua’ t`ım kiˆe´m cuˆo´i c`ung Viˆe.c du.a v`ao c´ac tiˆeu ch´ı t`ım kiˆe´m cho c´ac cˆa´u h`ınh cˆa` n lu a cho.n - tˆo´i u.u theo du th`u.a d˜u liˆe.u v`a tˆo´i u.u theo gi´a th`anh l`am cho phu.o.ng ph´ap xˆay du ng phˆa` n mˆe` m du a trˆen c´ac th`anh phˆa` n COTS tro.’ nˆen kha’ thi ho.n trong thu c tˆe´ Trong b`ai b´ao d˜a tr`ınh b`ay c´ac gia’i ph´ap nˆang cao hiˆe.u qua’ tiˆe´n tr`ınh t`ım kiˆe´m v`a lu a cho.n th`anh phˆa` n COTS, ph´at triˆe’n gia’i thuˆa.t t`ım kiˆe´m v`a lu a cho.n th`anh phˆa` n COTS tˆo´i u.u theo hu.´o.ng gia’m thiˆe’u du th`u.a d˜u liˆe.u v`a gi´a th`anh cu’a th`anh phˆa` n COTS v`a thu.’ nghiˆe.m gia’i thuˆa.t v`ao hˆe thˆo´ng GTS (Geographic Translator Service)

B`ai b´ao d˜a tr`ınh b`ay d´anh gi´a thu.’ nghiˆe.m c´ac gia’i thuˆa.t t`ım kiˆe´m, lu a cho.n c´ac th`anh phˆa` n phˆa` n mˆe` m theo c´ac tiˆeu ch´ı Dˆay l`a mˆo.t vˆa´n dˆe` quan tro.ng trong ph´at triˆe’n phˆa`n mˆe` m hu.´o.ng th`anh phˆa` n cho ph´ep lu a cho.n th`anh phˆa`n ph`u ho p nhˆa´t v´o.i d˘a.c ta’ kiˆe´n tr´uc cˆa`n xˆay

du. ng.

Mˆo.t sˆo´ hu.´o.ng ph´at triˆe’n cu’a b`ai to´an n`ay nhu kiˆe’m tra t´ınh d´ung d˘a´n cu’a c´ac d˘a.c ta’ th`anh phˆa` n theo c´ac d˘a.c ta’ XML mˆo.t c´ach tu dˆo.ng, mo.’ rˆo.ng tiˆeu ch´ı lu a cho.n c´ac th`anh phˆa` n phˆa` n mˆe` m du a trˆen d´anh gi´a c´ac tu.o.ng t´ac cu’a n´o v´o.i c´ac th`anh phˆa`n d˜a c´o s˘a˜n trong

Ngày đăng: 10/06/2017, 17:17

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w