Luận văn thạc sĩ: Nghiên cứu ứng dụng NModel trong phát triển hệ thống nhúng thời gian thực

Luận văn thạc sĩ VNU UET nghiên cứu ứng dụng NModel trong phát triển hệ thống nhúng thời gian thực, nâng cao hiệu suất và độ tin cậy.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2014

74
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CAM ĐOAN

LỜI CẢM ƠN

1. CHƯƠNG 1: ĐẶT VẤN ĐỀ

1.1. Nội dung nghiên cứu

1.2. Tầm quan trọng của kiểm thử dựa trên mô hình

1.3. Cấu trúc luận văn

2. CHƯƠNG 2: TỔNG QUAN VỀ HỆ THỐNG NHÚNG

2.1. Các khái niệm về hệ thống nhúng

2.2. Hệ thống nhúng

2.3. Hệ thời gian thực

2.4. Cấu trúc phần cứng hệ thống nhúng

2.4.1. Các thành phần cơ bản

2.4.2. Đơn vị xử lý trung tâm (CPU)

2.4.3. Bộ nhớ

2.4.4. Thiết bị ngoại vi

2.4.5. Bus địa chỉ, bus dữ liệu và bus điều khiển

3. NGHIÊN CỨU VỀ KIỂM THỬ VÀ PHÂN TÍCH DỰA TRÊN MÔ HÌNH

3.1. Khái niệm NModel

3.2. Khái niệm chương trình mô hình

3.3. Khái niệm phân tích dựa trên mô hình

3.4. Khái niệm kiểm thử dựa trên mô hình

3.5. Chương trình mô hình trong quy trình phần mềm

3.6. Hệ thống với các mô hình hữu hạn

3.7. Chương trình mô hình

3.8. Cấu trúc chương trình mô hình hợp đồng C#

3.9. Thăm dò và phân tích chương trình mô hình hữu hạn

3.10. Máy trạng thái hữu hạn (FSM-Finite State Machines)

3.11. Cấu trúc chương trình mô hình với thành phần (Composition)

3.12. Điều khiển kịch bản (Scenario control)

3.13. Kiểm thử hệ thống đóng

3.14. Tạo bộ kiểm thử (test suite) cho phương pháp kiểm thử ngoại tuyến (Offline)

3.15. Dấu vết và giới hạn

3.16. Bản khai thác kiểm thử (Test harness) và việc thực thi kiểm thử (Test execution). Hạn chế của kiểm thử ngoại tuyến

3.17. Kiểm thử các hệ thống với trạng thái phức tạp

3.18. Kiểm thử “on-the-fly”

4. XÂY DỰNG DEMO VÀ KIỂM THỬ HỆ THỐNG VỚI NMODEL

4.1. Giới thiệu NModel

4.2. Cài đặt NModel

4.3. Cách sử dụng các công cụ mpv, otg, ct

4.3.1. Công cụ mpv

4.3.2. Công cụ otg

4.3.3. Công cụ ct

4.4. Xây dựng và thực nghiệm với demo hệ thống client/server

4.5. Mô tả bài toán. Kiểm thử demo bằng NModel

4.6. Kiểm thử ngoại tuyến (Offline)

4.7. Kiểm thử on-the-fly

5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về NModel trong phát triển hệ thống nhúng

NModel là một công cụ mạnh mẽ trong việc phát triển và kiểm thử phần mềm cho các hệ thống nhúng. Công cụ này giúp tự động hóa quá trình kiểm thử, giảm thiểu thời gian và chi phí. NModel cho phép xây dựng các mô hình mô phỏng, từ đó tạo ra các ca kiểm thử tự động. Việc áp dụng NModel trong phát triển hệ thống nhúng thời gian thực mang lại nhiều lợi ích, đặc biệt trong việc đảm bảo chất lượng phần mềm.

1.1. Khái niệm về NModel và ứng dụng của nó

NModel là một công cụ kiểm thử dựa trên mô hình, cho phép người dùng mô hình hóa hành vi của hệ thống. Ứng dụng của NModel trong phát triển phần mềm giúp tăng cường khả năng kiểm thử và phát hiện lỗi sớm hơn trong quy trình phát triển.

1.2. Lợi ích của việc sử dụng NModel trong hệ thống nhúng

