1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu ứng dụng “NModel” trong việc phát triển hệ thống nhúng thời gian thực

74 399 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 74
Dung lượng 2,32 MB

Nội dung

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HẠNH NGHIÊN CỨU ỨNG DỤNG “NMODEL” TRONG VIỆC PHÁT TRIỂN HỆ THỐNG NHÚNG THỜI GIAN THỰC LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội - Năm 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HẠNH NGHIÊN CỨU ỨNG DỤNG “NMODEL” TRONG VIỆC PHÁT TRIỂN HỆ THỐNG NHÚNG THỜI GIAN THỰC Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần mềm Mã số: 60480103 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: PGS TS Đặng Văn Đức Hà Nội - Năm 2014 LỜI CAM ĐOAN Tôi xin cam đoan nội dung kết luận văn tốt nghiệp tự nghiên cứu dƣới hƣớng dẫn PGS.TS Đặng Văn Đức Trong toàn nội dung luận văn, điều đƣợc trình bày cá nhân đƣợc tổng hợp từ nhiều nguồn tài liệu khác Tất tài liệu tham khảo đƣợc trích dẫn rõ ràng phần cuối luận văn Tơi xin hồn tồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 10 tháng 06 năm 2014 Học viên Nguyễn Thị Hạnh LỜI CẢM ƠN Trong trình học tập nghiên cứu khoa Công nghệ thông tin trƣờng Đại học Công nghệ - Đại học Quốc gia Hà Nội, đến tơi hồn thành chƣơng trình học luận văn tốt nghiệp Tôi quên gửi lời cảm ơn tới thầy cơ, gia đình bạn bè Đầu tiên, tơi xin đƣợc bày tỏ lịng biết ơn sâu sắc tới giúp đỡ giảng viên hƣớng dẫn PGS.TS Đặng Văn Đức Trong suốt thời gian làm luận văn, thầy giúp đỡ bảo nhiệt tình để tơi hồn thành luận văn đạt đƣợc kết tốt Tôi xin gửi lời cám ơn đến tập thể thầy cô giáo Khoa CNTT – ĐH Công Nghệ - ĐH Quốc Gia Hà Nội bạn học viên cao học khóa K18 tạo điều kiện cho tiếp thu kiến thức, làm việc theo nhóm có mơi trƣờng học tập tốt Cuối cùng, xin gửi lời cảm ơn tới gia đình tơi – ngƣời thân động viên vật chất lẫn tinh thần suốt thời gian học tập Tuy rằng, cố gắng trình làm luận văn nhƣng khơng thể tránh khỏi thiếu sót, tơi mong nhận đƣợc góp ý thầy bạn Hà Nội, ngày 10 tháng 06 năm 2014 Học viên Nguyễn Thị Hạnh MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC .5 DANH MỤC CÁC HÌNH VẼ CHƢƠNG GIỚI THIỆU 10 1.1 Đặt vấn đề 10 1.2 Nội dung nghiên cứu 10 1.3 Tầm quan trọng kiểm thử dựa mơ hình 11 1.4 Cấu trúc luận văn 11 CHƢƠNG TỔNG QUAN VỀ HỆ THỐNG NHÚNG 12 2.1 Các khái niệm hệ thống nhúng .12 2.1.1 Hệ thống nhúng .12 2.1.2 Hệ thời gian thực 13 2.2 Cấu trúc phần cứng hệ thống nhúng 14 2.2.1 Các thành phần .14 2.2.1.1 Đơn vị xử lý trung tâm (CPU) 14 2.2.1.2 Bộ nhớ 14 2.2.1.3 Thiết bị ngoại vi 15 2.2.1.4 Bus địa chỉ, bus liệu bus điều khiển 17 2.2.2 Một số phần cứng nhúng thông dụng 18 2.2.2.1 Vi điều khiển nhúng 18 2.2.2.2 Chip DSP 19 2.3 Kiến trúc phần mềm nhúng 19 2.3.1 Kiến trúc Round-Robin (RR) 19 2.3.2 Kiến trúc Round-Robin với ngắt (RRI) 20 2.3.3 Kiến trúc Lập lịch dòng chức (FQS) 21 2.3.4 Kiến trúc Hệ điều hành thời gian thực (RTOS) .21 2.4 Hệ điều hành thời gian thực 22 2.4.1 Khái niệm hệ điều hành thời gian thực 22 2.4.2 Tác vụ (Task) trạng thái tác vụ 23 2.4.3 Queue trạng thái queue 24 2.4.4 Các phƣơng pháp lập lịch .26 CHƢƠNG NGHIÊN CỨU VỀ KIỂM THỬ VÀ PHÂN TÍCH DỰA TRÊN MƠ HÌNH .28 3.1 Tổng quan .28 3.1.1 Khái niệm NModel 28 3.1.2 Khái niệm chƣơng trình mơ hình .28 3.1.3 Khái niệm phân tích dựa mơ hình .29 3.1.4 Khái niệm kiểm thử dựa mô hình .29 3.1.5 Chƣơng trình mơ hình quy trình phần mềm 30 3.2 Hệ thống với mơ hình hữu hạn .30 3.2.1 Chƣơng trình mơ hình 30 3.2.1.1 Hành động (Action) 30 3.2.1.2 Hành vi (Behavior) 31 3.2.1.3 Cấu trúc chƣơng trình mơ hình hợp đồng C# 31 3.2.2 Thăm dò phân tích chƣơng trình mơ hình hữu hạn .32 3.2.2.1 Máy trạng thái hữu hạn (FSM-Finite State Machines) 32 3.2.2.2 Thăm dò .33 3.2.2.3 Phân tích 36 3.2.3 Cấu trúc chƣơng trình mơ hình với thành phần (Composition) .36 3.2.3.1 Điều khiển kịch (Scenario control) .37 3.2.3.2 Thành phần (Composition) 37 3.2.4 Kiểm thử hệ thống đóng 43 3.2.4.1 Tạo kiểm thử (test suite) cho phƣơng pháp kiểm thử ngoại tuyến (Offline) 43 3.2.4.2 Dấu vết giới hạn 43 3.2.4.3 Bản khai thác kiểm thử (Test harness) việc thực thi kiểm thử (Test execution) 44 3.2.4.4 Hạn chế kiểm thử ngoại tuyến 46 3.2.5 Kiểm thử hệ thống với trạng thái phức tạp 46 3.2.5.1 Kiểm thử “on-the-fly” 46 3.2.5.2 Các chiến lƣợc 50 CHƢƠNG XÂY DỰNG DEMO VÀ KIỂM THỬ HỆ THỐNG VỚI NMODEL 53 4.1 Giới thiệu NModel 53 4.1.1 Cài đặt NModel 53 4.1.2 Cách sử dụng công cụ mpv, otg, ct 53 4.1.2.1 Công cụ mpv 53 41.2.2 Công cụ otg 54 4.1.2.3 Công cụ ct 54 4.2 Xây dựng thực nghiệm với demo hệ thống client/server .55 4.2.1 Mô tả toán 55 4.2.2 Kiểm thử demo NModel 57 4.2.2.1 Kiểm thử ngoại tuyến (Offline) 57 4.2.2.2 Kiểm thử on-the-fly 65 CHƢƠNG KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 67 5.1 Kết luận 68 5.2 Hƣớng phát triển .68 TÀI LIỆU THAM KHẢO .69 PHỤ LỤC 70 DANH MỤC CÁC HÌNH VẼ Hình 2.1: Mẫu xe thi Micom Car Rally (chip Renesas H8) 12 Hình 2.2: Một số hệ thống nhúng thông dụng nhƣ robot, máy in điện thoại 13 Hình 2.3:Cấu trúc CPU 14 Hình 2.4: Kiến trúc nhớ Von Neumann Havard 15 Hình 2.5: Cấu trúc ghép nối máy tính thiết bị ngoại vi 16 Hình 2.6: Chu kỳ hoạt động bus dồn kênh 18 Hình 2.7: Kiến trúc nguyên lý VĐK với cấu trúc Havard 19 Hình 2.8: Minh họa kiến trúc RR giả mã đồ thị 20 Hình 2.9: Minh họa kiến trúc RRI giả mã 21 Hình 2.10: So sánh kiến trúc RTOS OS chuẩn 22 Hình 2.11: Cấu trúc hệ điều hành thời gian thực 23 Hình 2.12: Cấu trúc Task .24 Hình 2.13: Các trạng thái task .24 Hình 2.14: Hàng đợi Queue 25 Hình 2.15: Trạng thái Queue 25 Hình 2.16: Phân loại phƣơng pháp lập lịch 26 Hình 2.17: Giản đồ thời gian thực lịch tác vụ 27 Hình 3.1: Sơ đồ hoạt động MBT 29 Hình 3.2: Mơ hình chữ V phát triển phần mềm dựa mơ hình 30 Hình 3.3: Một thuật tốn thăm dị đầy đủ 35 Hình 3.4: Chƣơng trình mơ hình M1 .38 Hình 3.5: Chƣơng trình mơ hình M2 .39 Hình 3.6: MP M1xM2 - sản phẩm M1 M2 .39 Hình 3.7: Phần mở rộng vòng lặp M1 39 Hình 3.8: Phần mở rộng vịng lặp M2 40 Hình 3.9: MP M1xM2, trạng thái đơi hành động phù hợp .41 Hình 3.10: Các trạng thái , hành động M1xM2 41 Hình 3.11: M1 dƣới dạng FSM text file 42 Hình 3.12: Bag implementation 47 Hình 3.13: Bag Model 48 Hình 3.14: Một tính mơ hình kịch 49 Hình 3.15: Bag stepper 50 Hình 3.16: Giao diện IStrategy 51 Hình 4.1 Thiết bị điều khiển từ xa – Hệ thống Client/Server 55 Hình 4.2: Giao thức client/server 56 Hình 4.3: FSM MP hợp đồng .58 Hình 4.4: FSM MP kịch 59 Hình 4.5: FSM MP kịch kết hợp với MP hợp đồng 59 Hình 4.6: FSM test suite đƣợc tạo với MP hợp đồng .62 Hình 4.7: FSM test suite đƣợc tạo MP hợp đồng biên soạn với MP kịch 63 Hình 4.8: Kết kiểm thử ngoại tuyến với trƣờng hợp sử dụng MP hợp đồng 64 Hình 4.9: Kết kiểm thử ngoại tuyến với trƣờng hợp sử dụng điều khiển kịch (MP hợp đồng đƣợc biên soạn với MP kịch bản) 64 Hình 4.10: Kết kiểm thử ngẫu nhiên sử dụng MP hợp đồng 66 Hình 4.11: Kết kiểm thử ngẫu nhiên sử dụng điều khiển kịch (1) 66 Hình 4.12: Kết kiểm thử ngẫu nhiên sử dụng điều khiển kịch (2) 67 10 CHƢƠNG GIỚI THIỆU 1.1 Đặt vấn đề Ngày nay, hệ thống nhúng phát triển với ứng dụng rộng rãi nhiều lĩnh vực công nghiệp đời sống Các hệ thống nhúng có kiến trúc phần cứng nhƣ phần mềm đa dạng phong phú Nhƣ biết, phát triển phần mềm hoạt động kiểm thử có vai trị quan trọng, mang tính sống cịn sản phẩm với phần mềm nhúng ngoại lệ Sự phát triển hệ thống nhúng kéo theo yêu cầu phát triển hoạt động kiểm thử phần mềm nhúng Thông thƣờng, cách phổ biến để kiểm thử phần mềm cho hệ thống nhúng nói chung chạy phần mềm chƣơng trình giả lập phần cứng, chƣơng trình giả lập vi điều khiển ảo chƣơng trình mơ hình dung hệ thống mạch bao gồm vi điều khiển thiết bị khác Tuy nhiên nay, hệ thống nhúng Việt Nam phát triển khiêm tốn so với giới, lĩnh vực kiểm thử nhúng lại khiêm tốn Có báo, tài liệu nói hoạt động kiểm thử nhúng nhƣ khơng có nhiều cơng cụ hỗ trợ cho việc kiểm thử Do đó, việc nghiên cứu tìm hiểu phƣơng pháp, kỹ thuật kiểm thử nhƣ công cụ cho phần mềm nhúng vấn đề cần thiết nay, góp phần thúc đẩy phát triển lĩnh vực hệ thống nhúng, lĩnh vực giàu tiềm nhƣng bƣớc đầu phát triển việt nam Trong luận văn này, chọn nghiên cứu kiểm thử dựa mô hình với NModel việc phát triển phần mềm nhúng, cụ thể kiểm thử cho toán hệ thống Client/Server – thiết bị điều khiển từ xa có sử dụng cảm biến nhiệt độ 1.2 Nội dung nghiên cứu Mục tiêu luận văn: Mục tiêu đặt nghiên cứu phƣơng pháp kiểm thử dựa mơ hình để hỗ trợ cho việc phát triển hệ thống nhúng Nhiệm vụ luận văn: Trong luận văn này, nhiệm vụ nghiên cứu ứng dụng cụ thể NModel sau áp dụng kiểm thử tốn thiết bị điều khiển từ xa Client/Server Luận văn tập trung nghiên cứu khảo sát tổng quan lý thuyết hệ thống nhúng; lý thuyết phân tích kiểm thử dựa mơ hình kỹ thuật kiểm thử phần mềm; luận văn nghiên cứu loại chƣơng trình mơ hình NModel để kiểm thử toán thiết bị điều khiển từ xa Client/Server Từ hiểu biết phân tích kiểm thử phần mềm, luận văn áp dụng quy trình phƣơng pháp kiểm thử ngoại tuyến kiểm thử trực tuyến (on-the-fly) để kiểm thử toán Hệ thống Client/Server – thiết bị điều khiển từ xa toán hệ thống nhúng đơn giản nhƣng đầy đủ, không sử dụng hệ điều hành nhúng Các chƣơng trình đƣợc viết ngơn ngữ C# kiểm thử đƣợc chạy mô công cụ NModel ... QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN THỊ HẠNH NGHIÊN CỨU ỨNG DỤNG “NMODEL” TRONG VIỆC PHÁT TRIỂN HỆ THỐNG NHÚNG THỜI GIAN THỰC Ngành: Công nghệ thông tin Chuyên ngành: Kỹ thuật phần... số hệ thống nhúng thơng dụng nhƣ robot, máy in điện thoại 2.1.2 Hệ thời gian thực Thời gian thực khó định nghĩa xác Thơng thƣờng, tốn điều khiển hay gặp thuật ngữ ? ?thời gian thực? ?? Vậy thời gian. .. Khung thời gian đƣợc xác định yêu cầu hệ thống Về bản, thời gian thực đƣợc phân thành hai loại thời gian thực cứng (hard real-time) thời gian thực mềm (soft real-time) Theo [1], hai loại thời gian

