MỤC LỤC
LỜI MỞ ĐẦU .1
1. TỔNG QUAN VỀHỆTHỐNG DỰA TRÊN CÁC THÀNH PHẦN .3
1.1. Hệthống dựa trên thành phần là gì?.3
1.1.1. Thành phần phần mềm. . 3
1.1.2. Hệthống dựa trên thành phần . 4
1.2. Hệthống thời gian thực là gì? .6
2. KIẾN TRÚC HỆTHỐNG DỰA TRÊN THÀNH PHẦN.7
3. TÌM HIỂU MÔ HÌNH THÀNH PHẦN .8
3.1 Thiết kếdưới dạng công thức logic .8
3.2 Giao diện và hợp đồng .9
3.3. Kết hợp hợp đồng. .11
4. MÔ HÌNH THÀNH PHẦN THỜI GIAN THỰC.18
4.1. Các thiết kếcó nhãn ràng buộc vềthời gian sửdụng nhưdịch vụ. .18
4.2. Sửdụng các ngôn ngữhình thức có nhãn ràng buộc vềthời gian để đặc các
giao thức tương tác thời gian thực và đặc tảtiến trình. .22
4.3. Các hợp đồng thời gian thực. .23
4.4. Thành phần bị động .25
4.5. Thành phần chủ động .28
5. ỨNG DỤNG MÔ HÌNH THÀNH PHẦN TRONG HỆTHỐNG NHÚNG .30
KẾT LUẬN .33
41 trang |
Chia sẻ: netpro | Lượt xem: 1645 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Khóa luận Mô hình hóa các hệ thống dựa trên các thành phần, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
tính mà yêu cầu giá trị của biến trong FDr mà được cung cấp.
• Pro là một giao thức, là tập con của dạng thức
{ ?, !| }* { ?, !| }*p rm m m Fd m m m Fd∈ ∪ ∈ . Chỉ có hành vi của các
phép chiếu trên { ?, !| }*pm m m Fd∈ và { ?, !| }*rm m m Fd∈ thuộc về
Pro là được chấp nhận.
Hợp đồng của một thành phần biểu diễn cái mà thành phần mong đợi từ môi
trường và cái nó cung cấp cho môi trường.
Các biến trong Fd là chỉ đọc đối với các hợp đồng khác. Invp trong một hợp đồng
biểu diễn một thuộc tính của các biến trong hợp đồng mà nó cung cấp cho môi trường,
và do vậy phải được đảm bảo bởi bất kì phương thức nào của hợp đồng.
Có lẽ nó kém rõ ràng hơn một giao thức, và cách nó quan hệ với đặc tả của các
dịch vụ. Ta cũng làm rõ khái niệm này như là một phần của nghiên cứu. Đối với
phương thức m, kí hiệu ?m và !m như là sự dẫn ra (gán giá trị cho tham số) và kết thúc
(lấy kết quả dịch vụ) của m. Ở đây sử dụng CSP (truyền thông liên tiến trình -
Communicating Sequential Processes1). Sau đó nó yêu cầu mỗi ?m phải tương ứng
với chính xác một !m theo sau, và ngược lại mỗi !m phải tương ứng đúng với một yêu
cầu hành động !m. Đối với một phương thức m, nó có thể chấp nhận một vài luồng để
sử dụng m tại cùng một thời điểm (ví dụ như vài bản sao của m). Trong trường hợp
này, đối với một ?m và và tương ứng với !m có thể có vài xuất hiện của ?m giữa
chúng. Số tối đa của các yêu cầu ?m không kết thúc tương ứng tại một thời điểm là độ
đồng thời mà m có thể cung cấp và được chỉ rõ trong giao thức. Bình thường, bất kì
phương thức m chỉ có thể được sử dụng lẫn nhau không bao gồm chính nó và các
phương thức khác trong thành phần. Trong trường hợp này, giao thức có thể được chỉ
ra như là một biểu thức chính quy {? ! | }*m m m Md∈ . Khi tất cả các phương thức m
có thể được sử dụng lẫn nhau không bao gồm chính nó và song song với các phương
thức khác, giao thức có thể được chỉ ra như là một biểu thức chính quy
{? ! }*m Md m m∈ với biểu diễn sự chèn vào song song toán tử hợp.
Định nghĩa 4:
1
Wikipedia,
11
Hợp đồng 1 1 1 1 1 1 1 1( , ), , , , ,p r p rCtr I I MSpec Init Inv Inv Pro= được làm mịn của
đồng 2 2 2 2 2 2 2 2( , ), , , , ,p r p rCtr I I MSpec Init Inv Inv Pro= được biểu diễn là
1 2Ctr Ctr⊑ nếu và chỉ nếu:
• 1 2p pFd Fd⊆ , 1 2r rFd Fd⊆ , và 2 1 1 1p pInit Fd Init Fd= với hàm f và một
tập hợp A, f A biểu diễn cho sự thu hẹp (hạn chế) của f trên A.
• 1 2p pMD Md⊆ và 1 2r rMD Md⊆ .
• Đối với tất cả phương thức op được khai báo trong 1pMd thì
1 2( ) ( )MSpec op MSpec op⊑ và 2 1p pInv Inv⇒ .
• Đối với tất cả phương thức op được khai báo trong 2rMd thì
2 1( ) ( )MSpec op MSpec op⊑ và 1 2r rInv Inv⇒ .
• 1 1 2 1{ ?, !| } { ?, !| }p pPro m m m Fd Pro m m m Fd∈ ⊆ ∈ và
2 2 1 2{ ?, !| } { ?, !| }r rPro m m m Fd Pro m m m Fd∈ ⊆ ∈ .
Ta chứng tỏ định nghĩa này như sau. Ctr2 cung cấp tất cả các dịch vụ mà Ctr1
cung cấp, thậm chí còn tốt hơn và có thể cung cấp nhiều hơn, Ctr2 nên cần ít các dịch
vụ hơn Ctr1. Điều kiện 1 2r rInv Inv⇒ nói lên rằng thuộc tính của các biến đảm bảo
bởi Ctr2 cũng chắc chắn như bởi Ctr1. Trong phần tóm tắt, hợp đồng Ctr2 cung cấp
nhiều hơn, các dịch vụ tốt hơn và cần ít hơn các dịch vụ từ môi trường so với Ctr1. Do
vậy, ta dùng Ctr2 để thay thế Ctr1 mà không mất bất kì dịch vụ nào.
3.3. Kết hợp hợp đồng.
Các hợp đồng cáo thể được kết hợp lại theo nhiều cách để hình thành một hợp
đồng mới. Một cách khó khăn hơn cho việc tính toán một hợp đồng đa hợp là tính toán
về giao thức của nó. Điều này đã được loại bỏ trong lí thuyết hợp đồng. Cách đơn giản
nhất để kết hợp hai hợp đồng là đặt chúng cạnh nhau nếu chúng có các tập hợp đặc
tính và các phương thức rời nhau.
Định nghĩa 5
12
Lấy ( , ), , , , , , 1,2i pi ri i i pi ri iCtr I I MSpec Init Inv Inv Pro i= = , là 2 hợp đồng có
những tập hợp (yêu cầu và cung cấp) thuộc tính, phương thức riêng biệt. Phép kết hợp
của Ctr1 và Ctr2 là hợp đồng
1 2 1 2 1 2 1 2 1
1 2
2 1 2
( , ), , ,
, , ( )
p p r r p
p r r 1 2 1 2
I I I I MSpec MSpec Init Init Inv
Ctr Ctr
Inv Inv Inv Pro Pro Pro Pro
∪ ∪ ∪ ∪ ∪
∪ =
∪ ∪ ∪
Chỉ một điều cần thiết để giải thích trong định nghĩa trên là làm thế nào để giao
thức cho hợp các hợp đồng được định nghĩa. Khi đặt các hợp đồng cạnh nhau, bởi vì
chúng được giả định là độc lập, tất cả các phương thức và đặc tính của chúng có thể
được sử dụng song song. Thành phần song song 1 2Pro Pro đã xác định chính xác vấn
đề. Tuy nhiên, hợp đồng ghép cũng phải cho phép các phương thức trong một thành
phần độc lập được sử dụng theo cách nguyên bản.
Có một cách khác để kết hợp hợp đồng là kết nối các phương thức được yêu cầu
của một hợp đồng đến với các phương thức cung cấp của hợp đồng khác. Lấy
( , ), , , , , , 1,2i pi ri i i pi ri iCtr I I MSpec Init Inv Inv Pro i= = là các hợp đồng có các tập
hợp đặc tính và phương thức cung cấp phù hợp, các đặc tính và phương thức yêu cầu
phù hợp, ví dụ như 1 2( )p pf Fd Fd∈ ∩ suy ra 1 2( ) ( )Init f Init f= và
1 2 1 2( ) ( )p p r rop Md Md Md Md∈ ∩ ∪ ∩ suy ra 1 2( ) ( )MSpec op MSpec op⇔ . Giả
định rằng 1 2r pI I⊆ , 2 1p rInv Inv⇒ , 1 2( ) ( )MSpec op MSpec op⊑ đối với tất cả
1rop Md∈ .
Cắm đầy đủ của 1Ctr tới 2Ctr được biểu diễn là 1 2Ctr Ctr>> được định nghĩa là:
1 2 2 2
1 2
1 1 2 1 2 2,
( , ), ,
, ,
p p r
r p p r
I I I MSpec
Ctr Ctr
Init Fd Init Inv Inv Inv Pro
∪
>> =
∧⊎
Ở đây, ta nhận thấy tập các yêu cầu không phải là 1 2r rI I∪ mà chỉ là 2rI bởi vì
do 2Ctr được làm mịn từ 1Ctr nên 2Ctr có đầy đủ tập các yêu cầu của 1Ctr . Và vì thế,
1Ctr cắm đầy đủ vào 2Ctr .
Với 1 2( )( )Init Init x⊎ được định nghĩa là
13
1 2 1 2
1 1 2
2 2 1
( ) ( ) nê'u ( ) ( )
( ) nê'u ( ) \ ( )
( ) nê'u ( ) \ ( )
Init x Init x x dom Init dom Init
Init x x dom Init dom Init
Init x x dom Init dom Init
= ∈ ∩
∈
∈
Ta thảo luận ở đây cách mà giao thức Pro được tính toán từ , 1,2iPro i = với
hợp đồng 1 2Ctr Ctr>> .
• Thứ nhất, hợp đồng ghép 1 2Ctr Ctr>> cũng phải cho phép các phương thức
của một thành phần riêng biệt được sử dụng chúng theo cách nguyên bản.
Vậy 1 2Pro Pro∪ phải bao gồm Pro .
• Các phương thức m từ 2Ctr thì không được yêu cầu bởi 1Ctr có thể được sử
dụng song song với các phương thức trong 1Ctr . Vậy Pro phải bao gồm
2 1( {! ,? | \ }*)2 p rPro Pro m m m Md Md∩ ∈ .
• Câu hỏi ở đây là làm thế nào mà một phương thức m trong 2 1p rMd Md∩ lại
được sử dụng với một phương thức trong 1pMd . Câu trả lời phụ thuộc vào độ
song song của m. Việc tính toán cho trường hợp này rất phức tạp và được để
mở tại đây. Để an toàn, ta không cho phép chúng chạy song song (mặc dù
như vậy thì hiệu quả kém hơn).
Vậy ta định nghĩa Pro như sau:
2 2 1(Pr {! ,? | \ }*)1 2 1 p rPro Pro Pro Pro o m m m Md Md= ∪ ∪ ∩ ∈
Khi 1 2Ctr Ctr>> được định nghĩa, ta nói rằng 1Ctr có khả năng kết nối với 2Ctr .
Chú ý rằng khi kết hợp hai hợp đồng theo cách này thì thành phần kết quả có thể
không được sử dụng để thay thế 1Ctr . Lí do là nó có thể yêu cầu cái gì đó từ môi
trường mà 1Ctr không cung cấp.
Định lí 1
Lấy 1Ctr là khả kết nối với 2Ctr . Nếu 2Ctr là đóng (có nghĩa là 2rI = ∅ ) thì
1 1 2( )Ctr Ctr Ctr>>⊑ .
Chứng minh:
14
Bằng việc kiểm tra trực tiếp từ định nghĩa của toán tử cắm(plug operator) và định
nghĩa của làm mịn thiết kế. Định nghĩa có thể được chỉnh sửa trong trường hợp phổ
biến là 1 2r pI I và lí thuyết vẫn đúng. Bây giờ hãy hình thức hóa khái niệm của thành
phần. Bằng trực giác, một thành phần bị động là một cài đặt của một giao diện sử dụng
dịch vụ từ các thành phần bị động khác thông qua các hợp đồng của chúng. Với một
trình bày đơn giản, ta sử dụng một kiểu kiến trúc đơn giản với khởi tạo chủ/khách và
truyền thông đồng bộ.
Định nghĩa 6
Một thành phần bị động là một tập hợp hữu hạn ,Comp Ctr Mcode= với
Comp được xác định với tên của thành phần gồm có:
• Một hợp đồng ( , ), , , , ,p r p rCtr I I MSpec Init Inv Inv Pro=
• Mcode gán mỗi phương thức op trong pMd một thiết kế xây dựng từ các
toán tử cơ bản và phương thức trong
r
I như là ánh xạ của các vết trong thiết
kế này mà bấy kì
r
op Md∈ được thay thể bởi ? !op op từ bắt đầu và kết thúc
hành động, {? ! | }
r
m m m Md∈ được bao gồm trong Pro . Điều kiện sau đây
phải được thỏa mãn bởi Mcode : ( ( ) ( ))MSpec op Mcode op⊑ và pInv được
giữ bởi bất kì phép toán nào trong Mcode .
• Cài đặt của tất cả phương thức m phải tương thích với độ song song của
chúng được mô tả trong Pro , nghĩa là hoặc một phương thức m không phải
là một phương thức đặc biệt dùng chung hoặc một số bản sao thích hợp của m
tồn tại.
Thành phần bị động Comp được nói là cài đặt bởi Ctr .
Vậy một thành phần phải được kiểm chứng bởi thiết kế của nó. Ví dụ như cài đặt
của các phương thức phải được kiểm chứng thông qua các đặc tả của chúng. Tính
đúng đắn của nó có thể được kiểm chứng riêng biệt từ môi trường.
Lấy , , 1,2i i iComp Ctr Mcode i= = là các thành phần, với 1 2Ctr Ctr>> được
định nghĩa. Lấy được Mcode′ từ 1Mcode bằng việc thay thế mỗi lần xuất hiện của
1 2( )r pop Md Md∈ ∩ bằng 2( )Mcode op trong dãy của 1Mcode . Thật dễ dàng để
15
kiểm tra toàn bộ toán tử cắm định nghĩa trong các hợp đồng được mang theo trên các
thành phần.
Định lí 2:
1 2 1 2 2 1, \Ctr Ctr Mcode Mcode Md Md′>> ∪ là một thành phần.
Ví dụ: Lấy _double quadr là một thành phần với một dịch vụ
( : , , ; : 1)dquadr in real a b c out real x mà đưa ra là một đáp án x1 của phương trình
bậc 2 theo x2: 4 2 0ax bx c+ + = . Thành phần _double quadr yêu cầu dịch vụ
( : , , ; : 1)dquadr in real a b c out real x từ thành phần khác mà khi được gọi với các
tham số a, b, c thích hợp thì sẽ trả lại đáp án của phương trình 2 0ax bx c+ + = .
Thành phần _double quadr được mô tả bằng đoạn mã bên dưới.
Phần chủ động gồm có vài tiến trình và một giao diện yêu cầu, mà có thể được
gắn và phần bị động. Một tiến trình được mô tả bởi một chương trình sử dụng các dịch
vụ từ phần bị động để phản ứng lại các sự kiện từ môi trường của hệ thống. Các sự
kiện không được điều khiển bởi hệ thống. Vậy các sự kiện thú vị từ môi trường và dịch
vụ hệ thống đi cùng nhau với các đặc tả của nó và giao thức tương tác hình thành hợp
đồng giữa hệ thống và môi trường của nó.
Thực tế, đây là một mô hình thành phần dùng để giải bài toán phương trình bậc 4
dạng đặc biệt. Nếu ta đặt X = x2 thì phương trình sẽ trở thành dạng bậc 2.
component double_quadr {
provide method {
name { dquadr(in : real a, b, c; out : real x1) },
specification{ ac ≤ 0 • ax14 + bx12 + c = 0}
}
required method{
name{ quadr(in : real a, b, c; out : real x1)},
specification{ ac ≤ 0 • ax12+bx1+c = 0∧x1 ≥ 0}
}
protocol{ (?dquadr!dquadr)∗ ⊕ (?quadr!quadr)∗}
16
implementation{
name{ dquadr(real in : a, b, c, real out : x1)},
code{quadr(in : a, b, c; out : x1); x1 := sqrt(x1)}
}
}
Định nghĩa 7
Một giao diện hệ thống là một cặp ( , , )pSI E Fd SMd= với pSMd là một tập
hợp hữu hạn các phương thức, Fd là một tập hợp hữu hạn các đặc tính, và E là tập
hợp hữu hạn các sự kiện.
Định nghĩa 8
Một hợp đồng hệ thống là một tập hợp hữu hạn
ys , , ,S Ctr SI SMSpec Inv Behav=
với
• ( , , )pSI E Fd SMd= là một giao diện hệ thống được định nghĩa ở trên.
• MSpec là một đặc tả phương thức kết hợp với mỗi phương thức
( , )op in out trong pSMd với một thiết kế , FPα với
( \ ( )) din out Fα ∪ ⊆ .
• Behav là một mô tả hành bi bên ngoài. Nó là một tập con hữu hạn của
{ , | và }*pe m e E m SMd∈ ∈ . Mỗi yếu tố của Behav được gọi là một đặc
tả tiến trình.
Một nghĩa không chính thức của dãy α trong Behav là nếu môi trường hệ
thống cung cấp dãy các sự kiện như là biến cố trong α do vậy hệ thống cung cấp dãy
các dịch vụ (phương thức) chỉ rõ bởi α theo thức tự. Các phần tử của Behav được mô
tả bởi các luồng chương trình đang chạy song song. Một iểu hiện ngữ nghĩa của
Behav có thể được định nghĩa trong logic thời gian phù hợp cho miền ứng dụng đang
nghiên cứu.
Định nghĩa 9
Một thành phần chủ động , ,ActComp Ctr SysCtr Mcode= bao gồm
17
• Một hợp đồng ( , ), , , , ,p r p rCtr I I MSpec Init Inv Inv Pro= với giao diện
cung cấp rỗng, ( , )pI = ∅ ∅ .
• Một hợp đồng hệ thống ys , , ,S Ctr SI SMSpec Inv Behav= .
• Một cài đặt tiến trình Mcode gán mỗi một phương thức op trong pSMd
một thiết kế xây dựng từ các toán tử cơ bản và phương thức trong
r
I như
là phép chiếu vết của thiết kế này trong bất kì phương thức
r
op Md∈
được thay thế bởi ? !op op (tự bắt đầu và kết thúc hành động), trên
{? ,! | }
r
m m m Md∈ được bao gồm trong Pro . Điều kiện sau đây phải
được thỏa mãn bởi : ( ( ) ( ))Mcode SMspec op Mcode op⊑ cho tất cả
pop SMd∈
Một hệ thống trong mô hình thành phần này là một thành phần chủ động được
gắn vào một thành phần bị động đóng.
Định nghĩa 10
Một hệ thống là một cặp của một thành phần chủ động
, ,ActComp Ctr SysCtr Mcode=
và một thành phần bị động đóng ,Comp Ctr Mcode′ ′= với Ctr Ctr′>> đã
được định nghĩa.
Vậy một hệ thống thành phần là một hệ thống đóng không yêu cầu bất kì dịch vụ
nào từ môi trường và cung cấp dịch vụ của nó cho môi trường như là phản ứng của nó
đáp sự kiện kích thích từ môi trường. Đặc tả của một hệ thống là hợp đồng hệ thống
ysS Ctr . Hai hệ thống là tương đương nhau nếu và chỉ nếu chúng có cùng đặc tả,
nghĩa là chúng có giao diện hệ thống tương đương. Định lí sau đây cho thấy đặc trưng
quan trọng nhất của lập trình dựa trên thành phần.
Định lí 3
Lấy ( , )S ActComp Comp′= là một hệ thống làm thành từ thành phần chủ động
, ,ActComp Ctr SysCtr Mcode= và thành phần bị động ,Comp Ctr Mcode′ ′ ′= .
18
Lấy ,Comp Ctr Mcode′′ ′′ ′′= là một thành phần bị động, Ctr Ctr′ ′′⊑ . Nên
( , )ActComp Comp′′ cũng là một hệ thống tương đương với S.
4. MÔ HÌNH THÀNH PHẦN THỜI GIAN THỰC
Các mô hình được trình bày trong phần trước có thể được mở rộng với một số
đặc tính về thời gian để trở thành mô hình thành phần cho hệ thống thời gian thực.
Trong phần này, ta thảo luận về cách thức thực hiện. Phần quan trọng của việc mở
rộng nằm ở các dịch vụ thời gian thực, các giao thức tương tác thời gian thực và các
hợp đồng thời gian thực. Các đặc tả của phương thức phải có thêm ràng buộc về thời
gian.
4.1. Các thiết kế có nhãn ràng buộc về thời gian sử dụng như dịch vụ.
Các hệ thống thời gian thực có một số ràng buộc về mặt thời gian trên các dịch
vụ như là thời gian đáp ứng và ràng buộc về tài nguyên như là yêu cầu bộ nhớ, băng
thông và tiêu thụ điện năng. Sử dụng lí thuyết lập trình thống nhất để xác định các dịch
vụ như thiết kế giúp ta dễ dàng mở rộng nên gọi là “thiết kế có nhãn ràng buộc về thời
gian” mà cũng có thể xác định các yêu cầu tài nguyên và các trường hợp thời gian thực
hiện xấu nhất cho một dịch vụ như là một mối quan hệ giữa tiền và hậu điều kiện cho
các thành phần chức năng của dịch vụ. Tiền điều kiện cho một phương thức là một vị
từ trên các biến chương trình cũng như các biến tài nguyên, và hậu điều kiện cho một
phương thức là một mối quan hệ trên các biến chương trình và các trường hợp thời
gian thực hiện dur xấu nhất và các biến tài nguyên. So với cách tiếp cận otomat thì
thiết kế có nhãn ràng buộc về thời gian thể hiện tốt hơn.
Ta có thiết kế có nhãn ràng buộc về thời gian , ,D FP FRα= với α là tập các
biến chương trình được sử dụng bởi phương thức, FP biểu diễn đặc tả chức năng và
FR biểu diễn đặc tả phi chức năng. Trong thiết kế trên, FP đã được chỉ ra ở phần
trước. FR là một vị từ của dạng thức q• n S q S⇒≙ với q là tài nguyên tiền điều kiện
cho phương thức trong giao diện được đề cập là giả định trên các tài nguyên được sử
dụng bởi phương thức và được đại diện như là vị từ trên các biến trong RES
( 1 nRES = {res ,...,res } là tập cố định các biến số nguyên). S là hậu điều kiện có ràng
buộc về thời gian cho phương thức mà quan hệ với mỗi lượng thời gian l tiêu tốn cho
việc thực thi phương thức và tài nguyên được sử dụng cho phương thức. S được đại
diện cho một vị từ trên các biến trong RES, α và l. Ta lấy một ví dụ mô tả cho ý nghĩa
của FR. Lấy , 0{x,y} FP xα ≥≙ ≙ • f 2y x= và 133 266 1FR P P+ =≙ • r
19
(( 133 1 0.001) ( 133 0 0.0005))P l P l= ⇒ ≤ ∧ = ⇒ ≤ . Khi ấy , ,FP FRα đại diện
cho thiết kế có nhãn ràng buộc về thời gian để tính toán y x= cho một số x không
âm với thời gian không quá 0.001 đơn vị thời gian khi thực hiện bằng bộ xử lí 133
MHz và không quá 0.0005 đơn vị thời gian khi thực hiện với bộ xử lí 266MHz.
Làm mịn thiết kế có nhãn ràng buộc về thời gian
Cũng giống với thiết kế trong mô hình thành phần, thiết kế có nhãn ràng buộc về
thời gian cũng có khái niệm làm mịn. Nó chỉ mở rộng thêm một phần nhỏ so với khái
niệm làm mịn thiết kế được nêu ra ở phần trước.
Một thiết kế 2 2 2, ,D FP FRα= được gọi là làm mịn từ 1 1 1, ,D FP FRα=
(biểu diễn là 1 2D D⊑ ) nếu và chỉ nếu
2 1 2 1( , , , ) ( , )ok ok v v FP FP r l FR FR′ ′∀ • ⇒ ∧ ∀ • ⇒
Với v, v’ là các véc tơ của biến chương trình, r biểu thị một véc tơ của biến tài
nguyên, 1 nr = (res ,...,res ). Phần đầu của phép toán VÀ ( ∧ ) là muốn nói lên thành
phần chức năng D2 là bản làm mịn của phần chức năng D1. Phần tiếp theo của phép
toán VÀ nói rằng nếu yêu cầu phi chức năng của D2 được thỏa mãn thì yêu cầu phi
chức năng của D1 cũng được thỏa mãn. Vậy D2 có thể cài đặt D1.
Thành phần tuần tự.
Lấy 1 1 1 1, ,D FP FRα= và 2 2 2 2, ,D FP FRα= là hai thiết kế có nhãn phụ
thuộc thời gian. Vậy, 1 2; , ,D D Fp FRα≙ với
• 1 1( )FP FP v′= và 2 2( )FP FP v=
• 1 2 1 2 2 1 2, ( [ ] [ ] )1FR l l FR l / l FR l / l l l l∃ • ∧ ∧ = +≙
Từ đây về sau, ta sẽ sử dụng 1[ ]F x / x để biểu diễn biểu thức kết quả của việc
thay thế x bằng x1 trong biểu thức F. Từ đó tài nguyên được sử dụng cho D1 có thể
được sử dụng lại cho D2 khi mà D1 kết thúc.
Phân tách thành phần song song.
Lấy 1 1 1 1, ,D FP FRα= và 2 2 2 2, ,D FP FRα= là các thiết kế có nhãn phụ
thuộc thời gian. Giả thiết rằng 1 2α α∩ = ∅ . Vậy 1 2|| , ,D D FP FRα≙ khi
20
• 1 2α α α∪≙ và 1 2FP FP FP∧≙
•
1 2 1 2 1 1
2 2 2 1 2 1 2
, , , ( , /
[ / , . ] max{ , }
1FR l l r r FR [l / l r r]
FR l l r r l l l r r r )
∃ • ∧
∧ = ∧ = +
≙
với r1 và r2 là các véc tơ
của biến tài nguyên và r1+r2 đã được định nghĩa.
Điều kiện 1 2r r r= + biểu thị số lượng các biến tài nguyên đủ để thực thi 1D và
2D song song một cách độc lập. Lệnh composed được hoàn thành khi cả hai lệnh
thành phần được hoành thành. Để lí giải hai định nghĩa này, ta có thể sử dụng ngữ
nghĩa mang tính hoạt động cho chương trình được định nghĩa như là một hệ thống
chuyển tiếp có nhãn ( , , )S C→ với mỗi trạng thái s S∈ là một tập hợp hữu hạn.
( , , )v r t . Trong đó v là một véc tơ các giá trị của biến chương trình, r là một véc tơ các
giá trị của biến tài nguyên và t là một số thực để chỉ thời gian thực. C là một tập lệnh.
Lấy ngữ nghĩa của c C∈ là thiết kế , ,FP FRα với fFP p R= ⊢ và r nFR p S= ⊢ .
Vậy có một phép chuyển ( , , ) ( , , )cv r t v r t′ ′ ′→ nếu và chỉ nếu
( ) ( , ) ( ) ( , , , )
r
p v R v v r r p r l t t S l r v v′ ′ ′ ′∧ ∧ = ∧ ∧ = − ∧ thông qua sự thông dịch của
các thiết kế. Việc định nghĩa phân tách thành phần song song và thành phần tuần tự
hiển nhiên trong hệ thống chuyển tiếp nhãn trùng với định nghĩa đã cho ở trên.
Đối với hợp đồng trong hệ thống dựa trên thành phần thời gian thực có sự khác
biệt so với hệ thống dựa trên thành phần đơn thuần. Ta có định nghĩa về hợp đồng có
nhãn ràng buộc về thời gian.
Định nghĩa
Một hợp đồng có nhãn ràng buộc về thời gian là một tập hợp hữu hạn
, , , ,I Rd MSpec Init Inv với
• ,I Fd Md= là một giao diện.
• Rd là một khai báo tài nguyên, nó là một tập con của RES.
• Init là một khởi tạo, kết hợp với mỗi biến trong Fd và mỗi biến cục bộ với
cùng một kiểu giá trị. Biến trong Rd với kiểu số nguyên.
21
• MSpec là đặc tả phương thức kết hợp với mỗi phương thức ( , )op in out
trong Md với một thiết kế có nhãn ràng buộc về thời gian , ,FP FRα ,
trong đó ( \ ( ))in out Fdα ∪ ⊆ .
• Inv là một vị từ trên các đặc tính trong hợp đồng (được gọi là bất biến hợp
đồng). Inv đại diện cho một thuộc tính bất biến của giá trị biến trong khai
báo đặc tính Fd mà có thể tin cậy tại bất kì thời điểm nào mà mó có thể
truy cập từ bên ngoài. Từ đây, Inv được thỏa mãn một cách đặc biệt bởi
Init.
Ta nhấn mạnh ở đây là các biến tài nguyên được khai báo trong Rd là biến nội
trong một hợp đồng (biến cục bộ). Inv trong một hợp đồng biểu diễn một thuộc tính
của các biến trong hợp đồng mà nó cung cấp cho môi trường. Trong trường hợp hợp
đồng không đảm bảo bất kì một thuộc tính bất biến nào của các giá trị của nó thì Inv là
đúng.
Các hợp đồng này cũng cần được làm mịn. Từ thực tiễn nghiên cứu vấn đề, ta có
định nghĩa về làm mịn hợp đồng như sau:
Hợp đồng có ràng buộc về thời gian
2 2 2 2 2 2 2, , , , ,Ctr Fd Md Rd MSpec Init Inv=
là được làm mịn bằng hợp đồng
1 1 1 1 1 1 1, , , , ,Ctr Fd Md Rd MSpec Init Inv= ,
(được biểu diễn là 1 2Ctr Ctr⊑ ) nếu và chỉ nếu:
• 1 2Fd Fd⊆ , 1 2Rd Rd⊆ và 2 1 1 1 2 1 1 1| | , | |Init Fd Init Fd Init Rd Init Rd= ≤
đối với các hàm 1 2, ,f f f và tập A. |f A biểu thị hạn chế của f trên A và
1 2f f≤ biểu thị rằng f1 và f2 có cùng miền và 1 2( ) ( )f x f x≤ với mọi x
trong miền của chúng.
• 1 2Md Md⊆ .
• Với mọi phương thức op được khai báo trong 1Md thì
1 2( ) ( )Mspec op Mspec op⊑ và 2 1Inv Inv⇒ .
22
Ta lý giải định nghĩa này như sau. 2Ctr cung cấp tất cả các dịch vụ mà 1Ctr cung
cấp và có thể cung cấp nhiều hơn nữa. 2Ctr phải có ít nhất cùng tài nguyên như là 1Ctr
có. Điều kiện 2 1Inv Inv⇒ nói lên rằng thuộc tính của các biến được đảm bảo bởi 1Ctr
thì cũng chắc chắn được đảm bảo bởi 2Ctr . Vật có thể thay thế 1Ctr bằng 2Ctr mà
không bị mất bất kì một dịch vụ nào.
Đặt , , , , , 1,2i i i i i iCtr Fd Md Rd Mspec Init i= = là các hợp đồng có ràng buộc
về thời gian tương thích với tập hợp các đặc tính và phương thức. Có nghĩa là
1 2f Fd Fd∈ ∩ bao hàm cả 1 2( ) ( )Init f Init f= và 1 2op Md Md∈ ∩ bao hàm cả
1 2( ) ( )MSpec op MSpec op⇔ . Kết hợp hợp đồng 1 2Ctr Ctr∪ được định nghĩa như
sau:
1 2 1 2 1 2
1 2
1 2 1 2 1 2
( , ), ,
, ,
Fd Fd Md Md Rd Rd
Ctr Ctr
MSpec MSpec Init Init Inv Inv
∩ ∩ ∪
∪ =
∪ ∧⊎
với 1 2( )( )Init Init x⊎ được định nghĩa là
1 2
1
2
{ ( ), ( )} nê'u
( ) nê'u
( ) nê'u
1 2
1 2
2 1
max Init x Init x x dom(Init ) dom(Init )
Init x x dom(Init )\ dom(Init )
Init x x dom(Init )\ dom(Init )
∈ ∩
∈
∈
Khi 1 2Ctr Ctr∪ được định nghĩa thì ta có thể nói 1Ctr và 2Ctr có thể rút gọn.
Chú ý rằng khi kết hợp 2 hợp đồng, lượng tài nguyên có sẵn để kết hợp được định
nghĩa như là với thành phần hợp đồng lớn nhất. Định nghĩa này phản ánh cái nhìn một
phương thức trong kết hợp hợp đồng phải có ít nhất cùng thời gian thực hiện như là nó
có trong các hợp đồng thành phần, được cung cấp đúng mẫu. Đúng mẫu có nghĩa là
thực thi phụ thuộc thời gian tốt hơn nếu có nhiều tài nguyên được cung cấp và được
hình thức hóa. Một thiết kế có ràng buộc về thời gian , ,FP FRα được gọi là đúng
mẫu nếu và chỉ nếu FR thỏa mãn 1 1 1, ( ( [ / ] [ / ]))r r r r FR r RES FR r RES∀ • ≥ ⇒ ⇒ .
Với r và r1 là các véc tơ giá trị của các biến tài nguyên.
4.2. Sử dụng các ngôn ngữ hình thức có nhãn ràng buộc về thời gian để đặc
các giao thức tương tác thời gian thực và đặc tả tiến trình.
Giao thức tương tác cho các thành phần thời gian thực phải mang theo không chỉ
các thông tin theo thứ tự thời gian của hành động giao tiếp mà còn cả ràng buộc thời
gian của chúng. Như trong lí thuyết otomat có nhãn ràng buộc về thời gian, ta có thể
gán nhãn cho một biến cố của một hành động giao tiếp với thời gian xảy ra. Một chuỗi
23
các hoạt động truyền thông được gán nhãn theo các này được gọi là “từ thời gian” (từ
có nhãn ràng buộc về thời gian). Nó biểu diễn hành vi của hệ thời gian thực là một dãy
tiến hành trong đó mỗi biến cố đều có nhãn thời gian chỉ biểu diễn khoảng thời gian
trôi qua kể từ biến cố liền trước. Một tập hợp của chuỗi có nhãn thời gian của các hành
động có thể giao tiếp có thể biểu thị một giả thiết bằng một thành phần về hành vi thời
gian thực trong môi trường của nó. Ngôn ngữ có nhãn ràng buộc về thời gian được
nghiên cứu kĩ và hiểu rõ, từ đây có thể sử dụng chúng cho các đặc tả của các giao thức
tương tác, các tiến trình có nhãn ràng buộc thời gian thực thuận lợi hơn.
Đối với hiệu quả trong việc kiểm chứng một phương thức thời gian thực trong
các thành phần, các giao thức trong ràng buộc phải không có bất kỳ thông tin về thời
gian, và thông tin thời gian cho một giao thức được bắt nguồn từ những đặc tả của
phương thức thời gian thực từ các giao thức.
4.3. Các hợp đồng thời gian thực.
Các hợp đồng thời gian thực được định nghĩa theo cùng một cách như đối với
các hợp đồng trong phần trước. Các định nghĩa của giao diện được mở rộng bằng cách
Các file đính kèm theo tài liệu này:
- Nguyen Van Nghiep_K50CNPM_khoa luan tot nghiep dai hoc.pdf