Việc sử dụng NModel trong hệ thống nhúng giúp tự động hóa quá trình kiểm thử, giảm thiểu sai sót do con người. NModel cũng hỗ trợ việc kiểm thử thời gian thực, đảm bảo rằng các yêu cầu về thời gian được đáp ứng.

II. Thách thức trong phát triển hệ thống nhúng thời gian thực

Phát triển hệ thống nhúng thời gian thực đối mặt với nhiều thách thức, bao gồm yêu cầu về độ tin cậy, hiệu suất và khả năng mở rộng. Các hệ thống này cần phải hoạt động ổn định trong các điều kiện khác nhau và đáp ứng các yêu cầu thời gian nghiêm ngặt. Việc kiểm thử các hệ thống này cũng gặp khó khăn do tính phức tạp của chúng.

2.1. Các vấn đề về độ tin cậy trong hệ thống nhúng

Độ tin cậy là yếu tố quan trọng trong phát triển hệ thống nhúng. Các lỗi phần mềm có thể dẫn đến hậu quả nghiêm trọng, đặc biệt trong các ứng dụng như y tế hoặc giao thông.

2.2. Thách thức về hiệu suất và thời gian thực

Hệ thống nhúng cần phải xử lý thông tin trong thời gian thực. Việc đảm bảo rằng các tác vụ được thực hiện đúng thời gian là một thách thức lớn trong phát triển phần mềm cho các hệ thống này.

III. Phương pháp kiểm thử dựa trên mô hình với NModel

Kiểm thử dựa trên mô hình là một phương pháp hiệu quả trong việc phát triển hệ thống nhúng. NModel cho phép tạo ra các mô hình mô phỏng, từ đó sinh ra các ca kiểm thử tự động. Phương pháp này giúp phát hiện lỗi sớm và cải thiện chất lượng phần mềm.

3.1. Quy trình kiểm thử với NModel

Quy trình kiểm thử với NModel bao gồm việc xây dựng mô hình, sinh ca kiểm thử và thực hiện kiểm thử. Mô hình hóa giúp xác định các hành vi của hệ thống và tạo ra các ca kiểm thử tự động.

3.2. Lợi ích của kiểm thử dựa trên mô hình

Kiểm thử dựa trên mô hình giúp giảm thiểu thời gian và chi phí kiểm thử. Nó cũng giúp phát hiện lỗi sớm hơn, từ đó cải thiện chất lượng phần mềm cho hệ thống nhúng.

IV. Ứng dụng thực tiễn của NModel trong hệ thống nhúng

NModel đã được áp dụng thành công trong nhiều dự án phát triển hệ thống nhúng. Các ứng dụng này bao gồm thiết bị điều khiển từ xa, hệ thống giám sát và nhiều lĩnh vực khác. Việc sử dụng NModel giúp cải thiện quy trình phát triển và kiểm thử phần mềm.

4.1. Ví dụ về ứng dụng NModel trong thiết bị điều khiển từ xa

Một trong những ứng dụng điển hình của NModel là trong thiết bị điều khiển từ xa. NModel giúp mô phỏng hành vi của thiết bị, từ đó tạo ra các ca kiểm thử hiệu quả.

4.2. Kết quả nghiên cứu và thực nghiệm với NModel

Nghiên cứu cho thấy việc áp dụng NModel trong phát triển hệ thống nhúng mang lại nhiều lợi ích, bao gồm giảm thiểu lỗi và cải thiện hiệu suất của phần mềm.

V. Kết luận và hướng phát triển tương lai của NModel

NModel đã chứng minh được giá trị của nó trong việc phát triển và kiểm thử hệ thống nhúng. Tương lai của NModel hứa hẹn sẽ tiếp tục phát triển với nhiều tính năng mới, giúp cải thiện quy trình phát triển phần mềm. Việc nghiên cứu và ứng dụng NModel sẽ góp phần thúc đẩy sự phát triển của lĩnh vực này.

5.1. Tương lai của NModel trong phát triển phần mềm

NModel sẽ tiếp tục được cải tiến để đáp ứng nhu cầu ngày càng cao trong phát triển hệ thống nhúng. Các tính năng mới sẽ giúp nâng cao hiệu quả kiểm thử và phát hiện lỗi.

5.2. Hướng nghiên cứu tiếp theo trong lĩnh vực này

