Tải bản đầy đủ (.pdf) (24 trang)

mô hình hóa và đặc tả hình thức các giao diện thành phần có chứa chất lượng dịch vụ và tính tương tranh (tóm tắt)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (835.32 KB, 24 trang )


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ





ĐỖ VĂN CHIỂU





MÔ HÌNH HÓA VÀ ĐẶC TẢ HÌNH THỨC
CÁC GIAO DIỆN THÀNH PHẦN CÓ CHỨA
CHẤT LƯỢNG DỊCH VỤ VÀ TÍNH TƯƠNG TRANH








LUẬN ÁN TIẾN SĨ NGÀNH CÔNG NGHỆ THÔNG TIN






Hà Nội – 2014
Công trình được hoàn thành tại khoa Công nghệ Thông tin,
Trường Đại học Công nghệ , Đại học Quốc Gia Hà Nội.

Người hướng dẫn khoa học: TS. Đặng Văn Hưng
PGS.TS. Nguyễn Việt Hà



Phản biện 1: ………………
Phản biện 2: ………………
Phản biện 3: ………………





Có thể tìm hiểu luận án tại:
- Thư viện Quốc gia Việt Nam
- Trung tâm Thông tin – Thư viện, Đại học Quốc gia Hà
Nội


1

Chương 1 Giới thiệu

1.1 Giới thiệu
Trong luận án này, chúng tôi tập trung nghiên cứu đề xuất
phương pháp hình thức hỗ trợ mô hình hóa và đặc tả các giao

diện thành phần có chứa các ràng buộc thời gian và tính tương
tranh và xây dựng ứng dụng. Ý tưởng cơ bản của phương pháp
đề xuất trong luận án là mở rộng về thời gian trên vết
Marzukiewicz. Kết quả của mở rộng này là đưa ra lý thuyết về
vết thời gian, ô-tô-mát đoán nhận ngôn ngữ vết và logic đặc tả
thuộc tính vết cũng như mối quan hệ giữa chúng. Để chứng minh
tính hiệu quả của phương pháp đề xuất, chúng tôi áp dụng lý
thuyết này mở rộng một số mô hình thiết kế hệ thống hướng
thành phần để hỗ trợ đặc tả các thuộc tính tương tranh có các
ràng buộc thời gian. Thứ nhất, chúng tôi đề xuất một phương
pháp hình thức cho đặc tả các hệ thống tương tranh thời gian
thực hướng thành phần dựa trên mô hình của lý thuyết rCOS.
Thứ hai, luận án đề xuất mở rộng mô hình thiết kế dựa trên giao
diện cho các hệ tương tranh có ràng buộc thời gian bằng các
ô-tô-mát giao diện tương tranh thời gian. Thứ ba, luận án đã xây
dựng một ứng dụng của vết thời gian hỗ trợ đặc tả và kiểm
chứng cho một hệ thống phân tán. Các kết quả trong luận án đã
được minh chứng qua các công trình đã được xuất bản và có ý
nghĩa lớn trong việc nghiên cứu, sử dụng để đặc tả các hệ có
ràng buộc thời gian và tương tranh.

1.2 Bố cục của luận án
Dựa trên các mục tiêu và đối tượng nghiên cứu, luận án
được bố cục gồm các chương sau. Chương 2 trình bày tóm tắt
các nghiên cứu nền tảng cho các nghiên cứu tiếp theo của luận
án. Chương 3 đưa ra lý thuyết vết thời gian dựa trên vết
Mazurkiewicz. Chương 4 trình bày một ứng dụng của lý thuyết
vết trong việc mô hình hóa hệ thống tương tranh thời gian thực
2


dựa trên việc sử dụng vết thời gian cho đặc tả các thể thức giao
diện thành phần được mở rộng từ lý thuyết rCOS. Chương 5 giới
thiệu một phát triển của lý thuyết vết trên cơ sở xây dựng một
phương pháp phát triển hệ tương tranh thời gian thực. Chương 6
đề xuất mở rộng hệ phân tán dựa trên việc mô hình bằng các hệ
dịch truyển phân tán. Các kết luận về luận án và các nghiên cứu
tiếp theo của luận án được chúng tôi trình bày trong chương 7.

