ĐẠI HC QUC GIA HÀ NI
TRƯỜNG ĐẠI HC CÔNG NGH
PHM TH T NGA
ĐẶC TẢ VÀ KIỂM CHỨNG CÁC HỆ THỐNG THỜI GIAN
THỰC SỬ DỤNG UPPAAL
Ngành: Công ngh thông tin
Chuyên ngành:K Thut Phn Mm
Mã s: 60480103
TÓM TT LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DN KHOA HC: PGS.TS PHM NGC HÙNG
Hà Ni 2017
1
1. Giới thiệu
1.1 Đặt vấn đề
Trong thời đại ngày nay, các hệ thống yếu tố thời gian đặc biệt các hệ thống
thời gian thực một trong những lĩnh vực nhận được rất nhiều sự quan tâm của giới
khoa học nói chung và giới khoa học nghiên cứu về công nghệ nói riêng. Thật vây, hệ
thống thời gian thực được ứng dụng rất nhiều trong đời sống hội, trong sản xuất,
trong y tế, trong hàng không trụ trong quân sự, gần như trong mọi lĩnh vực ta
đều thấy có sự góp mặt của những ứng dụng trong hệ thống thời gian thực. Không chỉ
góp mặt trong nhiều lĩnh vực mà sự góp mặt của nó còn có tầm quan trọng rất lớn đối
với hệ thống. Trong hệ thống thời gian thực, các công vệc và các tác vụ cần phải hoàn
thành trong một khoảng thời gian cho phép (deadline), nếu không đáp ứng được yêu
cầu thời gian thì hệ thống sẽ sụp đổ hoặc sẽ gây ra hậu quả nghiêm trọng (hệ Hard
Real- Time) hoặc sẽ bị suy giảm về chất lượng dịch vụ (hệ Soft Real-Time).
Chính tầm quan trọng của yếu tố thời gian trong hệ thống thời gian thực như vậy
nên việc kiểm tra tính đúng đắn đối với hệ thống này là rất cần thiết. Tuy nhiên, việc
đặc tả kiểm chứng một hệ thống thời gian thực một bài toán khó một trong
những mối quan tâm lớn hiện nay là làm thế nào để đặc tả và kiểm chứng tự động cho
các hệ thống thời gian thực.
Bộ công cụ Uppaal ra đời phần nào đáp ứng được yêu cầu đó, công cụ này giúp ta
thể kiểm định những hệ thống được mô hình hóa thành những hệ thống automata thời
gian với nhứng biến số nguyên, cấu trúc dữ liệu, hàm người dùng đồng bộ các
kênh. Với việc đặc tả kiểm chứng một hệ thống thời gian thực thì bộ công cụ
Uppaal được đánh giá tốt nhất hiện nay được sử dụng rộng rãi trong công
nghiệp.
1.2 Nội dung nghiên cứu của luận văn
Trong luận văn này tác giả đã tập trung tìm hiểu về bộ công cụ kiểm chứng Uppaal, đi
sâu vào tìm hiểu ngôn ngữ đặc tả của Uppaal cũng như tìm hiểu chế kiểm chứng
của bộ công cụ này cho các hệ thống thời gian thực. Từ đó tác giả xây dựng một số ví
dụ (cụ thể tác giả đã xây dựng được 4 dụ) về một số hệ thống thời gian thực áp
dụng vào đặc tả và kiểm chứng hệ thống đó bởi bộ công cụ Uppaal.
Đối với mỗi ví dụ tác giả giả định là một hệ thống thời gian thực, tiến hành đặc tả, mô
hình hóa dưới hệ ô--mát thời gian trên trình soạn thảo của Uppaal sau đó chạy
phỏng và kiểm chứng sự hoạt động của hệ thống đó.
2
1.3 Cấu trúc của luận văn
Luận văn được trình bày thành 4 chương:
Chương 1: Giới thiệu
Chương 2: Đặc tả và kiểm chứng trong Uppaal
Trình bày những hiểu biết của tác giả về bộ công cụ Uppaal cũng như cách đặc đả
kiểm chứng trong Uppaal.
Chương 3: Một số ví dụ áp dụng
Trình bày 4 dụ tác giả đã xây dựng được về 4 hệ thống thời gian tiến hành
đặc tả và kiểm chứng các hệ thống đó qua công cụ Uppaal.
Chương 4: Kết luận
2. Tìm hiu v Upppaal
2.1 B công c Uppaal
2.1.1 Gii thiu v b công c Uppaal
Uppaal mt phn mềm để kim tra nhng h thng thi gian thực, được
phát trin bởi Đại học Uppsala và Đại hc Aalborg. Phn mềm được ng dng thành
công trong nhng nghiên cu nhiều lĩnh vực như bộ điều khin, giao thc truyn
thông hay ng dng multimedia những lĩnh vực yếu t thi gian rt quan
trng. Công c này dùng đ kiểm định nhng h thống được hình hóa thành h
thng nhng automat thi gian vi nhng biến s nguyên, cu trúc d liu, hàm
người dùng, và đồng b các kênh.
2.1.2 Tng quan v b công c Uppaal
UPPAAL s dng kiến trúc máy trm-máy ch mà trong đó phân chia chương trình ra
gm 2 phn: giao diện đồ ha h thng kim tra hình. Giao diện đồ ha, hay
client, viết bng Java, server được đóng gói tùy vào HĐH (Linux, Windows,
Solaris). Do kiến trúc như vậy nên hai phn ca CT s kết ni vi nhau qua giao
thức TCP/IP. Cũng có phiên bản s dng dòng lnh.
2.1.2.1 Java Client
Ý tưởng của chương trình là mô hình hóa hệ thng ô--mát thi gian s dng
công c đồ ha, mô phng kim chng s hoạt động ca nó, cui cùng kim
tra xem tha mãn nhng tính chất cho trước hay không. GUI ca Java client
thc hiện ý tưởng này bng cách chia lám 3 phn: Khung son tho (Editor),
phng (Simulator) và Kim chứng (Verifier) được xếp vào các tab.
3
Khung son tho (KST) h thống được định nghĩa 1 tp hp các ô--mát thi
gian được tiến hành song song gi là quá trình. Quá trình được to ra t mt template
định trước. KST chia làm 2 phn: ca s dạng y để chn các template, khai báo
khác nhau và 1 bn vẽ. Địa điểm được dán tên. Invariant và edge dán điu kin guard,
đồng b hay phép gán. đồ cây bên trái cho phép ta la chn nhiu phn thông tin
ca h thng:
phng (Simulator): phng vic thc thi h thng mt cách ngu nhiên,
(thông qua phỏng này, bước đầu ta kiểm tra được h thng vận hành được
không, có xung đột gì không)
Kim chng (Verifier): Cho phép ta kim chng tính thc hiện được ca h thng,
tính đến được ca các trạng thái trong hình, tính đúng đắn ca h thng, kim tra
mt trạng thái nào đó bị deadlock không bng nhng câu lnh c th theo ngôn
ng ca Uppaal.
2.1.2.2 Stand-alone Verifier
Khi thc hin nhng bài toán ln, khó th làm hết được trong GUI. Khi đó ta
th dùng kim chng riêng bng dòng lnh bằng chương trình verifier. cho phép
ta thc hin chc năng tương tự như GUI bằng các dòng lnh. Cách này thích hp cho
nhng máy có cu hình yếu và phi chia s b nh cho nhng ng dng khác.
2.2 Ô--mát thi gian trong Uppaal
2.2.1 Định nghĩa ô--mát thi gian
Mt ô--mát thi gian (Time automata-TA) là mt tp gm 6 thành phn (L, l0, C, A,
E, I).
Trong đó:
- L: tp các trng thái
- l0: trạng thái ban đu
- C: tập các đồng h
- A: tập các hành động
- E
( ) 2C
L A B C L
: tp các cnh gia các trng thái
- I:
()L B C
: ch định bt biến cho các trng thái.
2.2.2 Mô t Ô--mát thi gian trong Uppaal
4
Ô--mát thi gian thc là mt máy hu hn trng thái vi mt tập các đồng h.
Mỗi đồng h mt hàm s ánh x vào mt tp s thc không âm, ghi li thi
gian trôi qua gia các s kiện. Các đồng h được đồng b hóa v mt thi gian.
Trong UPPAAL, mt h thống đượ c mô hình là mng c a nhng automat thi gian
sp xếp son g song. Mô hình đưc m rng vi các biến ri rc b chn trng thái.
Nhng biến này được s dng trong ngôn ng lp trình: có th đọc, ghi và thc hin
các phép tính s hc. Mt trng thái ca h thống định nghĩa bởi v trí ca các
automat, giá tr đồng h và các biến ri rc. Mi automat có th thay đổi (không nên
hiu là s chuyn tiếp) độc lập hay đồng b vi 1 automat khác, dẫn đến 1 trng thái
khác.
2.3 Đặc t trong Uppaal
Mt h thng Ô--mát thời gian được đặc t trong Uppaal thông qua khung son tho
và trình bày dưới dng các ô--mát thi gian xếp song song, có th hoạt động độc lp
hoặc đồng b với nhau thông qua các kênh đồng b.
Để đặc t h thng ô--mát thi gian trong Uppaal trên khung son tho ta cn tiến
hành các bước:
c 1:Phân tích và nhn din các khuân mu có trong h thng:
Cần xác định trong h thng nhng khuân mu nào, mi khuân mu s ng vi
một quá trình và đưc biu din là mt ô--mát thi gian trong khung son tho.
c 2: Mô hình hóa các khuân mu
Mi khuân mu cần xác định rõ:
- Có nhng trng thái nào?
- c chuyn trng thái ra sao?
- cn truyn tham s không? T đó xác định các biến toàn cc biến
địa phương trong hệ thng.
c 3: V mô hình:
2.4 Kim chng trong Uppaal
2.4.1 Kim chng qua mô phng s hoạt động ca h thng
Sau khi biên tp h thng trong phn son tho, Uppaal cho phép kim chng hot
động ca h thng qua chc năng Simulator.