Nghiên cứu tiếp theo sẽ tập trung vào việc phát triển các công cụ hỗ trợ kiểm thử và cải thiện quy trình phát triển phần mềm cho hệ thống nhúng.

22/07/2025
Luận văn thạc sĩ vnu uet 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

Trích đoạn nội dung tài liệu

Đặt vấn đề Ngày nay, các hệ thống nhúng rất phát triển với những ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp và đời sống. Các hệ thống nhúng có kiến trúc phần cứng cũng nhƣ phần mềm rất đa dạng và phong phú. Nhƣ chúng ta đã biết, trong phát triển phần mềm thì hoạt động kiểm thử có vai trò hết sức quan trọng, mang tính sống còn của sản phẩm và với phần mềm nhúng cũng không phải là ngoại lệ. Sự phát triển của hệ thống nhúng kéo theo những yêu cầu phát triển của hoạt động kiểm thử phần mềm nhúng.

Thông thƣờng, một cách rất phổ biến để kiểm thử phần mềm cho hệ thống nhúng nói chung đó là chạy phần mềm trên chƣơng trình giả lập phần cứng, chƣơng trình giả lập ở đây có thể là một vi điều khiển ảo cũng có thể là một chƣơng trình mô phỏng hình dung cả một hệ thống mạch bao gồm vi điều khiển và các thiết bị khác. Tuy nhiên hiện nay, hệ thống nhúng ở Việt Nam mới phát triển khá khiêm tốn so với thế giới, và lĩnh vực kiểm thử nhúng lại càng khiêm tốn hơn. Có rất ít các bài báo, các tài liệu nói về hoạt động kiểm thử nhúng cũng nhƣ không có nhiều công cụ hỗ trợ cho việc kiểm thử này. Do đó, việc nghiên cứu và tìm hiểu các phƣơng pháp, các kỹ thuật kiểm thử cũng nhƣ công cụ cho phần mềm nhúng là một vấn đề cần thiết hiện nay, nó sẽ góp phần thúc đẩy sự phát triển của lĩnh vực hệ thống nhúng, một lĩnh vực giàu tiềm năng nhƣng mới chỉ bƣớc đầu phát triển ở việt nam.

Trong luận văn này, tôi chọn nghiên cứu kiểm thử dựa trên mô hình với NModel trong việc phát triển phần mềm nhúng, cụ thể là kiểm thử cho bài toán về hệ thống Client/Server – một thiết bị điều khiển từ xa có sử dụng cảm biến nhiệt độ. Nội dung nghiên cứu Mục tiêu của luận văn: Mục tiêu đặt ra là nghiên cứu phƣơng pháp kiểm thử dựa trên mô hình để hỗ trợ cho việc phát triển hệ thống nhúng. Nhiệm vụ của luận văn: Trong luận văn này, nhiệm vụ chính là nghiên cứu ứng dụng cụ thể NModel sau đó áp dụng kiểm thử bài toán thiết bị điều khiển từ xa Client/Server. Luận văn tập trung nghiên cứu và khảo sát tổng quan về lý thuyết hệ thống nhúng; lý thuyết phân tích và kiểm thử dựa trên mô hình và các kỹ thuật kiểm thử phần mềm; luận văn cũng nghiên cứu về các loại chƣơng trình mô hình trong NModel để kiểm thử bài toán về thiết bị điều khiển từ xa Client/Server.

Từ những hiểu biết về phân tích và kiểm thử phần mềm, luận văn đã áp dụng quy trình của các phƣơng pháp kiểm thử ngoại tuyến và kiểm thử trực tuyến (on-the-fly) để kiểm thử bài toán. Hệ thống Client/Server – thiết bị điều khiển từ xa là bài toán về 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 bằng ngôn ngữ C# và kiểm thử đƣợc chạy mô phỏng bằng công cụ NModel. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.