Chương 2 Kiến thức nền tảng
2.1 Công nghệ phần mềm trên thành
phần
2.1.1 Các công nghệ hiện nay
Một số công nghệ hiện nay được nhiều người quan tâm sử dụng
bao gồm:
1. CORBA: là một chuẩn mở cho khả năng tương tác ứng
dụng được định nghĩa và được hỗ trợ bởi tập đoàn quản lý đối
tượng (Object Management Group - OMG), một tổ chức của
hơn 400 nhà cung cấp phần mềm và người sử dụng
(
2. COM và DCOM: COM là mô hình đối tượng thành
phần (Component Object Model-COM) là một kiến trúc chung
cho phần mềm thành phần, COM phân tán (DCOM), là một giao
thức cho phép các thành phần phần mềm giao tiếp trực tiếp qua
mạng một cách đáng tin cậy, an toàn và hiệu quả.
3. Mô hình thành phần dựa trên Java của Sun: phần
JavaBeans để phát triển thành phần phía máy khách và
Enterprise JavaBeans (EJB) cho phát triển thành phần phía máy
chủ

2.1.2 Đảm bảo chất lượng

Vòng đời của hệ thống phần mềm dựa trên thành phần có
thể được tóm tắt như sau: (1)Phân tích các yêu cầu, (2) Lựa chọn
3

kiến trúc phần mềm , xây dựng, phân tích, và đánh giá; (3) Xác
định và tùy biến thành phần; (4) Tích hợp hệ thống, (5) Kiểm thử
hệ thống; (6) Bảo trì phần mềm.
Nhiều nghiên cứu đã đề xuất một danh sách các đặc điểm
về chất lượng của các thành phần gồm: (1) Chức năng, (2) Giao
diện; (3) Khả năng sử dụng; (4) Khả năng kiểm thử; (5) Bảo trì,
(6) Độ tin cậy.
2.1.3 Mô hình đảm bảo chất lượng
Các thực nghiệm chính liên quan đến thành phần và các
hệ thống trong mô hình này bao gồm các giai đoạn sau đây: (1)
phân tích yêu cầu thành phần (2) phát triển thành phần (3) chứng
nhận thành phần (4) tùy chỉnh thành phần; (5) thiết kế kiến trúc
hệ thống ; (6) tích hợp hệ thống, (7) kiểm nghiệm hệ thống và (8)
Bảo trì hệ thống.

2.2 Ô-tô-mát thời gian

2.2.1 Ô-tô-mát thời gian

Định nghĩa 2.1 (Từ thời gian) Một từ gian gian
  

 




là một thành phần của   

và thường
được viết là   với  là một từ trên * và  là một chuỗi
thời gian trên T*.
Gọi X là tập hữu hạn các biến đồng hồ, một giá trị đồng
hồ trên X là một ánh xạ     gán mỗi đồng hồ một giá trị
thời gian.
Định nghĩa 2.2 Tập các ràng buộc trên tập đồng hồ X
được kí hiệu là  được định nghĩa như sau     
   với              .
Một ô-tô-mát thời gian (TA) trên T là một bộ  
 

      với
•  là một tập hữu hạn các hành động,
• Q là tập hữu hạn các trạng thái của ô-tô-mát.
4

• X là tập hữu hạn các đồng hồ,
• 

  là tập các trạng thái khởi đầu,
•    là tập các trạng thái kết thúc,
•         

  là một tập hữu hạn
các dịch chuyển trạng thái.
Cấu hình của TA được kí hiệu là   với    và
  


. Ngữ nghĩa của TA là một hệ dịch chuyển với mỗi trạng
thái là một cấu hình và quan hệ chuyển được định nghĩa theo luật
sau:   

    nếu  và   ,
  

    nếu        và
  .
Một thực thi (run) của một ô-tô-mát trên một từ thời gian
 là một dãy các dịch chuyển có dạng:
 


 

 




 






 









 

 


   




 

 .
Một thực thi  của TA  được gọi là một thực thi chấp nhận
(accepted run) nếu 

  Một từ thời gian  được gọi là
được đoán nhận bởi TA  nếu tồn tại một thực thi chấp nhận 
trên . Tập tất cả các từ thời gian được đoán nhận bởi ô-tô-mát
thời gian  được kí hiệu là  là ngôn ngữ được đoán nhận
bởi . Ta có kết quả quan trọng sau
Hệ quả 2.1 Bài toán kiểm tra tính rỗng của ngôn ngữ của

một ô-tô-mát thời gian là quyết định được

2.2.2 Công cụ Uppaal
UPPAAL là một bộ kiểm chứng mô hình cho việc mô
hình, mô phỏng và kiểm chứng các ô-tô-mát thời gian. Thành
phần quan trọng chính trong ngôn ngữ mô hình của UPPAAL là
các ô-tô-mát thời gian. Các mô hình trong đây gồm:
1. Mô hình mạng các Ô-tô-mát thời gian,
2. Các biến nguyên được chia sẻ,
3. Kênh khẩn cấp,
5

4. Vị trí (trạng thái) cam kết.

2.2.2.1 Kiểm chứng với UPPAAL
Mô hình kiểm chứng của UPPAAL được thiết kế để kiểm
tra một tập con của công thức TCTL cho các mạng các TA.
Công thức có các dạng biểu diễn như sau:
•   
•     
•      
•    
•       always lead to .

2.2.2.2 Kiến trúc UPPAAL
Mô hình kiến trúc được chỉ ra trong hình 1.


Hình 1: Kiến trúc hệ thống của UPPAAL


2.3 Lý thuyết vết

2.3.1 Vết Mazurkiewicz
Một bảng chữ cái phụ thuộc là một cặp   với  là
một bảng chữ cái hữu hạn và      là một quan hệ hai
ngôi có tính phản xạ và đối xứng trên  và được gọi là quan hệ
phụ thuộc.

6

Định nghĩa 2.3 Một vết Mazurkiewicz (gọi tắt là vết) là
một lớp tương đương của một thứ tự bộ phận được gán nhãn
     vơi  là tập các nút, là một quan hệ thứ tự bộ
phận trên , và     là một hàn gán nhãn thỏa mãn điều
kiện sau:
• Với mỗi    tập         là hữu
hạn,
• Với mọi     Nếu     thì   
hoặc   , và  kéo theo     , với  


là quan hệ dẫn trực tiếp trong .

Nếu V là hữu hạn, vết T được gọi là vết hữu hạn. Tập tất
cả các vết trên   kí hiệu là  . Một nhát cắt của 
là một tập lớn nhất của các đỉnh không so sánh được trong .
Một từ trong 

được gắn với một vết trên   bằng ánh xạ
 


   được định nghĩa như sau:
Cho   

  là vết    với:
•     .
•  là thứ tự nhỏ hơn bộ phận trên  thỏa mãn: cho
    nếu  là tiền tố của  và nếu     thì
  ,
•   .
Ánh xạ     

là  
    là một sự tuyến tính hóa của   . Gọi
     là một vết trên  . Gọi C là tập các sự kiện
  . Lịch sử của C, ký hiệu là  , được định nghĩa như sau:
  



 . Một cấu hình của T là một tập hữu hạn   
sao cho      là tập tất cả các cấu hình của vết .
2.3.2 Ô-tô-mát đoán nhận ngôn ngữ vết
Có hai nghiên cứu lý thuyết về ô-tô-mát đoán nhận các
ngôn ngữ vết là:
1. Ô-tô-mát Alternating Büchi,
2. và Ô-tô-mát bất đồng bộ.
7



2.3.3 Cấu hình

Gọi      là một vết trên   . Ký hiệu
       

Định nghĩa 2.4 Gọi      là một vết trên  .
Gọi C là tập các sự kiện   . Lịch sử của C, ký hiệu là  ,
được định nghĩa như sau:
  



 .
Một cấu hình của T là một tập hữu hạn    sao cho
   

Chúng ta định nghĩa conf(T) là tập tất cả các cấu hình của
vết T.
2.3.4 Logic trên vết

2.3.4.1 Cú pháp
Tập các công thức của LTL trên một bảng chữ cái độc lập
  được ký hiệu là 

  và được cho theo cú pháp sau:
 ::=      .
Chúng ta thường sử dụng ký hiệu như      cho biểu
diễn công thức. Khi ngữ cảnh là rõ ràng, chúng ta có thể viết



  bằng  , tức là bỏ ký hiệu _t (hiểu là vết) đi.
2.3.4.2 Ngữ nghĩa
Cho vết T   , một cấu hình C  conf(T), và một
công thức    , ngữ nghĩa của khái niệm   được
định nghĩa một cách đệ quy như sau"
•  .
•   nếu và chỉ nếu  .
•     nếu và chỉ nếu   hoặc  
•   nếu và chỉ nếu tồn tại một cấu hình C’ 
conf(T) sao cho  


C’ và  
8

•   nếu và chỉ nếu tồn tại một cấu hình C’ 
conf(T) với    sao cho   và với mọi C"  conf(T)
với     , chúng ta có  .

2.3.4.3 Một số kết quả

1. Bài toán về tính thỏa của 

là quyết định
được,
2. Biểu diễn của 

là đầy đủ tương ứng với biểu
diễn của FO trên vết,
3. Với mọi công thức   


, tồn tại một công
thức   

sao cho   ,
4. Với mọi công thức   

, tồn tại một công
thức   

sao cho   .

Định lý 2.1 Cho  là một công thức của 

  và
ký hiệu ô-tô-mát Alternating trên bảng chữ cái  là 

. Khi
đó   

 khi và chỉ khi 

  đối với mọi   

.

Định lý 2.2 Cho một công thức LTL

 và một ô-tô-mát
bất đồng bộ , tồn tại một thuật toán quyết định xem  với

mọi   .


9

Chương 3 Lý thuyết Vết thời gian

3.1 Vết thời gian và ô-tô-mát khoảng
bất đồng bộ

3.1.1 Vết thời gian
Gọi thời gian là liên tục và được biểu diễn như là tập các
số thực không âm 

. Kí hiệu  cũng biểu diễn thứ tự tự
nhiên trong 

. là hàm gán thời gian cho mỗi đỉnh của vết
một điểm thời gian trong 

. Cho một vết  chúng ta kí hiệu
tập các đỉnh tối thiểu của nó là . Một nhát cắt của  là
một tập lớn nhất của các đỉnh không so sánh được trong .
Định nghĩa 3.1 (Vết thời gian) Một vết thời gian trên
  là một bộ   với      là một vết trên
 ,    

thỏa mãn:
•        (thời gian có tính trước
sau),

• Nếu  là vô hạn, với bất kỳ    có một nhát cắt
 của  sao cho      (thời gian luôn tiến
triển)

Đặt intv là tập tất cả các khoảng thời gian trên


      

   

  . Đặt   
 là hàm gán một khoảng thời gian cho mỗi   . Bảng chữ
cái khoảng và được định nghĩa là một bộ 3 thành phần   .

Định nghĩa 3.2 (Vết thời khoảng) Gọi      là
một vết trên  . Chúng ta gọi cặp   là một vết thời
khoảng trên  .
Một vết thời gian   được gọi là thỏa mãn vết thời
khoảng   theo điều kiện sau khi và chỉ khi     


          . Ta ký hiệu
10

         

      
   là tập các vết thời gian thỏa vết khoảng theo
điều kiện sau.

Một vết thời gian   được gọi là thỏa mãn vết thời
khoảng   theo điều kiện trước khi và chỉ khi  
   

          . Ta ký hiệu
         

      
   là tập các vết thời gian thỏa vết khoảng theo
điều kiện trước.
Gọi   là    thỏa mãn   theo
điều kiện sau hoặc điều kiện trước
1
. Trong luận án này, chúng
tôi sử dụng quan niệm thỏa theo điều kiện sau. Các ứng dụng
khác nhau có thể điều chỉnh việc chọn lựa điều kiện thỏa cho
phù hợp.
Ngôn ngữ vết thời gian của ngôn ngữ vết khoảng  
được ký hiệu là  ,     



 .
3.1.2 Ô-tô-mát khoảng bất đồng bộ
Một ô-tô-mát khoảng bất đồng bộ như là một ô-tô-mát
bất đồng bộ được trang bị thêm một hàm gán ràng buộc thời gian
.
Định nghĩa 3.3 Một ô-tô-mát khoảng bất đồng bộ là một
bộ   với  là một ô-tô-mát bất đồng bộ.
Một thực thi trên từ thời gian     




là một
ánh xạ    

được định nghĩa bởi:
•   

,
• với mỗi tiền tố (a,t) của   


 và
  

  

 với mọi    ở đây đối với một từ
thời gian     sao cho   

và  không có kí
hiệu a trong 

, chúng ta định nghĩa 

  .
Một thực thi  được gọi là thực thi chấp nhận khi và chỉ
khi với mỗi    hoặc:



1
Tùy từng bài toán ta sẽ có cách lựa chọn phép thỏa một cách thích hợp
11

• 

 là hữu hạn, và   

với
   và 

  

, hoặc
• 

 là vô hạn và   

, với  
 được lặp lại vô hạn lần.
Khi  là một thực thi chấp nhận trên , chúng ta nói
rằng  được đoán nhận bởi  . Tập tất cả các từ được đoán
nhận bởi   hình thành ngôn ngữ được đoán nhận bởi
  và được ký hiệu là  . Chúng ta có:
Định lý 3.1    



 .


3.2 Logic trên vết thời gian

3.2.1 Cú pháp và ngữ nghĩa
Cú pháp về logic thời gian tuyến tính mở rộng của chúng
ta (ký hiệu là TLTL

) được cho như sau:
   

  
Với  là phần tử thộc bảng chữ cái ,  thuộc intv, và 
là ký hiệu true. Ngữ nghĩa của TLTL

được đưa ra như sau:
•  
•   a và nếu      
•  

 và nếu    

     

 
  và  

     
•   và nếu tồn tại     và với
mọi         ta có  
•   và nếu  

•     và nếu   hoặc  

Công thức  và  trong TLTL

có thể được định
nghĩa như sau

12


  
  


3.2. 2 Tính thỏa được của TLTL
Chúng ta xem xét lớp con TLTL

công thức có dạng:
   



  

Định lý 3.2 Với mọi công thức TLTL

bất kỳ  luôn tồn
tại một ô-tô-mát khoảng bất đồng bộ  sao cho  
 và ngược lại.


Chương 4 Một mô hình cho hệ
thống tương tranh có ràng buộc thời
gian

4.1 Kiến trúc thành phần và các giao
thức tương tác của chúng
Hệ thống có hai phần riêng biệt: Phần thụ động là một
thành phần đóng được ghép từ tập các thành phần và phần chủ
động là một tập các tiến trìn mà tương tác với các kích thích bên
ngoài với một số ràng buộc về thời gian và sử dụng dịch vụ từ
phần thụ động để thỏa mãn các yêu cầu từ các nhân tố bên ngoài
của hệ thống. Kiến trúc hệ thống này được mô tả trong hình 2.
13


Hình 2: Kiến trúc hệ thống

4.2 Vết thời gian và biểu diễn của nó
Trong nghiên cứu này, chúng tôi sử dụng biểu thức chính
quy để biểu diễn vết thời gian. Biểu thức chính quy có dạng
   .
4.3 Mô hình thành phần

4.3.1 Thiết kế
Dùng để mô tả các phương thức là một bộ   ,
với  ký hiệu tập các (chương trình) biến,  ký hiệu đặc tả
chức năng của phương thức có dạng , và  ký hiệu đặc
tả có yếu tố thời gian thi có hình thức     , với   là
các số thực không âm,   . Chúng tôi cũng đưa ra các khái
niệm về làm mịn và ghép tuần tự các thiết kế.

4.3.2 Giao diện và hợp đồng
Ký hiệu  - một khai báo đặc trưng là một tập các biến,
 - một khai báo phương thức, mỗi phương thức    có
dạng  , với  và  là tập các biến. Một giao diện
là một cặp   

 

 , với 

 

 

 , và 




 

. 

được gọi là giao diện cung cấp của , và 


giao diện yêu cầu của . Một hợp đồng là một bộ
   

 


 

 

, với:
14

•   

 

 là một giao diện   




   

 

.
•  là một sự tạo giá trị ban đầu.
• MSpec là một hàm đặc tả phương thức.
• 

biểu diễn một thuộc tính bất biến của các biến
trong trong đặc tả đặc trưng 

. 


biểu diễn các thuộc tính
mà được yêu cầu cho giá trị của các biến trong 

.
• 

và 

là các đặc tả giao thức, mà là các vết
thời gian.

Định nghĩa 4.1 Hợp đồng 

 

 

,


 

, 

 

, 

 


 làm mịn hợp
đồng 

 

 

 

, 

 

, 

,


 

 (ký hiệu 

 

) nếu và chỉ nếu:
• 

 


, 

 

, và 










, với hàm  và tập , 

biểu thị hạn chế của 
trên .
• 

 

và 

 


• Đối với tất cả phương thức op được khai báo trong



, 

  

, và 

 

.
• Với tất cả phương thức khai báo trong 

,


  

, và 

 

.
• 

 




, 


 

, 







, 

 

.


4.3.3 Ghép nối các hợp đồng
Gọi 

 

 

 , 

 

 


,


 

, 

,    là các hợp đồng mà có tập các
đặc trưng và phương thức(yêu cầu và cung cấp) là không giao
nhau. Cắm 

vào 

, ký hiệu là    được
15

định nghĩa như sau: 

 

 

 

,


 





 

, 







, 




, 

, 

 

.
Định lý 4.1 Cho 

tương thích với 

. Nếu 



đóng (tức là 

  ) thì 

 

 

.
Một thành phần thụ động là một bộ  
  bao gồm
• Một hợp đồng:    , ,  ,
 

, 

.
•  gắn với mỗi phương thức op trong Mdp một
thiết kế được xây dựng từ các toán tử cơ bản.
Hợp đồng Ctr được gọi là được thực thi bởi Comp.
Định lý 4.2


 

 

 







 là một thành
phần.

Định nghĩa 4.2 Một giao diện hệ thống là một bộ
    

, với 

là một tập hữu hạn các phương
thức,  là một tập các đặc trưng, và  là tập hữu hạn các sự
kiện.

Định nghĩa 4.3 Một hợp đồng hệ thống là một bộ
     , với
•     

 là một giao diện hệ thống.
•  là thuộc tính mô tả giá trị của các đặc trưng
trong .
•  là hàm đặc tả phương thức mà gắn mỗi
phương thức   trong 

với một thiết kế
 , với     , và

•  là mô tả hành vi mở rộng mà là tập con hữu
hạn của     and   

. Mỗi thành phần của
Behav được gọi là một đặc tả tiến trình.
16


Định nghĩa 4.4 Một thành phần chủ động
    , bao gồm
•   

 

   

 

 

,


  .
•   ,  , .
•  gắn mỗi phương thức  trong  với
một thiết kế được xây dựng từ một tập các phép toán cơ bản và
phương thức trong 

. Mcode thỏa mãn:

-      



.





 là một ngôn ngữ vết có trong
ngôn ngữ vết , với  tương ứng với bảng chữ cái phụ
thuộc 

 

 mà ngôn ngữ vết thời gian là , và  là
toán tử shuffle.
-    với mọi
  

.


Một hệ thống bao gồm một thành phần chủ động
     và một thành phần bị động
đóng     sao cho   .
Định lý 4.3 Cho     là một hệ
thống được hình thành bởi một thành phần chủ động
  ,   và thành phần bị động

  , . Cho     là
một thành phần bị động sao cho    . Thì
  cũng là một hệ thống tương đương với .

Chương 5 Phương pháp đặc tả giao
diện của các thành phần trong hệ
tương tranh có yếu tố thời gian
17


Một Ô-tô-mát giao diện tương tranh có ràng buộc thời
gian (Timed Concurrent Interface Automata - TCIA) là một bộ 3
    

 , với  là tập các hành động đầu vào,  là tập
các hành động đầu ra và


   




 

 

 





 




 là một
ô-tô-mát khoảng đơn định bất đồng bộ trên bảng chữ cái
    .
Cho một TCIA , ngôn ngữ giao diện của  được định
nghĩa là ngôn ngữ vết thời gian được đoán nhận bởi ADA  .
Hai TCIA  và  là được gọi là có khả năng ghép nối
nếu
1. 

 

 ,
2. với mọi hành động     

 


  , và
3. Tập các tiến trình 

and 

là không

giao nhau.
Định nghĩa 5.1 (Tích song song của hai TCIA) Tích
song song của hai TCIA có khả năng ghép nối với nhau
  

 

 

 

 và   

 

 

 

 ký hiệu là
   là một TCIA   

 

 

 

 với các thành phần
được n=định nghĩa như sau.

• 

 

 

và 

 

 



,
• 

 

 

, 


 


 



, 






 

  

  

   

     

 


  

 

, và



 





 




 






 

 







 

 



 




 




 










, với



 


 










 






















  
18



 

  


 









 












  




  


 









 












   



.

Định lý 5.1           
Cho hai TCIA  và , một quan hệ làm mịn trạng thái
từ  vào  là một quan hệ hai ngôi  

 

sao cho với
mọi    

 

    các điều kiện sau là thỏa mãn.
• 

  

, 

  

,   


 


  

  

 

  

, và
•   

  

 và với mọi trạng thái
     có tồn tại một trạng thái    
 sao cho   .
Một TCIA  được gọi là được làm mịn từ TCIA  và
được ký hiệu là    nếu:
• 

 

, 

 

, và

• tồn tại một quan hệ làm mịn trạng thái từ  vào 
mà   


   


ta có   .

Định lý 5.2 Cho 3 TCIA   , nếu    và   
thì   .
Cho ba TCIA   và  sao cho  và  là có khả
năng ghép nối và 

 

 

 

. Nếu  và  là tương
thích và    thì  và  là tương thích và       .

Chương 6 Mô hình đặc tả và kiểm
chứng các hệ phân tán có ràng buộc
thời gian

6.1 Hệ phân tán có ràng buộc thời gian
19


Một hệ dịch chuyển phân tán (DTS) trên 

là một cấu
trúc   



  

 trong đó:
• Mỗi 

là một tập trạng thái địa phương thứ i ký hiệu
là i-local,
• Đặt  





là tập các trạng thái toàn cục và


  là tập các trạng thái khởi đầu.
• Đặt  






 . Quan hệ dịch
chuyển       thỏa mãn điều kiện sau
Nếu     thì    , với  
.

Ký hiệu * dùng để diễn tả các thành phần của một trạng
thái toàn cục không ảnh hưởng bởi quan hệ dịch chuyển. Một
thực thi đồng bộ  của một DTS là một chuỗi vô hạn 





 
của các trạng thái và tập các hành động độc lập thỏa mãn các
điều kiện sau:
• 

 

,
• đối với mỗi    và với mỗi
  

 



  




  và .



  



 với
  




.
• 

là tập lớn nhất theo khía cạnh không có tập lớn
hơn thỏa mãn quan hệ chuyển.
Một thực thi bất đồng bộ  của một DTS là một chuỗi vô
hạn 





  của các trạng thái 


và hành động 

thỏa mãn
các điều kiện sau:
• 

 

,
• đối với mỗi    ta có






 

 





  và .






 







Một DTS khoảng là một bộ   với  là một DTS.
Một thực thi đồng bộ thời gian của một DDTS là bộ   sao
cho:
20

•  là một thực thi đồng bộ trên DTS , và
• đối với mỗi    và với mỗi   

   

ta
có     
Một thực thi bất đồng bộ thời gian của một DDTS là bộ
  sao cho:
•  là một thực thi bất đồng bộ trên DTS , và
• đối với mỗi    ta có nếu 

 

   thì



  

  


Ta có kết quả sau: Cho một DDTS   luôn tồn tại
một ô-tô-mát thời gian khoảng 

đoán nhận tất cả các từ được
định nghĩa bởi thực thi đồng bộ trên .

6.2 Logic thời gian trên cấu hình Foata
Logic thời gian tuyến tính là tập các công thức được định
nghĩa theo cách như sau:
  

 



  
Với       Cho   là một vết thời
gian trên (  ). Ngữ nghĩa của công thức   

 
được định nghĩa tên cấu hình Foata thời gian C như sau:
•  
•     
•        hoặc  
•   khi và chỉ khi tồn tại một     

 và     sao cho  

 và   với
  
•  

 nếu tồn tại một    và  
  sao cho  

 và   và với mọi     
 ta có     
•     khi và chỉ khi tồn tại
       sao cho   và mọi  
       kéo theo  
Ta nói, T mô hình , T là một mô hình của  hoặc T
21

thỏa  khi và chỉ khi  .
Định lý 6.1 Cho   

 , luôn tồn tại một
thuật toán kiểm tra xem liệu có tồn tại vết thời gian T sao cho T
thỏa công thức .
Cho   

 , tồn tại một ô-tô-mát Büchi thời
gian khoảng 

đoán nhận ngôn ngữ 


6.3 Bài toán kiểm chứng

Định lý 6.2 Cho DDTS   với  là tập các từ thời
gian (chuẩn Foata) tương ứng với các thực thi của hệ dịch
chuyển và một công thức   

  , luôn tồn tại một
thuật toán để quyết định   .
Thuật toán kiểm chứng hệ thống có các bước cơ bản như
sau.
• Bước 1. Xây dựng một ô-tô-mát Büchi 

đoán
nhận ngôn ngữ là các thực thi đồng bộ của DTS . Kết hợp với
ánh xạ thời gian , ta có một ô-tô-mát Büchi khoảng 

 .
• Bước 2. Chúng ta xây dựng ô-tô-mát Büchi 


đoán nhận ngôn ngữ phần bù của  là  theo như
chứng minh định lý trên . Và ta có một ô-tô-mát Büchi khoảng


  đoán nhận ngôn ngữ được định nghĩa bởi phần bù công
thức .
• Bước 3. Xây dựng ô-tô-mát Büchi khoảng  
sao cho    

   


 .
• Bước 4. Kiểm tra tính rỗng của   . Nếu
    thì khẳng định là hệ thống thỏa mãn các thuộc tính
kiểm tra và ngược lại.


22

Chương 7 Kết luận
Luận án đã đề xuất một phương pháp hiệu quả hỗ trợ cho
việc mô hình hóa và đặc tả các hệ thống có ràng buộc tương
tranh và thời gian bằng việc mở rộng về thời gian của lý thuyết
vết Marzukiewicz. Phương pháp đề xuất đưa ra các khái niệm về
ngôn ngữ vết thời gian, ô-tô-mát đoán nhận ngôn ngữ vết thời
gian và một cách thức dùng để đặc tả các thuộc tính logic của hệ
thống là logic thời gian trên vết thời gian. Các kết quả về lý
thuyết đã chỉ ra vết thời gian là công cụ hiệu quả cho việc đặc tả
các ràng buộc tương tranh có yếu tố thời gian. Để thể hiện sự
hiệu quả của việc sử dụng lý thuyết vết vào trong một số mô hình
thiết kế hệ thống hướng thành phần tạo cho các mô hình này có
thể mô hình hóa được các hệ thống có đặc tả tương tranh và thời
gian. Các mô hình chúng tôi sử dụng bao gồm: Mô hình dựa
thiết kế hệ thống hướng thành phần rCOS, mô hình thiết kế hệ
thống dựa trên giao diện và mô hình thiết kế các hệ phân tán dựa
trên hệ dịch chuyển phân tán. Luận án đã nghiên cứu và đưa ra
giải pháp hiệu quả đáp ứng yêu cầu đề ra, tuy nhiên luận án vẫn
còn một số hạn chế cần được nghiên cứu để hoàn thiện phương
pháp. Thứ nhất, nghiên cứu để có thể áp dụng phương pháp này
trong một số công cụ đặc tả hiện nay như SPIN hoặc UPPAL.

Thứ hai, hoàn thiện lý thuyết về phương diện thực hành nhiều
hơn, đó là nghiên cứu các ví dụ điển hình trong thực tế để làm
nổi bật lý thuyết nghiên cứu. Thứ ba là nghiên cứu và chứng
minh về độ phức tạp tính toán trong các thuật toán, kỹ thuật đã
đề ta trong mô hình này, tiến tới xây dựng công cụ hỗ trợ đặc tả
và kiểm chứng.

×