Phần này chỉ mô tả một số công cụ hỗ trợ như: ngôn ngữ lập trình, Tools, Toolkit hay UIMS • Các chức năng giao tiếp thường được hỗ trợ bởi các môđun vào ra hay các ngôn ngữ lập trình,
Trang 1Chương VIII: Hỗ trợ cài đặt giao tiếp
Trang 28.1 Tổng quan
• Cài đặt phụ thuộc vào 1 hệ thống cụ thể Phần này
chỉ mô tả một số công cụ hỗ trợ như: ngôn ngữ lập trình, Tools, Toolkit hay UIMS
• Các chức năng giao tiếp thường được hỗ trợ bởi
các môđun vào ra hay các ngôn ngữ lập trình, các
Trang 38.1 Tổng quan (tiếp)
• Công cụ lập trình cung cấp các dịch vụ cho người
lập trình
•Hệ thống window là lõi cho các luồng xử lý HT-ND
đồng thời hay riêng biệt
• Các công cụ giao tiếp tạo cho chương trình gần với
mức cảm nhận của ND
• Các UIMS giúp cho việc điều khiển các mối quan
hệ giữa biểu diễn và chức năng của các đối tượng
Trang 4• Vai trò của hệ thống windows
8.2 Các thành phần của hệ thống
window
Hệ thống window dùng để xây dựng các giao tiếp
Trang 58.2 Các thành phần của hệ thống
• Tính độc lập thiết bị: sử dụng các mô hình vào
ra đồ hoạ như: điểm ảnh, GKS(Graphic Kernel System), giao tiếp phân cấp lập trình cho đồ
hoạ, PostScript => độc lập với thiết bị phần
cứng
• Chia xẻ tài nguyên: thực hiện nhiệm vụ đồng
thời, hỗ trợ các quá trình độc lập
• Tách biệt các UD cá nhân
Trang 68.2 Các thành phần của hệ thống
Mô hình ảnh
- Pixel
- GKS: Chuẩn quốc tế, coi màn hình như một
tập các đoạn liên thông, mỗi đoạn là một macro các phần tử đồ hoạ
- PHIGH: cũng là một chuẩn mở rông của GKS: màn hình là dãy các doạn có thể hiệu chỉnh
được
- PostScript: một ngôn ngữ lập trình để mô
hình hoá màn hình.
Trang 78.2 Các thành phần của hệ thống
• Kiến trúc của hệ thống windows: 3 kiến trúc phần
mềm có thể (Coutaz):
1) Mỗi UD quản lý tất cả các quá trình của mình
- Mọi quá trình quan tâm đến tính đồng bộ
- Giảm tính khả chuyển của UD riêng biệt Kiến trúc này bộc lộ nhược điểm lớn là mọi quá trình đều phải quan tâm đến tính đồng bộ, trái ngược với quan điểm phân chia tài nguyên.
Trang 88.2 Các thành phần của hệ thống
2)Vai trò quản lý thuộc Hệ điều hành
- UD gắn chặt vào Hệ điều hành, các UD không phải quan tâm đến điều đó => UD phải phát triển dựa vào một HĐH cụ thể.
3) Vai trò quản lý như một UD riêng biệt
- Chức năng quản lý tách riêng như 1 UD nhằm cung cấp các giao tiếp cho cho các UD khác
=> Kiến trúc client-server
Trang 9Kiến trúc Client-Server
Trang 10Kiến trúc X-Windows
Trang 11
Kiến trúc X-Windows (tiếp)
• Mô hình X Window được phát triển tại MIT
vào những năm 1980.
• X Window dựa vào mô hình điểm ảnh với một
số cơ chế định vị thích hợp Nó được chấp nhận
như một chuẩn
• Dùng X protocol để điều khiển giao tiếp
Khách-Chủ Giao thức này có thể cài đặt trên các máy
tính và các hệ điều hành khác nhau.
Trang 12Kiến trúc X-Windows (tiếp)
• Các máy khách có thể liên kết với một terminal
hoặc một cửa sổ chính
• Sử dụng các cửa sổ riêng biệt để định chiến
lược vào ra:
- Dùng cửa sổ xếp chồng
- Truyền dữ liệu giữa các client
- Thay đổi đầu vào
Trang 13Kiến trúc X-Windows (tiếp)
• Máy chủ thực hiện các nhiệm vụ sau
- Cho phép nhiều UD khách truy nhập đến
thiết bị hay không?
- Phân tích các yêu cầu của UD khách nhằm
thực hiện các thao tác màn hình hay cung cấp
thông tin
- Thu nhận dòng sự kiện vào từ ND và chuyển
cho UD khách
Trang 148.3 Lập trình UD
Hai cơ chế lập trình
1)Vòng lặp đọc- đánh giá (Read Evaluation Loop)
2)Dựa vào thông báo (Notification based)
Trang 15Vòng lặp đọc - đánh giá (read evaluation loop)
Trang 16Vòng lặp đọc - đánh giá (tiếp)
• Mô thức lập trình này được sử dụng trên
Macintosh
• Server gửi cho UD khách dòng vào của ND
dưới dạng sự kiện có cấu trúc
• UD khách được lập trình để đọc sự kiện
chuyển cho mình và xác định tất cả các hình
trạng của UD đặc biệt mà nó phải trả lại kết
quả.
Trang 17Vòng lặp đọc - đánh giá(tiếp)
Trang 18Dựa vào thông báo (Notifier based)
Trang 19Dựa vào thông báo (tiếp)
• Vòng lặp chính điều khiển quá trình xử lý sự
kiện không nằm trong UD
• Cơ chế thông báo tập trung nhận các sự kiện từ
hệ thống window, lọc rồi gửi chúng cho chương trình UD theo cách được khai báo bởi chương trình.
• Chương trình UD thông báo lại rằng đó là sự
kiện mà nó quan tâm hay không gọi là
Trang 20Thí dụ
• Notifier khi nhận một sự kiện từ hệ thống
windows, xem xét đó có phải là sự kiện được xác định bởi chương trình UD không, nếu đúng
nó trả điều khiển cho CallBack.
• Thí dụ: một chương trình tạo một cửa sổ hay
một frame trên đó có một phím lệnh”QUIT” Khi phím này được nhấn bởi thiết bị trỏ như chuột chương trình sẽ kết thúc và cửa sổ cũng được đóng lại.
Trang 22Thí dụ(tiếp)
- Màn hình do chương trình tạo ra gồm 3 đối tượng : 1 cửa sổ, thanh tiêu đề và phím lệnh Quit
- Chương trình UD sẽ thông báo cho Notifier của thủ tục - CallBack được kích hoạt khi phím lệnh được chọn Chương trình UD sẽ khởi tạo Notifier bằng việc gọi thủ tục này.
- Khi Notifier nhận được sự kiện chọn từ phím lệnh , đ/k sẽ chuyển cho thủ tục Quit để đóng cửa sổ và yêu cầu kết thúc.
Trang 238.4 Sử dụng công cụ (Use Toolkits)
• Các đối tượng tương tác: Vào ra liên hệ với
nhau
Trang 258.5 Sử dụng UIMS
• UIMS bổ sung các mức khác vào Toolkits
nhằm tạo thuận lợi cho ND không phải là người lập trình:
- Hệ phát triển giao tiếp ND (UIDS)
- Môi trường phát triển ND (UIDE)
• UIMS như một kiến trúc khái niệm nhằm tách
biệt giữa ngữ nghĩa và biểu diễn ứng dụng:
tính khả chuyển, tính sử dụng lại, đa giao tiếp, ., và xác định vai trò của: các thành
Trang 27Cài đặt UIMS (tiếp)
• Khuynh hướng của điều khiển đối thoại
- Điều kiển trong (vòng lặp đọc-đánh giá)
- Điều kiển ngoài, thí dụ như tính độc lập ngữ nghĩa của ứng dụng hoặc biểu diễn
- Điều khiển biểu diễn như các đặc tả đồ hoạ