Tầm quan trọng của kiểm thử dựa trên mô hình Trong phát triển phần mềm, các kiểm thử viên thƣờng thực hiện công việc bằng phƣơng pháp truyền thống nên đôi khi bị nhàm chán vì công việc lặp đi lặp lại, tốn thời gian để thực hiện kiểm thử. Do đó, kiểm thử dựa trên mô hình sẽ khắc phục đƣợc một số vấn đề nhƣ sau:  Quá trình sinh ca kiểm thử là tự động nên sẽ rút ngắn thời gian làm phần mềm, chất lƣợng phần mềm đƣợc cải thiện hơn, sinh ra nhiều ca kiểm thử và phát hiện nhiều lỗi.  Loại bỏ đƣợc sự nhàm chán và tính chủ quan khi làm việc nên giúp cho các kiểm thử viên hài lòng với công việc của mình.  Tự động tạo và kiểm tra để tránh các ca kiểm thử trùng nhau hoặc không hữu hiệu.

 Khi có yêu cầu thay đổi hệ thống thì việc thay đổi các ca kiểm thử chỉ việc thay đổi mô hình của hệ thống. Cấu trúc luận văn Các phần còn lại của luận văn có cấu trúc nhƣ sau: Chƣơng 2 trình bày tổng quan về hệ thống nhúng và phần mềm nhúng. Chƣơng 3 trình bày về lý thuyết phân tích và kiểm thử dựa trên mô hình, và hệ thống với các mô hình hữu hạn. Chƣơng 4 giới thiệu về cách cài đặt và cách sử dụng công cụ NModel, trình bày về bài toán và kết quả thực nghiệm kiểm thử hệ thống Client/Server – thiết bị điều khiển từ xa.

Cuối cùng là kết luận về quá trình nghiên cứu, đƣa ra các kết quả đạt đƣợc, và hƣớng nghiên cứu tiếp theo. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 CHƢƠNG 2. TỔNG QUAN VỀ HỆ THỐNG NHÚNG 2. Các khái niệm về hệ thống nhúng 2.

Hệ thống nhúng Ngày nay, xung quanh ta có rất nhiều thiết bị, đồ dùng liên quan đến hệ thống nhúng nhƣ đồng hồ kỹ thuật số, ô tô, hoặc những sản phẩm lớn nhƣ đèn giao thông, máy giặt, hệ thống kiểm soát các máy năng lƣợng hạt nhân. Vậy thực chất “hệ thống nhúng là gì?”. Có rất nhiều khái niệm về hệ thống nhúng. Tuy nhiên, theo [1]: “Hệ thống nhúng là một thuật ngữ để chỉ một hệ thống có khả năng tự trị đƣợc nhúng vào trong một môi trƣờng hay một hệ thống mẹ.

Đó là các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hóa điều khiển, quan trắc và truyền tin”. Không giống nhƣ các máy tính đa chức năng, hệ thống nhúng đƣợc thiết kế để thực hiện một chức năng chuyên biệt nào đó. Nó có đặc điểm là hoạt động ổn định và có tính năng tự động hóa cao. Sau đây là một số ví dụ điển hình về hệ thống nhúng:  Các hệ thống dẫn đƣờng trong không lƣu, hệ thống định vị toàn cầu, vệ tinh.

 Các thiết bị gia dụng: tủ lạnh, lò vi sóng, lò nƣớng.  Các thiết bị kết nối mạng: router, hub, gateway.  Các thiết bị văn phòng: máy photocopy, máy fax, máy in, máy scan.  Các thiết bị y tế: máy thẩm thấu, máy điều hòa nhịp tim.

 Các máy trả lời tự động.  Dây chuyền sản xuất tự động trong công nghiệp, robots.1: Mẫu xe trong cuộc thi Micom Car Rally (chip Renesas H8) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2: Một số hệ thống nhúng thông dụng nhƣ robot, máy in và điện thoại 2. Hệ thời gian thực Thời gian thực rất khó định nghĩa chính xác. Thông thƣờng, trong các bài toán điều khiển hay gặp thuật ngữ “thời gian thực”.

