Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 83 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
83
Dung lượng
0,91 MB
Nội dung
Lập trình hệ thống nhúng dựa kiến trúc time-triggered LỜI CẢM ƠN Trước hết, Phước xin gửi lời cảm ơn chân thành đến người Thầy đáng kính Phước, tiến sĩ Lê Ngọc Minh Trong suốt trình thực luận án này, Thầy tận tình hướng dẫn, giúp đỡ thảo luận, góp ý kiến vơ q báu để Phước vượt qua lúc khó khăn mà hồn thành nhiệm vụ Khơng có hướng dẫn nhiệt tình Thầy luận án khơng thể hồn thành Một lần Phước xin bày tỏ lòng biết ơn sâu sắc Thầy Các Thầy (cô): PGS.TS Phan Thị Tươi, TS Dương Tuấn Anh, ThS Nguyễn Trung Trực, TS Lê Văn Dực, TS Nguyễn Đức Cường, TS Trần Văn Hoài, TS Thoại Nam, PGS.TS Cao Hoàng Trụ, TS Nguyễn Văn Hiệp,TS Phạm Tường Hải, TS Vũ Văn Gầu, PGS TS Đinh Ngọc Thạch, ThS Lý Quyết Tiến, ThS Nguyễn Cơng Trí tận tình giảng dạy, trao cho Phước kiến thức tốt nhất, tạo tảng vững để Phước thực luận án Bên cạnh đó, Thầy (cơ) khoa Cơng nghệ thơng tin phịng Đào tạo sau đại học giúp đỡ tạo điều kiện tốt cho Phước cơng việc ngồi chun mơn Xin thành thật biết ơn tất Thầy (cô) Phước xin gửi lời cảm ơn đến Ban giám đốc công ty Điện tử-Tin học Sài Gịn ( SSP® ), Ban giám đốc Trung tâm giải pháp phần mềm SSP® (SSP®-SOFT) giúp đỡ tài tạo điều kiện thuận lợi mặt thời gian, công việc, tài nguyên ( mạng, máy tính ) để Phước thực luận án Xin cảm ơn người bạn đồng nghiệp thân thương Phước khối sản xuất giúp đỡ họ mà Phước nhận thời gian qua Phước xin tri ân đến cha, mẹ Phước Cha, mẹ ln ln bên cạnh để động viên, khuyến khích nguồn cổ vũ tinh thần mạnh mẽ lúc khó khăn, bế tắc Hơn rất nhiều người khác giúp đỡ Phước hoàn thành luận án cách chia sẻ kiến thức, mã nguồn, hướng dẫn Phước không dám xếp thứ tự tên họ xứng đáng kể Tuy nhiên, viết phải theo HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered thứ tự Do việc kể sau không theo thứ tự Đầu tiên Phước xin cám ơn Benjanin Horowitz1, Akaded Ghosal2, Slobodan Matic3, N Vinay Krishnan4, Christopher Brooks5 chia sẻ ý tưởng viết chương trình ứng dụng chương trình xử lý âm thanh, đồng thời N Vinay Krishnan chia sẻ mã nguồn Mathieu Desnoyer6 hướng dẫn Phước sửa lỗi phần mềm LTTng Mỗi lần xuất lỗi, Phước gửi thư điện tử nhận trả lời nhanh Julia Lawall7, Gilles Muller8 giúp đỡ Phước việc tìm hiểu Bossa Framework Cuối cùng, Phước gửi lời cám ơn lời xin lỗi chân thành đến giúp đỡ Phước trình thực luận án mà Phước không nhớ để ghi nơi Thành phố Hồ Chí Minh, ngày 25 tháng 09 năm 2006 Nguyễn Hữu Phước Homepage http://www.eecs.berkeley.edu/~bhorowit/ Homepage http://www.eecs.berkeley.edu/~arkadeb/ Email matic{at}eecs{dot}berkeley{dot}edu Email nvkris{at}yahoo{dot}com Homepage http://ptolemy.eecs.berkeley.edu/~cxh/ Email mathieu{dot}desnoyers{at}polymtl{dot}ca Homepage http://www.diku.dk/~julia/ Homepage http://www.emn.fr/x-info/gmuller/ HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered TÓM TẮT Luận văn giới thiệu phương pháp để xây dựng hệ thống nhúng thời gian thực kích khởi thời gian Đó phương pháp sử dụng ngơn ngữ lập trình Giotto Sau phần giới thiệu khái quát chương 1, chương giới thiệu số thuật ngữ liên quan đến lập trình thời gian thực như: hệ thống thời gian thực, hệ thống thời gian thực cứng, hệ thống thời gian thực mềm, mơ hình lập trình hệ thống thời gian thực Chương luận văn sâu vào giới thiệu chi tiết ngơn ngữ lập trình Giotto mơ tả phi hình thức, định nghĩa chuẩn tắc ngơn ngữ lập trình Giotto Vấn đề định thời Giotto, phương pháp thực Giotto máy ảo E & S số thực khác đề cập chương Chương giới thiệu phương pháp sử dụng ngơn ngữ lập trình Giotto để thiết kế ứng dụng lĩnh xử lý âm Chương kết lại luận văn với số nhận xét đóng góp, hạn chế luận văn đề số điểm mở rộng tương lai ABSTRACT This thesis presents a new approach to build time-triggered embedded real-time systems which is the method to use the Giotto programming language After an overall introduction in chapter 1, chapter covers the definition of some basic terminologies which concern real-time programming such as real-time systems, hard real-time system, soft real-time system, and real-time programming models The ideas and the components of Giotto programming language are explained in the third chapter such as informal description and formal definition of Giotto Scheduling problem in Giotto implementation, implementing Giotto by using E&S virtual machine and some other implementations of Giotto are discussed in this chapter as well Chapter demonstrates a method of using Giotto programming language to design and implement a sound processing application The document is concluded with final thoughts about its contribution, limitations and some developing points in future in chapter HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered MỤC LỤC TÓM TẮT ABSTRACT CHƯƠNG PHÁT BIỂU VẤN ĐỀ CHƯƠNG HỆ THỐNG THỜI GIAN THỰC 10 2.1 Định nghĩa hệ thống thời gian thực 10 2.2 Hệ điều hành thời gian thực 12 2.2.1 Giải thuật định thời EDF: 13 2.2.2 Giải thuật định thời FPS: 14 2.3 Các mơ hình lập trình thời gian thực 17 2.3.1 Mơ hình đồng bộ: 17 2.3.2 Mơ hình định thời: 18 2.3.3 Mơ hình thời gian: 19 2.3.4 Hệ thống kích khởi kiện: 21 2.3.5 Hệ thống kích khởi thời gian 22 2.3.6 So sánh ETS TTS: 23 2.3.7 Tại chọn TTS để nghiên cứu ? 24 2.4 Linux hệ điều hành thời gian thực 25 2.4.1 Linux hệ điều hành thời gian thực cứng hay mềm? 26 2.4.2 Linux phiên 2.6 27 CHƯƠNG NGƠN NGỮ LẬP TRÌNH GIOTTO 28 3.1 Giới thiệu khái quát ngơn ngữ lập trình Giotto 28 3.2 Định nghĩa phi hình thức ngôn ngữ Giotto 30 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered 3.2.1 Port 31 3.2.2 Task 31 3.2.3 Lời gọi thực thi task 32 3.2.4 Mode 33 3.2.5 Câu lệnh chuyển mode 34 3.3 Định nghĩa chuẩn tắc ngôn ngữ lập trình Giotto 34 3.3.1 Cú pháp ngơn ngữ lập trình Giotto 34 3.3.2 Ngữ nghĩa chương trình Giotto 38 3.4 Ràng buộc hệ thống chương trình Giotto 43 3.4.1 Định thời chương trình Giotto 44 3.4.2 Chú thích chương trình Giotto 45 3.4.3 Ví dụ chương trình Giotto 46 3.5 Hiện thực Giotto 47 3.5.1 Hiện thực Giotto máy ảo E&S 47 3.5.2 Các thực Giotto 52 CHƯƠNG ỨNG DỤNG 53 4.1 Mô tả ứng dụng 53 4.2 Thiết kế chương trình Giotto 54 4.3 Hiện thực nguồn phát âm 58 4.4 Hiện thực task play sound ALSA API 58 4.5 Giao tiếp với bàn phím 63 4.5.1 Hàm keyboard_initialize 64 4.5.2 Hàm keyboard_close 64 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered 4.5.3 Hàm keyboard_pressed 65 4.5.4 Hàm keyboard_char_enter 65 4.6 Lần vết LTTng 65 4.7 Kết chung ứng dụng : 66 CHƯƠNG ĐÁNH GIÁ 68 5.1 Đóng góp luận án 68 5.2 Hạn chế 68 5.3 Hướng phát triển cho tương lai 69 PHỤ LỤC A: MÃ E CỦA ỨNG DỤNG 70 THƯ MỤC THAM KHẢO 76 LÝ LỊCH TRÍCH NGANG 82 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered DANH MỤC HÌNH ẢNH Hình 2-1: Mơ hình đồng 18 Hình 2-2: Mơ hình định thời 19 Hình 2-3: Mơ hình thời gian 20 Hình 3-1: Phát triển hệ thống điều khiển Giotto 30 Hình 3-2: Task t 31 Hình 3-3: Lời gọi thực thi task 33 Hình 3-4:Chương trình Giotto ví dụ 46 Hình 3-5: Máy ảo E&S 49 Hình 3-6: Mã E 50 Hình 3-7: Mã S 51 Hình 4-1: Hệ thống ứng dụng 53 Hình 4-2: Minh hoạ chương trình Giotto 54 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered CHƯƠNG PHÁT BIỂU VẤN ĐỀ Ngày nay, mà giới bước vào cách mạng thơng tin thiết bị đại thông minh xuất ngày nhiều đời sống lao động sản xuất người Những thiết bị phần lớn hệ thống nhúng thời gian thực Có thể nêu vài hệ thống tiêu biểu hệ thống điều khiển máy bay ngành hàng không, đường sắt, hệ thống điều khiển cánh tay người máy, hệ thống xử lý âm thanh…Do xuất phát từ xu hướng đặt nhu cầu cho nhà nghiên cứu phải tìm kiếm phương pháp hỗ trợ việc thiết kế lập trình hệ thống dễ dàng Trong trình tiếp cận giải vấn đề người ta phân chia hệ thống thời gian thực cần xây dựng thành hai loại tuỳ theo đặc điểm chúng Đó hệ thống theo mơ hình kích khởi kiện hệ thống theo mơ hình kích khởi thời gian Để hỗ trợ cho việc xây dựng hệ thống kích khởi thời gian dự án Giotto1 giới thiệu ngơn ngữ lập trình Giotto Từ khả đầy hứa hẹn mà Giotto đem lại cho nhà phát triển hệ thống điều khiển thời gian thực cứng theo mô hình kích khởi thời gian, Giotto nghiên cứu số thực Giotto đời Trong xu đó, luận án sâu tìm hiểu Giotto ứng dụng Giotto vào lĩnh vực xử lý âm Để từ kết luận án làm tảng cho nghiên cứu rộng mở sau Đưa Giotto áp dụng vào nhiều lĩnh vực hơn, phức tạp ngành cơng nghệ cao phủ ta quan tâm lớn Tóm lại nhiệm vụ luận án là: • Tìm hiểu sâu ngơn ngữ lập trình Giotto • Ứng dụng ngơn ngữ lập trình Giotto vào lĩnh vực xử lý âm thơng qua chương trình ứng dụng Homepage http://embedded.eecs.berkeley.edu/giotto HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered • Đánh giá khả áp dụng ngơn ngữ lập trình Giotto vào lĩnh vực khác Xuất phát từ nhiệm vụ mà luận án bao gồm phần: • Phần đầu phần tìm hiểu số khái niệm thuật ngữ mà dùng phần sau luận án hệ thống thời gian thực, hệ điều hành thời gian thực vấn đề định thời hệ điều hành thời gian thực, mô hình lập trình hệ thống thời gian thực nêu lên lý luận án quan tâm đến hệ thống thời gian thực kích khởi thời gian • Phần thứ hai vào tìm hiểu chi tiết ngơn ngữ lập trình Giotto mơ tả phi hình thức, định nghĩa chuẩn tắc ngơn ngữ, ngữ nghĩa vấn đề định thời Giotto Phần giới thiệu phương pháp thực Giotto máy ảo E&S đồng thời điểm qua thực ngơn ngữ Giotto • Phần thứ ba luận án giới thiệu ứng dụng ngơn ngữ lập trình Giotto vào thiết kế chương trình ứng dụng, chương trình xử lý âm • Phần cuối luận án đánh giá việc làm chưa luận án Hướng phát triển sau đề tài HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang Lập trình hệ thống nhúng dựa kiến trúc time-triggered CHƯƠNG HỆ THỐNG THỜI GIAN THỰC 2.1 Định nghĩa hệ thống thời gian thực Đề tài nghiên cứu quan tâm đến hệ thống thời gian thực Vậy hệ thống thời gian thực ? Theo định nghĩa tài liệu tham khảo [1] hệ thống thời gian thực hệ thống hay hoạt động xử lý thông tin mà hệ thống, hoạt động đáp trả lại khoảng thời gian trễ giới hạn, xác định sau nhận kích thích nhập vào từ bên ngồi Theo định nghĩa đặc điểm quan trọng hệ thống thời gian thực thuộc tính “đáp trả lại khoảng thời gian trễ xác định” Liệu với định nghĩa đủ chưa? Trong tài liệu tham khảo [2], tác giả giới thiệu với đặc điểm quan trọng khác thiếu hệ thống thời gian thực Đó thuộc tính tất định ( determinism ) hệ thống Trong chương trình bình thường chẳng hạn chương trình xử lý văn Microsoft Word, chương trình dùng để soạn thảo báo cáo này, chương trình có bị chậm vài lần lý mà khơng quan tâm mục đích cuối chương trình đạt Bằng chứng văn hồn thành Ngược lại, chương trình thời gian thực việc chậm trễ khơng biết trước trở thành vấn đề vô nghiêm trọng Tại chương trình thời gian thực ln ln phải thực thi theo khung thời gian cho trước thực thi theo cách thức xác định trước Do khơng cho phép chậm trễ Trong tài liệu tham khảo [2], tác giả phát biểu sau: Trong lĩnh vực thời gian thực, thuật ngữ tất định có nghĩa thời gian dự đốn trước có mức độ xác phụ thuộc vào vấn đề cần giải không phụ thuộc vào nổ lực khác Khơng có hệ điều hành xử lý tất định nhà phân tích khơng thể đốn trước kiện có chuyển đến trình xử lý kiện trước thời điểm cho phép trơi qua khơng? Trình xử lý kiện HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 10 Lập trình hệ thống nhúng dựa kiến trúc time-triggered 5.3 Hướng phát triển cho tương lai Như phát biểu việc ứng dụng Giotto vào thực tế hướng tiềm thiếu điều kiện mà luận án dừng lại việc chọn chương trình ứng dụng thuộc lĩnh vực xử lý âm Nếu có đầy đủ điều kiện mặt máy móc, trang thiết bị phát triển đề tài thành nhiều hướng áp dụng Giotto vào hệ thống điều khiển cụ thể cánh tay người máy sản xuất, máy bay trực thăng tự hành, thang máy, ô tô tự hành, người máy… HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 69 Lập trình hệ thống nhúng dựa kiến trúc time-triggered PHỤ LỤC A: MÃ E CỦA ỨNG DỤNG /* */ CALL(0) /* Call initialization driver: driver_sound_generator_outport_init_generator_initialize */, /* */ CALL(2) /* Call initialization driver: driver_sound_synthesizer_outport_init_generator_initialize */, /* */ CALL(4) /* Call initialization driver: driver_generator_length_init_length_initialize */, /* */ CALL(6) /* Call initialization driver: driver_synthesizer_length_init_length_initialize */, /* */ CALL(8) /* Call initialization driver: driver_modified_flag_init_modified_flag_initialize */, /* */ CALL(10) /* Call initialization driver: driver_syn_modified_flag_init_modified_flag_initialize */, /* */ JUMP(7) /* Jump to start mode: play */, /* */ CALL(1) /* Call output port copy driver: driver_sound_generator_outport_copy_sound_data_type for task: task_sound_generator */, /* */ CALL(5) /* Call output port copy driver: driver_generator_length_copy_sound_length_type for task: task_sound_generator */, /* */ CALL(3) /* Call output port copy driver: HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 70 Lập trình hệ thống nhúng dựa kiến trúc time-triggered driver_sound_synthesizer_outport_copy_sound_data_type for task: task_sound_synthesizer */, /* 10 */ CALL(7) /* Call output port copy driver: driver_synthesizer_length_copy_sound_length_type for task: task_sound_synthesizer */, /* 11 */ IF(0,12,14) /* If task driver: condition_filterer_filterer_driver */, /* 12 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 13 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 14 */ SCHEDULE(1,0,1187840) /* Schedule task: task_sound_generator, release time: 0, relative deadline: 290 */, /* 15 */ SCHEDULE(2,0,237568) /* Schedule task: task_sound_synthesizer, release time: 0, relative deadline: 58 */, /* 16 */ FUTURE(0,18,29) /* Triggered jump to mode: play, unit: */, /* 17 */ RETURN() /* From mode: play, unit: */, /* 18 */ IF(0,19,21) /* If task driver: condition_filterer_filterer_driver */, /* 19 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 20 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 21 */ FUTURE(0,23,29) /* Triggered jump to mode: play, unit: */, /* 22 */ RETURN() /* From mode: play, unit: */, HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 71 Lập trình hệ thống nhúng dựa kiến trúc time-triggered /* 23 */ CALL(3) /* Call output port copy driver: driver_sound_synthesizer_outport_copy_sound_data_type for task: task_sound_synthesizer */, /* 24 */ CALL(7) /* Call output port copy driver: driver_synthesizer_length_copy_sound_length_type for task: task_sound_synthesizer */, /* 25 */ IF(0,26,28) /* If task driver: condition_filterer_filterer_driver */, /* 26 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 27 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 28 */ SCHEDULE(2,0,237568) /* Schedule task: task_sound_synthesizer, release time: 0, relative deadline: 58 */, /* 29 */ FUTURE(0,31,29) /* Triggered jump to mode: play, unit: */, /* 30 */ RETURN() /* From mode: play, unit: */, /* 31 */ IF(0,32,34) /* If task driver: condition_filterer_filterer_driver */, /* 32 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 33 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 34 */ FUTURE(0,36,29) /* Triggered jump to mode: play, unit: */, /* 35 */ RETURN() /* From mode: play, unit: */, HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 72 Lập trình hệ thống nhúng dựa kiến trúc time-triggered /* 36 */ CALL(3) /* Call output port copy driver: driver_sound_synthesizer_outport_copy_sound_data_type for task: task_sound_synthesizer */, /* 37 */ CALL(7) /* Call output port copy driver: driver_synthesizer_length_copy_sound_length_type for task: task_sound_synthesizer */, /* 38 */ IF(0,39,41) /* If task driver: condition_filterer_filterer_driver */, /* 39 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 40 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 41 */ SCHEDULE(2,0,237568) /* Schedule task: task_sound_synthesizer, release time: 0, relative deadline: 58 */, /* 42 */ FUTURE(0,44,29) /* Triggered jump to mode: play, unit: */, /* 43 */ RETURN() /* From mode: play, unit: */, /* 44 */ IF(0,45,47) /* If task driver: condition_filterer_filterer_driver */, /* 45 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 46 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 47 */ FUTURE(0,49,29) /* Triggered jump to mode: play, unit: */, /* 48 */ RETURN() /* From mode: play, unit: */, HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 73 Lập trình hệ thống nhúng dựa kiến trúc time-triggered /* 49 */ CALL(3) /* Call output port copy driver: driver_sound_synthesizer_outport_copy_sound_data_type for task: task_sound_synthesizer */, /* 50 */ CALL(7) /* Call output port copy driver: driver_synthesizer_length_copy_sound_length_type for task: task_sound_synthesizer */, /* 51 */ IF(0,52,54) /* If task driver: condition_filterer_filterer_driver */, /* 52 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 53 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 54 */ SCHEDULE(2,0,237568) /* Schedule task: task_sound_synthesizer, release time: 0, relative deadline: 58 */, /* 55 */ FUTURE(0,57,29) /* Triggered jump to mode: play, unit: */, /* 56 */ RETURN() /* From mode: play, unit: */, /* 57 */ IF(0,58,60) /* If task driver: condition_filterer_filterer_driver */, /* 58 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 59 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 60 */ FUTURE(0,62,29) /* Triggered jump to mode: play, unit: */, /* 61 */ RETURN() /* From mode: play, unit: */, HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 74 Lập trình hệ thống nhúng dựa kiến trúc time-triggered /* 62 */ CALL(3) /* Call output port copy driver: driver_sound_synthesizer_outport_copy_sound_data_type for task: task_sound_synthesizer */, /* 63 */ CALL(7) /* Call output port copy driver: driver_synthesizer_length_copy_sound_length_type for task: task_sound_synthesizer */, /* 64 */ IF(0,65,67) /* If task driver: condition_filterer_filterer_driver */, /* 65 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 66 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 67 */ SCHEDULE(2,0,237568) /* Schedule task: task_sound_synthesizer, release time: 0, relative deadline: 58 */, /* 68 */ FUTURE(0,70,29) /* Triggered jump to mode: play, unit: */, /* 69 */ RETURN() /* From mode: play, unit: */, /* 70 */ IF(0,71,73) /* If task driver: condition_filterer_filterer_driver */, /* 71 */ CALL(12) /* Call task driver: driver_filterer_filterer_driver */, /* 72 */ SCHEDULE(0,0,118784) /* Schedule task: task_filterer, release time: 0, relative deadline: 29 */, /* 73 */ FUTURE(0,7,29) /* Triggered jump to mode: play, unit: */, /* 74 */ RETURN() /* From mode: play, unit: */ HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 75 Lập trình hệ thống nhúng dựa kiến trúc time-triggered THƯ MỤC THAM KHẢO A.Burns and A Wellings, “Real-time systems and programming languages (3rd edition): Ada95, Real-time Java and Real-time POSIX”, Addison Wesley Longman, 2001 http://www.cs.york.ac.uk/rts/RTSBookThirdEdition.html P Dibble, “Real-time Java Platform Programming”, Sun Microsystems Press, 1st edition, 2002 K.Nice, “How to Anti-lock Brakes Work”, http://auto.howstuffworks.com/anti_lock_brake.htm A Silberschatz and P.B.Galvin, “Operating system concepts”, 4th edition, Addison-Wesley Publishing Company, p.150-152, 1994 H.N.Riley, “The von Neumann architecture of computer systems”, 1987, http://www.csupomona.edu/~hnriley/www/VonN.html C.L.Liu and J.W.Layland, “Scheduling algorithms for multiprogramming in a hard-real-time environment”, Journal of ACM, 20(1):46-61,1973 Cornhill, Sha, Lehoczky, Rajkumar and Tokuda, “Limitations of Ada for realtime scheduling”, Proceedings of the International Workshop on RealTime Ada Issues, ACM Ada letters, pp.33-39,1987 Sha, Rajkumar and Lehoczky, “ Priority inheritance protocols: An approach to real-time synchronization”, IEEE Transactions on Computers 39(9):1175-1185, 1990 H.Kopetz, “Real-time Systems: Design Principles for Distributed Embedded Applications”, Kluwer, 6th edition, 2002 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 76 Lập trình hệ thống nhúng dựa kiến trúc time-triggered 10 C.M.Kirsch, “Principles of real-time programming” Lecture Notes In Computer Science; Vol.2491 Proceedings of the Second International Conference on Embedded Software,pp.61–75,2002 http://wwwcad.eecs.berkeley.edu/~cm/publications/EMSOFT02/principles.pdf 11 MoDECS Webpage http://modecs.cc/ 12 P.Koopman, “Time-Triggered vs Event-Triggered” (Microsoft Powerpoint Document Exported to PDF ), http://www.ece.cmu.edu/~ece549/lectures/time-event-triggered.pdf, 2004 13 H.Kopetz,”Event-triggered versus time-triggered real-time systems”, Proceedings of international workshop on operating systems of the 90s and beyond lecture notes in computer science, vol.563, pages 87-101,Berlin, Germany, Springer-Verlag, 1991 http://www.vmars.tuwien.ac.at/php/pserver/extern/download.php?fileid=563 ( Register required) 14 H.Kopetz, “ Should responsive systems be event-triggered or time-triggered ?”, IEICE Transaction on Information and Systems, No.10, pp.1525-1532, 1993 15 H.Kopetz and G.Grunsteidl, “TTP-A Time-Triggered Protocol for FaultTolerant Real-Time Systems”, Proc.23rd IEEE International Symposium on Fault-Tolerant Computing IEEE Press (pp.524-532), 1993 16 TTTech, “TTP/A Protocol - Specification of the TTP/A Protocol”, TTTech Computertechnik AG, Schönbrunner Straβe 7, A-1040 Vienna, Austria, version 1.5, May 2001 17 R.Schlatterbeck and W.Elmenreich, “TTP/A : A Low-Cost Highly Efficient Time-Triggered Fieldbus Architecture”, Proceedings of the SAE World Congress 2001, March 2001, Detroit, Michigan, USA HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 77 Lập trình hệ thống nhúng dựa kiến trúc time-triggered 18 H.Kopetz, “TTP/C Protocol - Specification of the TTP/C Protocol”, http://www.tttech.com, 1999 19 Linuxdevices, “Real-time Linux Software Quick Reference Guide”, http://www.linuxdevices.com/articles/AT8073314981.html 20 B.White, “Linux 2.6: A breakthrough for embedded systems”, http://www.linuxdevices.com/articles/AT7751365763.html, 2003 21 T.A.Henzinger, B.Horowitz and C.M.Kirsch, “Giotto: A time-triggered language for embedded programming”, http://www-cad.eecs.berkeley.edu/~tah/Publications/giotto.ps 22 M.Garey and D.Johnson, “Computer and interactability: A guide to the theory of NP-Completeness”, New York: Freeman, 1979 23 K.Tidell and J.Clark, “Holitic schedulability analysis for distributed hard realtime systems”, Microprocessing & Microprogramming, vol.40, pp.117134,1994 24 P.Eles, K.Kuchcinski, Z.Peng, A Doboli and P.Pop, “Process scheduling for performance estimation and synthesis of hardware/software systems”, in Proceedings of EUROMICRO conference, 1998, pp 168-175 25 P.Brucker, “Scheduling algorithms”, Berlin, Germany, Springer-Verlag, 2001 26 M Pinedo, “Scheduling: Theory, Algorithms, and Systems”, Englewood Cliffs, NJ:Prentice-Hall, 2002 27 “General terminal interface” website: http://www.opengroup.org/onlinepubs/007908799/xbd/termios.html 28 “termios.h” file at http://www.opengroup.org/onlinepubs/007908799/xsh/termios.h.html 29 S.Friedl, “Understanding Unix termios VMIN and VTIME”, HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 78 Lập trình hệ thống nhúng dựa kiến trúc time-triggered http://www.unixwiz.net/techtips/termios-vmin-vtime.html 30 D.Langer, J.Rauch and M Röβler, “Fly-by-wire systems for military high performance aircraft ”, in Realtime Systems: Engineering and Applications Norwell, MA:Kluwer, 1992, pp.369-395 31 J.Davis, C.Hylands, J.Janneck, E.A.Lee, J.Liu, S.Neuendorffer, S.Sachs, M Stewart, K.Vissers, P.Whitaker, Y.Xiong, “Overview of the Ptolemy Project” Technical Memorandum UCB/ERL M01/11, EECS, University of California, Berkeley, March 6, 2001 http://www.ptolemy.eecs.berkeley.edu/publications/papers/03/overview/overvie w03.pdf 32 R.Collinson, “Fly-by-wire flight control”, Computer control engineering, Vol.10, No.4, pp.141-152, 1999 http://ieeexplore.ieee.org/iel5/2218/17263/00796054.pdf?isnumber=&arnumbe r=796054 ( Member required ) 33 T.A.Henzinger and C.M.Kirsch, “The embedded machine: predictable, portable, realtime code ” in proceedings of the ACM SIG plan conference on programming language design and implementation, June 2002, pp.315-326 http://www.eecs.berkeley.edu/~tah/Publications/the_embedded_machine.pdf 34 T.A Henzinger, C.M Kirsch, and S Matic, “Schedule carrying code” Technical Report No UCB//CSD3-1230, University of California at Berkeley, February 2003 http://www.eecs.berkeley.edu/~tah/Publications/schedule_carrying_code.pdf 35 M Sanvido, “A computer system for model helicopter flight control, part 3: The software core ”, Technical Report Technical Memo Nr 3: The Software Core, Institute for Computer Systems, Technical Report 317, ETH Zurich (1999) 19 HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 79 Lập trình hệ thống nhúng dựa kiến trúc time-triggered http://citeseer.ist.psu.edu/sanvido99computer.html 36 X.Liu, “Specification of control flow in Ptolemy and application to Lego Mindstorms”, Ptolemy Miniconference, Berkeley, California, 2001 http://ptolemy.berkeley.edu/conferences/01/src/miniconf/15liuxjPoster.pdf 37 N.Wirth, “Tasks versus threads: An alternative multiprocessing paradigm ”, Software: Concepts and Tools, Vol 17, pp.6-12, Springer, 1996 38 M Amersdorfer “Jiotto – A Java Framework Implementing the Giotto Semantics”, http://homex.subnet.at/~max/uni/thesis/jiotto.pdf 39 T.A Henzinger, B Horowitz, and C.M Kirsch “Giotto: A time-triggered language for embedded programming” Proceedings of the IEEE 91:84-99, 2003 A preliminary version appeared in the Proceedings of the First International Workshop on Embedded Software (EMSOFT), Lecture Notes in Computer Science 2211, Springer-Verlag, 2001, pp 166-184 http://www.eecs.berkeley.edu/~tah/Publications/giotto.pdf 40 T.A Henzinger, C.M Kirsch, R Majumdar, and S Matic “Time-safety checking for embedded programs” Proceedings of the Second International Workshop on Embedded Software (EMSOFT), Lecture Notes in Computer Science 2491, Springer-Verlag, 2001, pp 76-92 http://www.eecs.berkeley.edu/~tah/Publications/timesafety_checking_for_embedded_programs.pdf 41 C.M Kirsch, T.A Henzinger, and M.A.A Sanvido “A programmable microkernel for real-time systems” Technical Report UCB/CSD-3-1250, University of California, Berkeley, June 2003 http://www.eecs.berkeley.edu/~tah/Publications/a_programmable_microkernel _for_real-time_systems.pdf 42 ALSA project website, http://www.alsa-project.org 43 LTTng & LTTV homepage, http://ltt.polymtl.ca HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 80 Lập trình hệ thống nhúng dựa kiến trúc time-triggered 44 “Pulse-code modulation”, http://en.wikipedia.org/wiki/Pulse-code_modulation HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 81 Lập trình hệ thống nhúng dựa kiến trúc time-triggered LÝ LỊCH TRÍCH NGANG Họ tên: Nguyễn Hữu Phước Sinh năm: 1980 Nơi sinh: Long An Địa liên lạc: Ấp Giồng Lớn, Xã Mỹ Hạnh Nam, Huyện Đức Hoà, Tỉnh Long An Q TRÌNH ĐÀO TẠO • 1997-2002: Kỹ sư ngành Kỹ thuật máy tính, Trường Đại học Bách Khoa, Đại học Quốc gia Thành phố Hồ Chí Minh Điểm bình qn tốt nghiệp:3.43/4 • 10/2005: Đạt chứng Tiếng Anh trình độ cao cấp Trung tâm bồi dưỡng ngoại ngữ kiến thức ngoại giao chi nhánh Thành phố Hồ Chí Minh Học viện quan hệ quốc tế • 25-27/08/2005: Tham gia khoá đào tạo Quản trị dự án Học viện công nghệ thông tin NIIT (SSP NIIT) • 29-31/03/2006: Tham gia khoá đào tạo chuyên gia phát triển phần mềm công nghệ BREW công ty Qualcomm kết hợp Hội tin học Thành phố Hồ Chí Minh tổ chức Q TRÌNH LÀM VIỆC • 07/2006 đến nay: Kiến trúc sư phần mềm, Nhóm trưởng nhóm Nghiên cứu phát triển, Khối sản xuất, Trung tâm giải pháp phần mềm SSP, Công ty Điện tử-Tin học Sài Gịn • 04/2006-07/2006:Trưởng phịng phịng Nghiên cứu phát triển, Trung tâm giải pháp phần mềm SSP, Công ty Điện tử-Tin học Sài Gịn • 07/2005-04/2006: Trưởng phịng phịng Nghiên cứu phát triển, Trung tâm công nghệ phần mềm Thành phố Hồ Chí Minh, Cơng ty Điện tử-Tin học Sài Gịn • 11/2004-07/2005: Phó phịng Phân tích thiết kế, Trung tâm cơng nghệ phần mềm Thành phố Hồ Chí Minh, Cơng ty Điện tử-Tin học Sài Gòn HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 82 Lập trình hệ thống nhúng dựa kiến trúc time-triggered • 05/2002-11/2004: Quản trị hệ thống phịng Lập trình, Trung tâm cơng nghệ phần mềm Thành phố Hồ Chí Minh, Cơng ty Điện tử-Tin học Sài Gòn HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 83 ... Trang Lập trình hệ thống nhúng dựa kiến trúc time- triggered CHƯƠNG HỆ THỐNG THỜI GIAN THỰC 2.1 Định nghĩa hệ thống thời gian thực Đề tài nghiên cứu quan tâm đến hệ thống thời gian thực Vậy hệ thống. .. hai hệ thống HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 20 Lập trình hệ thống nhúng dựa kiến trúc time- triggered 2.3.4 Hệ thống kích khởi kiện: Theo [12], ETS hệ thống mà tất hoạt động hệ. .. Hệ thống video streaming HVTH:Nguyễn Hữu Phước-GVHD:Ts.Lê Ngọc Minh Trang 11 Lập trình hệ thống nhúng dựa kiến trúc time- triggered hệ thống thời gian thực mềm Thỉnh thoảng frame hình bị mà hệ