
- 1 -
TRƯỜNG ………………….
KHOA……………………….
-----[\[\----
Báo cáo tốt nghiệp
Đề tài:
XÂY DỰNG TRÌNH BIÊN DỊCH CHONGÔN NGỮ WAVE
MỤC LỤC

- 2 -
Mục lục hình vẽ................................................................................................... 5
Khái niệm và cụm từ viết tắt.............................................................................. 8
CHƯƠNG 1.GIỚI THIỆU .............................................................................. 9
1. 1Wave............................................................................................................................9
1. 2Các ứng dụng của Wave..........................................................................................10
1. 3Nội dung khóa luận..................................................................................................11
CHƯƠNG 2.NGÔN NGỮ WAVE................................................................ 12
2. 1Giới thiệu về Ngôn ngữ Wave.................................................................................12
2. 2Node, Link và Không gian phân tán : Knowledge Network (KN) ......................12
2. 3Tổ chức chung của ngôn ngữ Wave .......................................................................13
2. 4Cấu trúc dữ liệu cơ bản của Wave .........................................................................14
2. 5Biến Spatial và kiểu .................................................................................................14
2. 5. 1Task variables................................................................................................................15
2. 5. 2Environment variables ..................................................................................................15
2. 6Các hành động - ACTS............................................................................................15
2. 6. 1Control acts....................................................................................................................15
2. 6. 2Fusion acts: Các phép toán hợp nhất...........................................................................17
2. 7Rules – Các luật trong Wave ..................................................................................17
2. 8Wave và mô hình lập trình truyền thống ..............................................................19
2. 8. 1Sơ đồ luồng (SD) ...........................................................................................................19
2. 8. 2Wave và mô hình lập trình song song ..........................................................................20
2. 8. 3Wave và mô hình lập trình tuần tự...............................................................................22
CHƯƠNG 3.XÂY DỰNG BỘ INTERPRETER ......................................... 28
3. 1Wave không có Rule ................................................................................................28
3. 1. 1Chi tiết ví dụ về các bước của Wave .............................................................................28
3. 1. 2Thuật toán tổng quát cho Wave không có Rule...........................................................30

- 3 -
3. 2Wave có Rule............................................................................................................31
3. 2. 1Ví dụ về Wave có Rule...................................................................................................31
3. 2. 2Thuật toán tổng quát cho Wave có Rule .....................................................................33
3. 3Hệ thống Track ........................................................................................................36
3. 3. 1Rule dựa trên bộ điều khiển Track...............................................................................36
3. 3. 2Thuật toán cho Bộ xử lý track ......................................................................................39
3. 3. 3Sự lan tỏa Track............................................................................................................40
3. 4Tổng quan và kiến trúc của Wave Interpreter .....................................................41
3. 5Các thành phần trong Wave Interpreter...............................................................42
3. 5. 1Wave và Wave Queue ....................................................................................................42
3. 5. 2Knowledge Network.......................................................................................................42
3. 5. 3Track Forest ..................................................................................................................43
3. 5. 4Parsing Unit...................................................................................................................44
3. 5. 5Excution Processor........................................................................................................51
3. 5. 6TrackProcessor..............................................................................................................52
3. 5. 7Communication Processor ............................................................................................56
3. 6Quan hệ giữa các thành phần trong Wave Interpreter........................................57
3. 6. 1Luồng xử lý Wave..........................................................................................................60
3. 6. 2Luồng xử lý các echo và điều khiển các rule ...............................................................64
3. 6. 3Xây dựng trình biên dịch Wave trên ngôn ngữ Java...................................................67
CHƯƠNG 4.THỰC HIỆN VÀ KẾT QUẢ.................................................. 69
4. 1Cài đặt.......................................................................................................................69
4. 1. 1Các yêu cầu về phần cứng ............................................................................................69
4. 1. 2Các yêu cầu về phần mềm.............................................................................................69
4. 2Thử nghiệm...............................................................................................................70
4. 2. 1Sử dụng chương trình...................................................................................................70
4. 2. 2Tạo lưới thực địa ...........................................................................................................71

- 4 -
4. 3Di chuyển tự do ........................................................................................................72
4. 3. 1Di chuyển tránh chướng ngại vật.................................................................................75
4. 3. 2Di chuyển vòng quanh chướng ngại vật ......................................................................77
4. 4Di chuyển cùng nhau kiểu tịnh tiến........................................................................80
4. 4. 1Hiển thị hình ảnh 3D động bằng GnuPlot...................................................................80
4. 4. 2Hiển thị hình ảnh 3D của tệp tin VRML......................................................................81
4. 4. 3Hiển thị hình ảnh 3D với các góc nhìn khác nhau .....................................................82
4. 4. 4Hiển thị hình ảnh 3D VRML trên nhiều máy..............................................................83
CHƯƠNG 5.PHỤ LỤC.................................................................................. 86
5. 1JJTree .......................................................................................................................86
5. 1. 1Giới thiệu .......................................................................................................................86
5. 1. 2Các kiểu cấu trúc cây ....................................................................................................86
5. 2Thực thi trên ngôn ngữ simpleLang.......................................................................87
5. 3Xây dựng bộ parser cho ngôn ngữ Wave...............................................................89
CHƯƠNG 6.TÀI LIỆU THAM KHẢO....................................................... 92

- 5 -
Mục lục hình vẽ
Hình 1-1: Mô hình Wave .......................................................................................................................10
Hình 2-1: Knowledge Network..............................................................................................................13
Hình 2-2: Thành phần của Spread Diagrams .........................................................................................20
Hình 2-3: Tự động tách trong chuỗi Wave.............................................................................................21
Hình 2-4: Một số trường hợp xử lý song song.......................................................................................21
Hình 2-5: Wave xử lý song song có kèm theo Rule...............................................................................22
Hình 2-6: Xử lý tuần tự không Rule và có Rule.....................................................................................23
Hình 2-7: Wave xử lý tuần tự có Rule ...................................................................................................23
Hình 2-8: một số trường hợp với mệnh đề If – else ...............................................................................24
Hình 2-9: Một số trường hợp với mệnh đề If – else...............................................................................24
Hình 2-10: else – if với filter..................................................................................................................25
Hình 2-11: Else – if parallel...................................................................................................................25
Hình 2-12: Else – if với Rule .................................................................................................................26
Hình 2-13: Switch ..................................................................................................................................26
Hình 2-14: Câu lệnh lặp sử dụng Repetition..........................................................................................27
Hình 2-15: Câu lệnh lặp sử dụng Recursion ..........................................................................................27
Hình 3-1: Wave có Rule.........................................................................................................................31
Hình 3-2: Tạo track trong quá trình Wave thực thi và lan tỏa .................................................................1
Hình 3-3: Trạng thái và biến frontal.........................................................................................................1
Hình 3-4: Gửi echo và tổng hợp các kết quả trạng thái, sau đó loại các Track Link, Track Node thừa ..1
Hình 3-5: Truyền Tail tới các Track Node ngoài cùng (Node lá)............................................................1
Hình 3-6: Kích hoạt Tail trong các Node lá.............................................................................................1
Hình 3-7. Các thành phần của Wave Interpreter....................................................................................41
Hình 3-8: Wave và Wave Queue..............................................................................................................1
Hình 3-9: Knowledge Network................................................................................................................1
Hình 3-10: Track Forest...........................................................................................................................1