Vậy thời gian thực nên đƣợc hiểu nhƣ thế nào cho đúng? Thời gian thực là yêu cầu khắt khe về sự ràng buộc thời gian, có nghĩa là: Các yêu cầu của hệ thống phải đảm bảo thoả mãn các hành vi của hệ thống đƣợc thực hiện đúng trong khung thời gian cho trƣớc hoàn toàn xác định. Khung thời gian này đƣợc xác định bởi yêu cầu của hệ thống. Về cơ bản, thời gian thực đƣợc phân ra thành hai loại là thời gian thực cứng (hard real-time) và thời gian thực mềm (soft real-time). Theo [1], hai loại thời gian thực đƣợc định nghĩa nhƣ sau:  Thời gian thực cứng là khi hệ thống hoạt động với yêu cầu thỏa mãn sự ràng buộc trong khung thời gian cứng tức là nếu vi phạm thì sẽ dẫn đến hoạt động của toàn hệ thống bị sai hoặc phá hủy.

 Thời gian thực mềm là khi hệ thống hoạt động với yêu cầu thoản mãn ràng buộc trong khung thời gian mềm, nếu vi phạm và sai lệch nằm trong khoảng cho phép thì hệ thống vẫn có thể hoạt động đƣợc và chấp nhận đƣợc. Ví dụ với hệ thời gian thực cứng: Máy hỗ trợ nhịp tim cho bệnh nhân khi phẫu thuật. Thuật toán điều khiển phụ thuộc vào thời gian nhịp tim của ngƣời bệnh, nếu thời gian này bị trễ thì tính mạng của ngƣời bệnh sẽ gặp nguy hiểm. Ví dụ với hệ thời gian thực mềm: Cây rút tiền tự động ATM.

Khi ta đƣa thẻ ATM vào máy, có thể do nghẽn mạng mà việc rút tiền bị trễ vài giây thậm chí vài phút thì ta vẫn có thể kiên nhẫn chờ đợi mà không gây thiệt hại gì cho ngƣời rút tiền. Các lĩnh vực ứng dụng của hệ thống nhúng: Ngày nay, có rất nhiều các ứng dụng của hệ thống nhúng đang đƣợc sử dụng và sẽ tiếp tục tăng nhanh trong tƣơng lai. Một số lĩnh vực và sản phẩm thị trƣờng của các hệ thống nhúng có thể đƣợc nhóm nhƣ sau:  Các thiết bị điều khiển  Lĩnh vực truyền thông  Thiết bị y tế LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 14  Hệ thống nhà thông minh  Rô bốt  Ô tô, tàu điện 2. Cấu trúc phần cứng hệ thống nhúng 2.

Các thành phần cơ bản 2. Đơn vị xử lý trung tâm (CPU) Hình 2.3:Cấu trúc CPU CPU là viết tắt của chữ “Central Processing Unit”. Nó là đơn vị xử lý trung tâm đóng vai trò nhƣ bộ não chịu trách nhiệm thực thi các phép tính và thực hiện các lệnh. CPU là một mạch tích hợp phức tạp gồm hàng triệu transitor trên một bảng mạch nhỏ.

Bộ xử lý trung tâm bao gồm đơn vị logic toán học ALU (Arthimetic Logic Unit), bộ giải mã (decoder), bộ tuần tự (sequencer) và các thanh ghi. Trong tài liệu [1], cơ chế làm việc của CPU đƣợc giải thích nhƣ sau: Bộ giải mã chuyển đổi các lệnh lƣu trữ ở trong bộ mã chƣơng trình thành các mã mà ALU có thể hiểu đƣợc và thực thi. Bộ tuần tự có nhiệm vụ quản lý dòng dữ liệu trao đổi qua bus dữ liệu của vi xử lý. Các thanh ghi đƣợc sử dụng để CPU lƣu trữ tạm thời các dữ liệu chính cho việc thực thi các lệnh và chúng có thể thay đổi nội dung trong quá trình hoạt động của ALU.

Hầu hết các thanh ghi của vi xử lý đều là các bộ nhớ đƣợc tham chiếu và hội nhập với khu vực bộ nhớ và có thể đƣợc sử dụng nhƣ bất kỳ khu vực nhớ khác. Bộ nhớ Bộ nhớ là một yêu cầu tài nguyên quan trọng không chỉ trong hệ thống nhúng mà trong mọi hệ thống khác. Ngay cả hệ thống con ngƣời cũng cần bộ nhớ. Về kiến LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 15 trúc bộ nhớ đƣợc chia làm hai loại cơ bản là kiến trúc bộ nhớ Von Neumann và Havard.

Kiến trúc bộ nhớ von Neumann và Havard đƣợc biểu diễn nhƣ trong hình 2.4: Kiến trúc bộ nhớ Von Neumann và Havard Kiến trúc Von Neumann không phân biệt vùng chứa dữ liệu và mã chƣơng trình. Chúng đều đƣợc truy xuất trên cùng một đƣờng.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