1. Trang chủ
  2. » Mẫu Slide

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 - Trường Đại Học Quốc Tế Hồng Bàng

7 11 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 7
Dung lượng 312,71 KB

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

Nội dung

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 deve[r]

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

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

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

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

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

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.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

´

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])

(ch´u.a danh s´ach c´ac th`anh phˆa` n ´u.ng cu.’ viˆen)

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

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

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

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

//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

⇐ 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

// 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

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]):

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 {

Ngày đăng: 01/04/2021, 16:25

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