Ngày đăng: 25/03/2015, 09:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. TS. Lưu Hồng Việt, “Tài liệu tóm tắt bài giảng Hệ thống điều khiển nhúng”, Đại học Bách Khoa Hà Nội.Tiếng Anh Sách, tạp chí
Tiêu đề: Tài liệu tóm tắt bài giảng Hệ thống điều khiển nhúng
2. Colin Campbell, Margus Veanes, and Jonathan Jacky (2007, 2008 ), “ NModel Reference” Sách, tạp chí
Tiêu đề: NModel Reference
3. J. A. Cook J. S. Freudenberg (2008), “Embedded Software Architecture”, EECS 461 Sách, tạp chí
Tiêu đề: Embedded Software Architecture
Tác giả: J. A. Cook J. S. Freudenberg
Năm: 2008
4. Jonathan Jacky, Margus Veanes, Colin Campbell, Wolfram Schulte Cambridge University Press (2008, available December 2007), “Model-based Software Testing and Analysis with C#”, Cambridge University Sách, tạp chí
Tiêu đề: Model-based Software Testing and Analysis with C#
5. Juhan Ernits, Margus Veanes, and Johannes Helander (June 2008), “ Model-Based Testing of Robots with NModel” Sách, tạp chí
Tiêu đề: Model-Based Testing of Robots with NModel
6. Juhan Ernits, Rivo Roo, Jonathan Jacky, Margus Veanes (2009), “Model-Based Testing of Web Applications Using NModel” Sách, tạp chí
Tiêu đề: “Model-Based Testing of Web Applications Using NModel
Tác giả: Juhan Ernits, Rivo Roo, Jonathan Jacky, Margus Veanes
Năm: 2009
8. M. Broy, B. Jonsson, J.-P. Katoen, M. Leucker, and A. Pretschner (The volume is the outcome of a research seminar that was held in Schloss Dagstuhl in January 2004), editors, Model-Based Testing of Reactive Systems.Website Sách, tạp chí
Tiêu đề: Model-Based Testing of Reactive Systems
7. M. Veanes, C. Campbell, W. Grieskamp, L. Nachmanson, W. Schulte, and N Khác

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w