D) CÁC CÁCH BIỂU DIỄN CỦA MÔ HÌNH PHÂN TÍCH
b. Mô hình điều khiển dựa trên sự kiện
Trong các mô hình điều khiển tập trung, các quyết định điều khiển thường được xác định bởi giá trị của các biến trạng thái. Ngược lại, các mô hình điều khiển hướng sự kiện được điều
khiển bằng các sự kiện sinh ra từ bên ngoài.
Thuật ngữ “event” – sự kiện trong ngữ cảnh này không chỉ là một tín hiệu nhị phân. Mà nó có thể là một tín hiệu để lấy một tập các giá trị hoặc một câu lệnh nhập từ menu. Sự khác biệt giữa một sự kiện và một đầu vào đơn giản là thời gian của sự kiện này nằm ngoài sự kiểm soát của tiến trình xử lý các sự kiện.
Có hai mô hình điều khiển bởi sự kiện:
Mô hình broadcast (quảng bá)
Trong các mô hình này, một sự kiện là một bản thông báo tới tất cả các hệ thống con. Các hệ thống con được lập trình để có thể trả lời sự kiện mà nó nhận được. Mô hình broadcast có hiệu lực trong các hệ thống con tích hợp, được phân bổ vào các máy tính khác nhau trên một mạng.
Trong hình 6.11, chính sách điều khiển không được nhúng vào sự kiện và thông điệp điều khiển. Các hệ thống con quyết định sự kiện nào mà chúng yêu cầu, điều khiển sự kiện và thông điệp phải đảm bảo rằng các sự kiện này được gửi tới đúng địa chỉ.
Hình 6.11. Mô hình điều khiển dựa trên sự quảng bá có tuyển chọn
Các sự kiện có thể truyền tới tất cả các hệ thống con, nhưng điều này là không thể đối với các hệ thống rất lớn. Thông thường, với các hệ thống này, mỗi hệ thống con có một thanh ghi lưu giữ các sự kiện và thông điệp mà chúng quan tâm. Còn đối với những hệ thống đơn giản (ví dụ như hệ thống máy tính cá nhân) được điểu khiển bởi các sự kiện thông qua giao diện người dùng sẽ có những hệ thống riêng để lấy sự kiện từ chuột, bàn phím… và biến đổi thành những câu lệnh đặc biệt.
Ưu điểm của cách tiếp cận quảng bá (broadcast) là việc phát triển và mở rộng khá đơn giản. Một hệ thống con mới độc lập để điều khiển các lớp riêng biệt của các sự kiện có thể được tích hợp thông qua việc ghi nhớ các sự kiện của nó trong bộ điều khiển sự kiện. Bất kỳ hệ thống con nào cũng có thể kích hoạt hệ thống con khác mà không cần biết tên cũng như vị trí của hệ
Hệ thống
con 1 Hệ thống
con 2 Hệ thống
con 3 Hệ thống
con 4
Mô hình điều khiển ngắt (Interrupt-driven)
Các hệ thống thời gian thực yêu cầu việc tiếp nhận và trả lời các sự kiện một cách nhanh
chóng. Ví dụ: nếu một hệ thống thời gian thực được ứng dụng để điều khiển các hệ thống an toàn
trong ôtô. Nó phải phát hiện một vụ va chạm có thể xảy ra và đưa ra các tín hiệu cảnh báo sớm trước khi người lái xe đâm phải chướng ngại vật. Để cung cấp cơ chế trả lời sự kiện một cách nhanh chóng, ta phải sử dụng mô hình điều khiển ngắt.
Mô hình này thường được sử dụng trong các hệ thống thời gian thực, là những hệ thống cần có sự phản hồi các sự kiện nhanh và phải xử lý các sự kiện ngay lập tức. Nó có thể kết hợp với mô hình điều khiển tập trung. Mô hình điều khiển ngắt được minh họa trong hình 6.12. Mỗi loại ngắt kết hợp với một bộ nhớ cục bộ để lưu trữ địa chỉ của điều khiển. Khi một ngắt của một kiểu đặc biệt được nhận, một ngắt cứng (swich) gây ra điều khiển được truyền ngay tới điều khiển của nó. Điều khiển ngắt này sau đó có thể bắt đầu hoặc kết thúc một tiến trình khác để trả lời sự kiện mà ngắt này gửi tín hiệu đến.
Hình 6.12. Một mô hình điều khiển ngắt
Ưu điểm của cách tiếp cận này là cho phép trả lời nhanh chóng để các sự kiện được thực hiện. Nhưng điểm bất lợi của nó là khó lập trình và khó kiểm thử. Đôi khi không thể tái tạo các nền của ngắt thời gian trong khi kiểm thử hệ thống. Rất khó để thay đổi các hệ thống được phát triển dựa trên mô hình này nếu như số lượng các ngắt bị giới hạn bởi phần cứng. Một khi giới hạn này được đạt tới, không có các kiểu sự kiện khác được điều khiển. Đôi khi ta có thể khắc phục nhược điểm này bằng cách bố trí một vài kiểu sự kiện vào một ngắt đơn. Tuy nhiên, việc sắp xếp lại các ngắt có thể không thực tế nếu như yêu cầu trả lời thật nhanh của ngắt.
6.2.5. Tiến trình thiết kế kiến trúc
Trong quá trình thiết kế, một hệ thống lớn sẽ được phân rã thành các hệ thống con độc lập tương đối với nhau. Tiến trình xác định các hệ thống con của một hệ thống và thiết lập một khung làm việc cho việc điều khiển và giao tiếp giữa chúng gọi là thiết kế kiến trúc. Kết quả của hoạt động này là một tài liệu thiết kế kiến trúc, mô tả kiến trúc của phần mềm.
Thông tin ngắt
Bộ điều
khiển 1 Bộ điều khiển 2 Bộ điều khiển 3 Bộ điều khiển 4
Thiết kế kiến trúc tập trung vào việc biểu diễn cấu trúc các thành phần, các thuộc tính và
mối tương tác giữa chúng. Có nhiều cách tiếp cận khác nhau trong giai đoạn thiết kế. Tuy nhiên, ba hoạt động chủ chốt trong tiến trình thiết kế là:
1. Cấu trúc hệ thống: phân chia hệ thống thành các hệ thống con.
2. Mô hình hóa điều khiển:Thiết lập một mô hình biểu diễn mối quan hệ điều khiển giữa các thành phần trong hệ thống.
3. Phân rã các module: Mỗi hệ thống con được phân rã thành các module, ở bước này người làm thiết kế cần chỉ ra danh sách các module và mối liên kết giữa chúng.
Ở phần trên đã trình bày một số mô hình kiến trúc tiêu biểu, mỗi mô hình kiến trúc có ưu điểm và nhược điểm riêng, do đó nó có thể phù hợp với các hệ thống có đặc điểm khác nhau. Trên thực tế, các hệ thống lớn không phù hợp với một mô hình kiến trúc đơn, mà mỗi thành phần của nó có thể sử dụng một kiểu kiến trúc khác nhau.