Đ Ạ I H Ọ C
Q U Ố C
K H O A
G IA
C Ô N G
H À
N Ộ I
N G H Ệ
N G U YỄN V Ă N TRƯ Ờ NG
HỆ TH ỐNG NHÚNG VÀ ÚNG DỤNG
•
»
C H U Y Ê N N G À N H : C Ô N G N G H Ệ T H Ô N G T IN
M Ã S Ố : 1 .0 1 .1 0
LUẬN VÃN TH Ạ C s ĩ
NGƯỜI HƯỚNG DẪN K H O A HỌC:
TSKH PH ẠM TR ÂN NHƯ
1
MỤC LỤC
Lri cảm ưn
L)i cam đ o an
IVục lụ c .......................................................................................................................1
D inh m ục các ký hiệu, các chữ viết tắt ............................................................3
D ỉnh m ục các h ình vẽ.............................................................................................4
Mở đ ầ u ........................................................................................................................ 5
C ìư ưng 1 T ổng q u a n về hệ thống n h ú n g ........................................................ 7
1.1. Giới thiệu về hệ thống n h ú n g ......................................................................7
1.2. Phần mềm n h ú n g ..........................................................................................11
1.3. Một số tính chất của phần mềm nhúng .................................................. 12
1.3.1. Tính đúng đắn về thời gian ............................................................... 12
1.3.2. Tính tương tr a n h .................................................................................. 12
1.3.3. Tính sống .............................................................................................. 13
1.3.4. Giao d i ệ n ............................................................................................... 13
1.3.5. Tính hỗn tạp........................................................................................... 13
1.3.6. Tính phản ứng.................................................................................... 14
1.4. Tinh hình và triển vọng của phát triển hệ thống nhúng........................14
C iưưng 2 T ín h toán khoảng lặp và ứng d ụ n g .............................................. 19
2.1. Mô hình lai g h é p ..................................................................................... 20
2.2. Tính toán khoảng lặp...............................................................................20
2.2.1. Các khái niệm của Tính toán khoảng............................................. 20
2.2.2. Phép chứng minh ............................................................................ 24
2.2.2.1. Các tiên đề và các luật của Logic khoảng .........................24
22.2.2. Các tiên đề và các luật của DC .............................................. 25
2.2.2.3. Các tiên đề của DC* ............................................................... 25
2.2.3. Các công thức simple DC* .............................................................26
2.3. Các bước thiết kế sử dụng Tính toán khoảng lặp.................................27
2.4. Tiếp xúc liên tục - rời rạc trong mô hình lai ghép............................ 28
2.5. Các luật kiểm chứng và làm t in h ..........................................................34
2.6. Phân tích và thiết kế hệ thống điều khiển thang m áy ........................ 37
I
2
2.6.1. Mô tả vấn đ ề .......................................................................................37
2.6.2. Hình thức hoá yêu cầu của hệ thống............................................. 39
2.6.3. Thiết kế liên tục.................................................................................. 41
2.6.4. Thiết kế rời rạc....................................................................................43
2.7. Kết luận chương 2 ......................................................................................45
Chương 3 Đồ thị p h ầ n m ề m ............................................................................. 46
3.1. s - graph.........................................................................................................46
3.2. Sử dụng s - graph trong điều khiển và tính toán dữ liệu ..................50
3.3. Khởi tạo s - graph........................................................................................52
3.4. Kết luận chương 3 ...................................................................................... 54
Kết luận .................................................................................................................... 55
Tài liệu th a m k h ả o ..................................................................................................57
Phụ lụ c........................................................................................................................60
Phụ lục A ................................................................................................................ 60
Phụ lục B.................................................................................................................60
Phụ lục
c .................................................................................................................63
Phu luc D ................................................................................................................. 71
3
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
Chữ viết tắt,
Ý nghía
Ký hiệu
HTN
DC
Hệ th ố n g n h ú n g
D uration C alculus
DC*
D uration C alculus with Iteration
đ.v.t.g
Đơn vị thời gian
R
Tập số thực
o
Toán tử eveltualỉy (Oạ> = truế^(Ọ ^ true)
□
Toán tử always ( d ọ = - , 0 - 1 (p)
Toán tử chop
-1
NOT
A
AND
V
OR
=>
Lượng từ kéo theo
V
Lượng từ với mọi
3
Lượng từ tồn tại
h
Ví dụ: A b B, có nghĩa là B suy diễn được từ A
1=
Ví dụ: A 1= B, có nghĩa B là đồng nhất đúng với giả thiết là A
<=>
A
Tương đương logic
Đồng nhất bằng (sử dụng trong các công thức logic)
Ký hiệu được dùng trong các công thức logic khoảng để chỉ
true
khoảng thời gian mà tại đó ta không quan tâm tới trạng thái
đang xét có xuất hiện hay không.
T
True
F
False
[A/B]ạ>
Một công thức đạt được từ công thức (Ọ bằng cách thay công
thức B xuất hiện trong (Ọ bởi công thức A
4
DANH MỤC CAC HINH VÊ
Hìrh 2.1: Mô hình của một hệ thống điều khiển..............................................28
Hìrh 2.2: Trạng thái s rời rạc đối với p và liên tục đối với p ’
Trạng thái r liên tục đối với cả p và P'
........................................ 29
Hìrh 2.3: Trạng thái
5 là ổ- stable..................................................................30
Hình 2.4: Trạng thái
r ỏ - control trạng thái s ...............................................31
Hình 2.5: Trạng thái
r ổ - observe trạng thái í ............................................. 32
Hình 2.6: Trạng thái
r là mẫu của trạng thái í ..............................................32
Hình 2.7: Trạng thái 5 thay đổi quá nhanh nên không quan sát được
trong thời gian rời rạc...........................................................................33
Hình 3.1: Một s - graph đơn giản.........................................................................48
5
MỞ ĐẦU
Hệ thống nhúng (HTN), hay thực chất là “hệ thống có nhúng phần
mềm” (software embedded system), bao gồm những thành phần điện tử của
các hệ thống vật lý nằm trong các phương tiện giao thông, nhà máy hoá chất,
hệ thống truyền thông,... Các hệ thống này có nhiệm vụ giám sát các nhân tố
trong môi trường vật lý (nhiệt độ, áp suất, các hợp chất hoá học,...), quản lý
hoạt động điều khiển và tối ưu hoá hiệu suất hệ thống,...
Trong công nghệ thông tin, khoa học về HTN là một lĩnh vực nghiên
;ứu khá mới và được ứng dụng trong nhiều lĩnh vực, từ những ứng dụng đòi
lỏi độ an toàn cao như các thiết bị tự động trong ngành hàng không, ngành
ỉường sắt, ngành y tế, cho đến các thiết bị thông minh trong truyền thông,
‘thế giới di động” (mobile world), “thế giới điện tử” (e-world),... Ngày nay, có
lơn 98% các bộ xử lý đang được sử dụng dưới dạng HTN, và chúng “ẩn” với
Ìgười dùng. Các HTN đang được nghiên cứu và phát triển gắn với những
hành tựu dựa trên các bộ xử lý (processor), cảm biến (sensor), thực hiện
actuator), các thiết bị và cơ sở hạ tầng truyền thông,... Những nghiên cứu này
tã góp phần đáng kể trong việc thúc đẩy xã hội phát triển nói chung cũng như
Ìgàiìh Công nghệ Thông tin nói riêng.
Tuy nhiên, các nghiên cứu liên quan tới HTN đang phải đối mặt với
hữr.g thách thức như: sự tương tác theo ngôn ngữ tự nhiên; khả năng thích
ghi động của các ứng dụng với môi trường và người dùng; truyền thông tự
ộng, không dây; ứng dụng thời gian thực với ràng buộc chặt chẽ về thời gian;
nh hỗn tạp của hệ thống,...
Trên thế giới và đặc biệt là ở Châu Âu, công nghệ (cả phần cứng và
hần mềm) về HTN đã phát triển rất mạnh, thậm chí một số tài liệu cho rằng
ó đă đạt tới mức hoàn thiện về công nghiệp.
6
Việc nghiên cứu HTN ở nước ta cũng đã được quan tâm, nhưng kết quả
thu được còn hạn chế.
Luận văn “Hệ thống nhúng và ứng dụng ■
” định hướng vào việc xây
dựng cơ sở phương pháp luận của việc nghiên cứu và triển khai các HTN.
Nội dung chính của luận văn bao gồm 3 chương và phần phụ lục.
Chương 1. Trình bày tổng quan về HTN: các khái niệm, phần mềm
ihúng, tình hình và triển vọng phát triển THN ở trong và ngoài nước,...
Chương 2. Trình bày về tính toán khoảng lặp và thử nghiệm của tác giả
rong ứng dụng Tính toán khoảng lặp vào việc thiết kế một ứng dụng nhúng cụ
hể là hệ thống điều khiển thang máy.
Chương 3. Trình bày kỹ thuật thể hiện hàm /ánh xạ từ input ra output
lựa trên một cấu trúc dữ liệu đặc biệt là đồ thị phần m ềm (s-graph) dùng trong
ổng hợp phần mềm các ứng dụng điều khiển nhúng. Đ óng góp của tác giả về
;hởi tạo s-graph cũng được trình bày trong chương này với kết quả nêu trong
)hụ lục.
Phần phụ lục chứng minh tính đúng đắn của thiết kế hệ thống điều
hiển thang máy, chứng minh một định lý được sử dụng trong quá trình thiết
:ế ứng dụng nhúng, và cài đặt một thuật toán liên quan đến đồ thị phần mềm.
Công trình nghiên cứu liên quan đến luận văn được trình bày trong các
'áo cáo [4] và [23],
7
C H Ư Ơ N G
1
TỔNG QUAN VỂ HỆ T H ố N G NHÚNG
1 .1 . G iớ i t h iệ u v ề h ệ th ô n g n h ú n g
Nhúng là việc tạo ra một bộ phận để tích hợp vào trong một tổng thể (to
make (something) an integral part of a whole - Longman Dictionary).
Có nhiều thuật ngữ liên quan đến khái niệm “nhúng” như: HTN
(embedded system), điều khiển nhúng (embedded controller), vi xử lý nhúng
(embedded microprocessor), phần mềm nhúng (embedded software), ngôn
ngữ nhúng (embedded language),... ([16], [19]).
Hiện nay, có nhiều hệ thống đòi hỏi phải tương tác trực tiếp với các sự
kiện từ thế giới thực, thông qua các thiết bị như: processor (bộ xử lý), sensor
(bộ cảm biến), actuator (cơ cấu chấp hành), detector (thiết bị phát hiện),
switch (bộ chuyển mạch), interrupt (ngắt),... Trong những hệ thống đó, người
ta sử dụng các thiết bị có cài đặt phần mềm cùng với cách ứng xử phù hợp để
có thể dễ dàng thay đổi theo điều kiện môi trường. Các thiết bị đó là một hay
một số máy tính, hoặc thiết bị giống máy tính có vai trò thực hiện những công
việc đặc thù. Chúng được nhúng trong các hộ thống khác. Những hệ thống này
không nhất thiết là máy tính và thường được gọi là HTN, hay còn gọi là “hệ
thống lai”, mà thực chất là “hệ thống có nhúng phần mềm’'’ ([29], [31]).
Do có mối tương tác với nhau như vậy nên việc phát triển HTN thường
gắn với thành tựu nghiên cứu về processor, sensor, actuator, detector, switch,
các thiết bị và cơ sở hạ tầng truyền thông,...
8
Một số thiết bị được nhúng đôi khi đơn giản hơn nhiều so với máy tính.
Thiết bị đơn giản nhất chỉ bao gồm một bộ vi xử lý hay còn gọi là “chip”, và
được ghép cùng với các bộ vi xử lý khác trong hệ thống hỗn tạp. Dữ liệu vào
của hệ thống được lấy thông qua detector hay sensor và dữ liệu ra được gửi tới
switch hay actuator nhằm thực hiện thao tác nào đó, chẳng hạn như: bắt đầu
hay kết thúc một quá trình, điều chỉnh van trong thiết bị điều khiển luồng
chảy chất lỏng,... Tùy theo độ phức tạp của HTN m à nó có thể được dùng cho
chỉ một hay một tập hợp các mục đích nào đó. Trong nhiều trường hợp, một
bộ vi xử lý được thiết k ế ra nhằm tích hợp phần mềm ứng dụng dùng cho mục
đích đặc thù và được coi như phần sụn (firmware) của hệ thống.
Một số HTN được yêu cầu phải có phản ứng chính xác về mặt thời gian
và yếu tố này đóng vai trò quyết định đến thành công của chúng. Các hệ thống
này được gọi là HTN thời gian thực (embedded real-time system), hay hệ
thống thời gian thực ( [ 1 2 ], [26]).
Ngày nay, có hơn 98% các bộ xử lý đang được sử dụng dưới dạng HTN,
và chúng “ẩn” với người dùng. Tuy nhiên, trong các hộ thống lớn, “tính
nhúng” lại thể hiện khá rõ.
Các HTN được dùng trong nhiều lĩnh vực với các mục đích khác nhau:
từ những ứng dụng đòi hỏi độ an toàn cao như các thiết bị tự động trong ngành
hàng không, ngành đường sắt, ngành y tế, cho đến các thiết bị thông minh
trong truyền thông, “thế giới di động” (mobile world), “ thế giới điện tử” (eworlcl), máy thông minh,... Những hệ thống này có tác động đến nhiều mặt
cùa đời sống xã hội như: sự an toàn, tính riêng tư, và cả phong cách sống,
phong cách làm việc của mọi người.
HTN có các đặc trưng chính như:
•
Được thiết kế cho ứng dụng đặc thù.
•
Liên quan nhiều đến xử lý tín hiệu số.
9
•
Tương tác theo thời gian thực (có thể ở dạng đóng hay mở).
•
Phân tán và hỗn tạp: có thể gồm một hay nhiều bộ xử lý, có thể điều
khiển nhiều thiết bị phân tán về mặt vật lý với nhiều liên kết truyền
thông đồng thời.
•
Sử dụng mô hình toán học của hệ thống vật lý trong xử lý thông tin.
•
Quản lý hoạt động điểu khiển và tối ưu hoá hiệu suất hệ thống ([12],
[3 2 ]).
Tuy nhiên có ba yêu cầu chính cho HTN:
•
Yêu cầu về hoạt động: thu nhận dữ liệu (ví dụ như qua sensor), điều
khiển (qua actuator), tương tác người máy.
•
Yêu cầu về thời gian: hạn thời gian, độ trễ tối thiểu,...
•
Yêu cầu về độ tin cậy: hệ thống không đổ vỡ, an toàn, bảo mật ([19]).
Thành công của HTN đã góp phần đáng kể trong việc thúc đẩy xã hội
phát triển nói chung và ngành Công nghệ Thông tin nói riêng. Tuy nhiên, các
nghiên cứu trong lĩnh vực này đang phải đối mặt với những đòi hỏi mới như:
•
Khả năng nhận biết về ngữ cảnh trong môi trường hỗn tạp: đó là sự
nhận biết, định vị, tương tác với con người và các đối tượng theo cách
thức không phụ thuộc không gian.
•
Tính thông minh: tích hợp môi trường số hoá vào trong đối tượng và
con người di động, khả năng học và tương tác độc lập để hướng tới tạo
ra những dịch vụ mới hấp dẫn.
•
Tương tác tự nhiên: phối hợp các yếu tố ngôn ngữ, dáng điệu, cử chỉ,...
của con người.
10
•
Cá nhân hoá: thích nghi động, định hướng người dùng trong điều kiện
thay đổi.
•
Độ tin cậy: khả năng đáp ứng theo thời gian về các mặt như an toàn,
bảo mật, tính sẩn sàng, khả năng bảo trì, tính mạnh mẽ,...
•
Thực hiện trong điều kiện nguồn tài nguyên hạn chế: tốc độ xử lý, bộ
nhớ, giao diện, khả năng quản lý,... hạn chế (hay có chất lượng thấp).
•
Truyền thông không dây, di động.
•
Những ứng dụng thời gian thực chặt chẽ: tự động hoá, thiết bị y tế, xe
lửa, hàng không,...
Những thách thức này chủ yếu do độ phức tạp của các HTN. Điều này
cũng chính là những động lực để các nhà khoa học nghiên cứu và phát triển
HTN.
Một số ứng dụng cơ bản của HTN có thể tìm thấy trong: Điều khiển
quá trình gia công và chế tạo (nhà máy sản xuất, nhà máy điện, hệ thống dẫn
điện,...); Công nghiệp xây dựng (thiết bị khảo sát và định vị, nhà máy xây
dựng,...); Giao thông (hệ thống đèn giao thông, ô tô, tàu hoả,...); Thiết bị nhà
ở (hệ thống giám sát điện sinh hoạt, hệ thống chống sét,...); Dịch vụ gia đình
(hệ thống cung cấp thực phẩm, làm vệ sinh,...); Truyền thông (hệ thống điện
thoại, thiết bị định vị toàn cầu,...); Tài chính, ngân hàng và thương mại (hệ
thống hướng dẫn tự động bằng tiếng nói, hệ thống tín dụng thẻ, thiết bị bán
hàng,...); Hỗ trợ trong giám sát và chẩn đoán (máy khử rung tim, máy giám
sát cuộc đua, hệ thống giám sát người bệnh, máy đo năng lượng,...); Thiết bị
văn phòng.
Một thành phần rất quan trọng góp phần tạo ra sự thành công của HTN
c h í n h là phần mềm được sử dụng trong các ứng dụng hay còn gọi là phần
mềm nhúng. Phần trình bày dưới đây sẽ giải thích tại sao phần mềm nhúng
11
không đơn thuần chỉ là một phần mềm trong các máy tính thông thường
( [ 1 1 ]).
1 .2 . P h ầ n m ề m n h ú n g
Khác với bản chất các thao tác tính toán trong khoa học máy tính là
thực hiện ánh xạ từ tập dữ liệu vào tới tập dữ liệu ra, phần mềm nhúng thực
hiện vai trò cơ bản là tương tác với thế giới thực. Phần mềm nhúng hoạt động
trên các thiết bị không nhất thiết là máy tính, chẳng hạn: ô tô, máy bay, thang
máy, hệ thống kiểm soát khí hậu, điện thoại, robot, đồ chơi, ti vi, máy in, máy
quét, hệ thống bảo vệ, vũ khí,...
Một phần mềm có vai trò tương tác với thế giới thực thì tất yếu phải có
một số tính chất quan trọng của thế giới thực như: hoạt động theo thời gian
thực, việc dừng hoạt động của nó phải được kiểm soát (trừ khi bị lỗi),... Do đó,
trong khoa học máy tính, người ta đã từng cho rằng phần mềm nhúng là “sự
hỗn độn”. Vì vậy, việc thiết kế phần mềm nhúng đã không thực sự tận dụng
được những ưu thế phát triển của ngành khoa học máy tính ở thế kỷ 20. Các
kỹ sư thường viết mã máy trực tiếp cho các bộ xử lý tín hiệu số, mà không
dùng ngay các hệ thống đa hình thái (polymorphic - type system), mô hình
hướng đối tượng có sẵn,...
Các kỹ sư viết phần mềm nhúng thường không phải là những nhà khoa
học máy tính. Họ là những chuyên gia trong các lĩnh vực ứng dụng khác nhau
và có hiểu biết sâu sắc về kiến trúc vật lý của hệ thống cần làm. Do vậy, khó
khăn của nhà khoa học máy tính là làm thế nào để đưa ra các mức trừu tượng
hoá tốt hơn và thân thiện hơn với các chuyên gia này.
Hiện nay, vì đa số phần mềm của các nhà khoa học máy tính đưa ra đều
kém phù hợp với yêu cầu của HTN, nên các chuyên gia lĩnh vực cũng không
hoàn toàn tin tưởng và ít cần tới sự giúp đỡ của nhà khoa học máy tính. Nhưng
chính các chuyên gia lĩnh vực lại phải đối mặt với khó khăn là độ phức tạp
12
trong các ứng dụng (kéo theo kích cỡ chương trình) của họ tăng lên rất nhanh.
Thiết bị của họ thường được kết nối qua mạng, với những bộ xử lý tín hiệu số
có khả năng lập trình, các ứng dụng với mã nguồn di trú. Vì vậy, các chuẩn
phần mềm nhúng đưa ra cần gắn với tính chất vật lý của ứng dụng nhúng và
phương thức được sử dụng cho phần mềm nói chung phải có tính tương thích
cao với phần mềm nhúng.
1 .3 . M ộ t số t ín h c h ấ t c ủ a p h ầ n m ề m n h ú n g
Phần trình bày dưới đây sẽ cho thấy phần mềm nhúng không đơn thuần
chỉ là phần mềm trên các máy tính thông thường. Các yếu tố như tính đúng
đắn về mặt thời gian, tương tranh, tính sống, phản ứng, sự hỗn tạp,... phải được
quan tâm để đảm bảo cho tính đúng đắn của chương trình.
1.3.1. T ín h đ ú n g đ án về thời gian
Các tính toán thuần tuý thường không gắn với yếu tố thời gian. Quan
niệm này tồn tại khá lâu và gần đây người ta thấy rằng cần phải có nhận thức
lại khi rất nhiều vấn để trong thế giới thực được mô phỏng và thực hiện trên
máy tính liên quan đến thời gian. Nhiều kỹ thuật đã được đưa ra làm tăng hiệu
suất của các bộ vi xử lý hiện đại đổng thời cũng góp phần đảm bảo độ tin cậy
của HTN. Tuy nhiên, để nhà thiết kế HTN sử dụng những bộ vi xử lý nhúng
(bộ vi xử lý có cơ chế tăng hiệu suất của chúng) thì nhà thiết kế và xây dựng
phần mềm cần phải đưa ra cơ chế kiểm soát thời gian trong các chương trình
của mình.
1.3.2. T ín h tương tr a n h
Phần mềm nhúng thường không tương tác với một thành phần vật lý
duy nhất mà phản ứng liên tục với những kích thích từ môi trường mạng, từ
sensor, và đồng thời điều khiển actuator. Đó chính là tính tương tranh của
phần mềm nhúng.
13
Phần mềm nhúng luôn gắn với thế giới vật lý, gắn với nhiều sự kiện xảy
ra đổng thời. Dung hoà tính tuần tự của phần mềm và tính tương tranh của thế
giới thực là một thách thức của HTN.
Lựa chọn hợp lý cho phần mềm nhúng là sử dụng ngôn ngữ đồng bộ
hoá và có tính phản ứng, ví dụ Esterel, kết hợp với hệ điều hành thời gian thực
để xây dựng các ứng dụng thời gian thực đòi hỏi tính an toàn cao.
1.3.3. T ính sống
Tính sống trong HTN là một yếu tố rất quan trọng. Các chương trình
không được dừng (trừ khi bị lỗi) và hạn chế đón nhận những sự kiện không
bao giò xảy ra. Sự chấm dứt các chương trình ngoài dự kiến sẽ làm đổ vỡ hệ
thông, vì vậy chúng nhất thiết cần được loại bỏ.
Sự thành công của phần mềm nhúng không đơn giản chỉ là đạt được kết
quả cuối cùng, mà nó còn phải làm thoả tất cả yêu cầu trong các giai đoạn
trung gian.
1.3.4. G iao diện
Phần lớn các công nghệ được đưa ra dựa trên giao diện là thủ tục. Tuy
nhiên, sử dụng thủ tục trong nhiều HTN lại kém phù hợp. Chẳng hạn, thao tác
mã hoá tiếng nói giống với một tiến trình hơn là một thủ tục, bởi vì nó phải
tính toán liên tục để chuyển hoá dòng dữ liệu vào thành dòng dữ liệu ra, và
các dòng dữ liệu đó hoàn toàn không có giới hạn biên.
Để cho phần mềm nhúng có thể phát huy tối đa hiệu quả thì điều cần
thiết là phải xây dựng giao diện hướng đối tượng với các tính chất động trong
định nghĩa giao diện của nó.
1.3.5. T ín h hỗn tạp
Tính hỗn tạp là một phần bản chất của HTN. HTN là sự kết hợp giữa
thiết kế phần cứng và phần mềm, trong đó có nhiều kiểu tính toán cùng với
14
nhiều công nghệ khác nhau. Phần mềm nhúng được thiết kế để tương tác động
liên tục với phần cứng trong HTN.
Trong HTN cũng có nhiều phương pháp điều khiển sự kiện hỗn tạp
khác nhau. Chúng tương tác với nhiều loại sự kiện, bao gồm sự kiện xuất hiện
không theo quy luật như: lời cảnh báo, câu lệnh của người dùng, kích hoạt
sensor,... và các sự kiện xuất hiện có quy luật như: tín hiệu điều khiển
actuator, dữ liệu được lấy từ sensor,...
1.3.6. T ính phản ứng
Một số HTN phải phản ứng lại với môi trường một cách liên tục theo
tốc độ của môi trường, những hệ thống này còn được gọi là hệ thống phản ứng
(reactive system). Chúng thực sự đối lập với hệ thống tương tác (interactive
System), bởi hệ thống tương tác phản ứng lại với môi trường với tốc độ riêng
của chúng, và cũng khác với hệ thống chuyển hoá (transíormatioal system), vì
nhiệm vụ của hệ thống này chỉ đơn thuần là biến đổi dữ liệu vào thành dữ liệu
ra.
Các hệ thống phản ứng bị ràng buộc về mặt thời gian, tính bảo mật, tính
an toàn và không được dừng (trừ khi bị lỗi).
Các hệ thống phản ứng được tổ chức trên mạng phải có khả năng thích
nghi với các yếu tố trong môi trường luôn thay đổi như: yêu cầu phục vụ và tài
nguyên tính toán thay đổi, sensor xuất hiện hay biến mất,...
1 .4 . T ì n h h ìn h v à t r i ể n v ọ n g c ủ a p h á t t r iể n H T N
Ớ Việt Nam, việc nghiên cứu phát triển HTN trên công nghệ PC/104 đã
mang lại nhiều kết quả ([1]). Công nghệ PC/104 có các chức năng tương thích
như các máy tính nên tận dụng được thế mạnh về phần cứng và phần mềm của
máy tính, nhưng được thiết kế với cấu trúc cơ khí cực kỳ bền chắc, gọn nhẹ và
đặc biệt là tốn ít năng lượng. Công nghệ này đã được nghiên cứu tại Viện
15
Công nghệ Thông tin từ năm 1996 và đến nay đã được dùng vào việc thiết kế
và ch ế tạo nhiều bộ phận điều khiển với các kỹ thuật xử lý tính toán phức tạp
theo đơn đặt hàng của một số đơn vị trong quân đội. Khả năng phát triển các
thiết bị đo và điều khiển thông minh trên công nghệ này rất nhiều hứa hẹn, do
nó có nhiều modul xử lý tín hiệu cảm biến hình ảnh, âm thanh, xử lý song
song,...
Dưới đây liệt kê một số sản phẩm phần mềm được phát triển tại phòng
Công nghệ Tự động hoá - Viện Công nghệ Thông tin và đã được đưa vào áp
dụng trong thực tế trong mấy năm gần đây ([3]):
•
Phần m ềm nhúng: Chương trình công cụ ICS, thư viện phần
m ềm
của
các thiết bị điều khiển nhúng IC-LIB.
•
Các ứng dụng: Thiết bị điều khiển đa năng hoạt động trong môi trường
công nghiệp và di động IC-MC1, máy vi tính nhúng cho các thiết bị đo
và điều khiển EPC, thiết bị điều khiển nhúng có giao diện với người
vận hành IC-MC2, ứng dụng công nghệ điều khiển nhúng PC/104 vào
xây dựng một số thiết bị và hệ thống cho quốc phòng.
•
Các hệ dựa trên công nghệ PC BASED CONTROL: Chương trình đo
và điều khiển thời gian thực PROCON/PROCOW IN, chương trình đo
và điều khiển trên mạng GPIB IEEE-488 và Bitlink, hệ thống đo tự
động đặc trưng diot lade bán dẫn chạy trên mạng GPIB IEEE-488,...
•
Hệ thống tự động mở cổng và quản lý nhân sự dùng thẻ không tiếp xúc
GAC 2.0, chương trình kiểm soát thời gian tuần tra với thiết bị “De
Prox”, hệ phát triển điều khiển Rôbốt trên cơ sở Camera VISCON,...
Hiện nay, chúng ta đang còn thiếu chuyên gia và tài liệu về lĩnh vực
HTN, bởi vì chúng ta chưa chú trọng lắm tới việc nghiên cứu và đào tạo các
chuyên gia về lĩnh vực HTN nói chung cũng như về lĩnh vực hệ thống điều
khiển thời gian thực nói riêng.
16
Trên thế giới và đặc biệt là ở Châu Âu, công nghệ (cả phần cứng và
phần mềm) về HTN đã phát triển rất mạnh, thậm chí một số tài liệu cho rằng
nó đã đạt tới mức hoàn thiện về công nghiệp. Nhiều nước ở Châu Âu đã sớm
nhận ra tầm quan trọng của HTN. Nhiều nhóm, trung tâm nghiên cứu về HTN
đã ra đời với những đầu tư rất lớn về vật chất và sức người ([29]).
Đầu những năm 1980, một trong số nhiều ứng dụng nổi tiếng đầu tiên
là hệ thống FBW (Fly-By-Wire System) dùng cho máy bay quân sự, và máy
bay chiến đấu EFA (European Fighter Aircraft) đã được phát triển với sự hợp
tác giữa các nước Anh, Đức, Italia và Tây Ba Nha ([21]).
Từ 1985, có nhiểu dự án nghiên cứu xây dựng và phát triển HTN thời
gian thực ở Châu Âu ra đời. Nhiều công cụ xây dựng HTN được tích hợp là
kết quả hợp tác của nhiều quốc gia như: Pháp, Anh, Đức,... Các công cụ hỗ trợ
cho quá trình phân tích, mô tả, mô hình hoá, quản lý,... cho phép phát triển
những dự án đa quốc gia với nhiều thành phần hỗn tạp, phân tán ([2 1 ]).
Nhiều ngôn ngữ lập trình thời gian thực ra đời: Ada, Hal/s, Pearl, PL/1,
Euclid...
Từ 1999, đã xuất hiện xu hướng chuẩn hoá phần mềm nhúng, nghiên
cứu và phát triển các bộ vi xử lý nhúng cùng nhiều thiết bị ngoại vi chuyên
dụng để đảm bảo tiêu chuẩn tích hợp cao nhất cho thiết kế HTN ([19]).
Từ cuối năm 2002, trên thế giới xuất hiện xu hướng kết hợp giữa kỹ
thuật hình thức với cách tiếp cận định hướng đối tượng nhằm xây dựng những
công cụ phát triển HTN ([16]).
Hướng phát triển chủ yếu của Châu Âu trong các năm 2003 - 2004 là
triển khai thế hệ mới về công nghệ và công cụ cho mô hình hoá, thiết kế, cài
đặt và triển khai các hệ thống phần cứng/phần mềm nhúng trong các thiết bị
thông minh. Viễn cảnh của họ là mong muốn tạo ra những hệ thống hoàn
17
chỉnh với giá cả hợp lý, tối ưu về hiệu suất, có độ an toàn cao và được triển
khai nhanh để đưa ra thị trường trong thời gian ngắn nhất ([31]). Nội dung tập
trung vào những khía cạnh chủ yếu sau:
•
Xây dựng các middleware (lớp
trung gian) và các platform để kết nối
mạng các HTN, nhằm đạt mục tiêu cung cấp, phân phối các tài nguyên
với chi phí rẻ, đồng thời “ẩn đi” toàn bộ sự phức tạp của những thao tác
tính toán, điều khiển và truyền
thông mức thấp. Hiện nay, hướng này
chủ yếu tập trung vào thiết bị
không dây cỡ nhỏ trong middleware.
Chẳng hạn, điện thoại di động hay máy trợ giúp cá nhân kỹ thuật số
cho phép thiết kế, lập trình, đặc tả và bảo dưỡng các hệ thống được dễ
dàng hơn. Ngoài ra, các cố gắng cũng được tập trung vào phát triển
những platform khả cỡ và tự tổ chức (scalable and self-organising
platform), để cung cấp dịch vụ cho các mạng đặc biệt; mạng này bao
gồm các thiết bị rất nhỏ nhằm hạn chế độ phức tạp, thông qua kỹ thuật
perception (kỹ thuật dùng cho điều khiển, cho nhận dạng đối tượng và
sự kiện, cùng những tính toán cao cấp khác).
•
Hợp nhất những mô hình tính toán hỗn tạp, xây dựng những công cụ đủ
mạnh để xây dựng HTN độc lập và ổn định.
•
Điều khiển nâng cao cho những hệ thống thời gian thực và HTN trên
mạng với các tính năng: khả năng thứ lỗi cao, điều khiển và quản lý
theo cơ chế tự trị, có cơ chế giải thích, hiệu suất cao,...
•
Nghiên cứu một số vấn đề khác như: actuator và sensor thông minh;
hardware/software co-design; quản lý tài nguyên hạn chế; tích hợp hệ
thống, chuẩn hoá,...
Hiện nay, nhóm nghiên cứu ERCIM (European Research Consortium
for Informatics and Mathematics Working Group) đã và đang nghiên cứu tất
cả các lĩnh vực của HTN, bao gồm các chủ đề chính như: điều khiển thí
V;.
••
w;-k
Ì - L ỡ l l l i
18
nghiệm khoa học từ xa, HTN trong các phương tiện giao thông, truyền thông
không dây, kiến trúc hệ thống, ngôn ngữ, công cụ, ứng dụng nhúng trong giáo
dục,... ([31]).
Một số hoạt động ở Châu Âu liên quan đến HTN được ghi nhận như
sau:
•
Tập đoàn REDEST bao gồm 14 công ty của các nước Tây Ba Nha, Đức
và Hungari kết hợp với nhau để phát triển phần mềm nhúng.
•
Phòng thí nghiệm và giảng dạy về HTN cho sinh viên tại nhiều trường
Đại học đã được xây dựng.
•
Có các khoá học thạc sỹ về xây dựng và thiết k ế HTN.
•
Dự án EEA (Embedded Electronic Architecture) được triển khai ở Pháp
(1999-2001) với mục tiêu nghiên cứu giải pháp thiết k ế các phương tiện
giao thông dạng nhúng. Dự án đã được sự ủng hộ của Bộ công nghiệp
Pháp, nhiều công ty phần mềm, nhiều hãng ô tô và một số trung tâm
nghiên cứu.
•
Mạng của tổ chức IEE (Institute of Electrical Engineers - Website:
www.iee.org/pn/embeddedrealtime) được xây dựng để phối hợp nghiên
cứu và chuyển giao công nghệ với những chương trình dài hạn hướng
tới cung cấp HTN thời gian thực. Hiện nay, tổ chức này đã thu hút được
hơn 130.000 thành viên.
•
Dự án DECOS (Dependable Embedded Components and Systems Website: www.decos.at) nghiên cứu rất nhiều vấn đề trong HTN và mục
tiêu là tạo ra nhiều sản phẩm có sức cạnh tranh.
19
C H Ư Ơ N G
2
TÍNH TOÁN KHOẢNG LẶP VÀ ỨNG DỤNG
Phương pháp hình thức dựa trên nền tảng là những lý thuyết toán học
như: logic, đồ thị và ôtômat để mô tả, phân tích và thiết k ế hệ thống. Sử dụng
phương pháp hình thức cho phép đạt tới mức trừu tượng hoá cao trong quá
trình thiết kế, tránh được sự hiểu sai về ngữ nghĩa nhờ những mô tả chính xác
về mặt toán học. Mục đích của phương pháp hình thức là làm tăng chất lượng,
giảm thời gian thiết k ế và phát hiện sớm các lỗi hệ thống phần cứng và phần
mềm.
Có nhiều phương pháp hình thức khác nhau, mỗi phương pháp phù hợp
cho những ứng dụng riêng.
Chương này giới thiệu một công cụ logic là Tính toán khoảng lặp
(Duration Calculus with Iteration - DC*), và cách sử dụng nó như một ngôn
ngữ đặc tả để thiết kế hình thức ứng dụng nhúng. Tiếp đó, một minh hoạ ứng
dụng nhúng về thiết kế hệ thống điều khiển thang máy được trình bày.
Trong thiết kế bằng DC*, chúng ta có tính đến độ trễ của phần cứng và
độ trễ của phần mềm nhúng nhằm lượng hoá việc khống chế độ trễ kỹ thuật
của các bài toán đặt ra trước đây theo nghĩa sau: chỉ có những hộ có độ trễ
được giả định là lớn hơn hoặc bằng tổng hai độ trễ vừa nói thì mới đảm bảo hệ
hoạt động ổn định.
- Xem thêm -