Luận án tiến sĩ về giải pháp thông minh cho thiết bị đeo tay trên nền tảng Internet vạn vật

Luận án tiến sĩ nghiên cứu sinh mã nguồn cho thiết bị đeo tay trong giải pháp thông minh dựa trên mô hình hóa và tập luật trên nền tảng IoT.

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận án tiến sĩ

2022

178
2
0

Phí lưu trữ

45 Point

Mục lục chi tiết

LỜI CAM ĐOAN

TÓM TẮT LUẬN ÁN

ABSTRACT

LỜI CÁM ƠN

1. GIỚI THIỆU BÀI TOÁN

1.1. Bối cảnh nghiên cứu

1.2. Vấn đề sinh mã nguồn trên các thiết bị đeo tay

1.3. Bài toán sinh mã nguồn cho các ứng dụng chạy trên các thiết bị đeo tay trong lĩnh vực Internet vạn vật

1.4. Phát biểu vấn đề

1.5. Mục tiêu nghiên cứu

1.6. Câu hỏi nghiên cứu

1.7. Những đóng góp chính của nghiên cứu

1.8. Tầm quan trọng của nghiên cứu

1.9. Giới hạn của nghiên cứu

1.10. Bố cục của luận án

2. TÌNH HÌNH NGHIÊN CỨU VÀ KIẾN THỨC NỀN TẢNG

2.1. Tình hình nghiên cứu

2.1.1. Ngôn ngữ chuyên biệt hóa trong ngữ cảnh hẹp

2.1.2. Ngôn ngữ chuyên biệt hóa trong lĩnh vực Internet vạn vật

2.1.3. Những ứng dụng trên thiết bị đeo tay (IoWT) trong các giải pháp thông minh

2.1.4. Những thách thức trong bài toán sinh mã nguồn cho thiết bị đeo tay

2.2. Kiến thức nền tảng

2.2.1. Phát triển phần mềm theo kỹ thuật dựa trên mô hình (MDE)

2.2.2. Sinh mã nguồn dựa theo hướng phát triển mô hình MDD

2.2.3. Sinh mã nguồn dựa theo kiến trúc hướng mô hình MDA

2.2.4. Sinh mã nguồn dựa vào đặc tả theo ngữ nghĩa

2.3. Tổng kết chương

3. KHUNG THỨC TỔNG QUÁT XÂY DỰNG NGÔN NGỮ CHUYÊN BIỆT HÓA TRONG NGỮ CẢNH HẸP CHO LĨNH VỰC INTERNET VẠN VẬT

3.1. Cơ sở cho cách tiếp cận xây dựng khung thức cho bài toán sinh mã nguồn theo hướng mô hình

3.2. Các khung thức sinh mã nguồn theo hướng mô hình

3.3. Khung thức đề xuất

3.4. Cơ chế sinh mã của khung thức tổng quát

3.5. Tổng kết chương

4. CÔNG CỤ SINH MÃ NGUỒN CHO CÁC ỨNG DỤNG CHẠY TRÊN THIẾT BỊ ĐEO TAY MICRASPIS

4.1. Thư viện EMF và GEF

4.2. Ví dụ minh họa

4.3. Kiến trúc tổng quát

4.4. Tầng thiết kế phần cứng và đặc tả ứng dụng

4.4.1. Thiết kế phần cứng

4.4.2. Thiết kế ứng dụng

4.5. Tầng kiểm tra cú pháp và ràng buộc dựa trên tập luật

4.5.1. Sub-phase 1: Kiểm tra ràng buộc

4.5.2. Sub-phase 2: Kiểm tra cú pháp

4.6. Sinh mã nguồn cho chương trình

4.6.1. Sinh mã nguồn theo đặc tả cụ thể

4.6.2. Sinh mã nguồn theo đặc tả trừu tượng

4.6.3. Sinh mã theo khai báo trực quan

4.7. So sánh kết quả

4.8. Tổ chức thử nghiệm

4.8.1. Triển khai Micraspis trong các trường học

4.8.2. Triển khai Micraspis trong môi trường công nghiệp

4.9. Tỷ lệ độ hài lòng với công cụ Micraspis

4.10. Tỷ lệ mã nguồn tạo ra tự động với công cụ Micraspis

4.11. Chất lượng mã nguồn tạo ra từ công cụ Micraspis

4.12. Tổng kết chương

6. MÔ HÌNH HÓA ĐẶC TẢ NGHIỆP VỤ CÁC GIẢI PHÁP THÔNG MINH BẰNG NGÔN NGỮ ALLOY

6.1. Dùng Alloy kiểm soát các đối tượng trong ứng dụng chạy trên thiết bị đeo tay

6.1.1. Ví dụ minh họa

6.1.2. Mô hình đề xuất

6.1.3. Giải thuật kiểm soát đối tượng thông qua các tập luật

6.1.4. Kết quả thực nghiệm

6.2. Tổng kết chương

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

7.1. Kết luận

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

7.2.1. Mở rộng nền tảng Web

7.2.2. Mở rộng các thành phần phần cứng

7.2.3. Mở rộng phạm vi sinh mã nguồn

7.2.4. Một số hướng nghiên cứu mở rộng khác

DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ

CÁC ĐỀ TÀI ĐÃ HOÀN TẤT

Tài liệu tham khảo

Danh sách các Case-study

Tóm tắt

I. Giới thiệu về thiết bị đeo tay

Thiết bị đeo tay, hay còn gọi là wearable, là những thiết bị nhỏ gọn được thiết kế để gắn lên cơ thể người, thường xuyên thu thập và truyền tải dữ liệu. Trong bối cảnh Internet vạn vật (IoT), các thiết bị này đóng vai trò quan trọng trong việc phát triển các giải pháp thông minh. Chúng có thể được ứng dụng trong nhiều lĩnh vực như y tế, thể thao, và quản lý sức khỏe. Việc phát triển các ứng dụng cho thiết bị đeo tay đang trở thành một xu hướng quan trọng, với nhu cầu ngày càng tăng từ người dùng. Theo nghiên cứu, các thiết bị này không chỉ giúp theo dõi sức khỏe mà còn hỗ trợ trong việc quản lý các hoạt động hàng ngày. Sự phát triển của công nghệ cảm biếnứng dụng di động đã tạo điều kiện thuận lợi cho việc tích hợp các thiết bị này vào cuộc sống hàng ngày.

1.1. Tầm quan trọng của thiết bị đeo tay

Thiết bị đeo tay không chỉ đơn thuần là công cụ theo dõi sức khỏe mà còn là một phần không thể thiếu trong hệ sinh thái IoT. Chúng giúp người dùng theo dõi các chỉ số sức khỏe như nhịp tim, mức độ hoạt động, và giấc ngủ. Hơn nữa, các thiết bị này còn có khả năng kết nối với các thiết bị khác, tạo ra một hệ thống thông minh giúp người dùng quản lý sức khỏe một cách hiệu quả. Việc sử dụng thiết bị đeo tay trong các giải pháp thông minh không chỉ nâng cao chất lượng cuộc sống mà còn giúp giảm thiểu chi phí y tế trong dài hạn.

II. Giải pháp công nghệ cho thiết bị đeo tay

Giải pháp công nghệ cho thiết bị đeo tay bao gồm việc phát triển các ứng dụng thông minh dựa trên mô hình hóatập luật. Các ứng dụng này không chỉ giúp thu thập dữ liệu mà còn phân tích và đưa ra các khuyến nghị cho người dùng. Việc áp dụng công nghệ IoT trong thiết bị đeo tay cho phép người dùng theo dõi sức khỏe và hoạt động của mình một cách liên tục. Hệ thống này có thể tích hợp với các ứng dụng di động để cung cấp thông tin chi tiết và dễ hiểu cho người dùng. Đặc biệt, việc sử dụng trí tuệ nhân tạo trong phân tích dữ liệu từ thiết bị đeo tay giúp nâng cao độ chính xác và hiệu quả trong việc đưa ra các khuyến nghị.

2.1. Mô hình hóa và tập luật trong phát triển ứng dụng

Mô hình hóa và tập luật là hai yếu tố quan trọng trong việc phát triển ứng dụng cho thiết bị đeo tay. Mô hình hóa cho phép các nhà phát triển tạo ra các mô hình trừu tượng của ứng dụng, từ đó sinh mã nguồn một cách tự động. Tập luật giúp xác định các quy tắc và ràng buộc trong ứng dụng, đảm bảo rằng các ứng dụng hoạt động đúng theo yêu cầu. Việc kết hợp hai yếu tố này không chỉ giúp tiết kiệm thời gian phát triển mà còn nâng cao chất lượng mã nguồn. Công cụ Micraspis được phát triển nhằm hỗ trợ quá trình này, cho phép sinh mã nguồn cho các ứng dụng chạy trên thiết bị đeo tay một cách nhanh chóng và hiệu quả.

III. Phân tích dữ liệu và ứng dụng thực tiễn

Phân tích dữ liệu từ thiết bị đeo tay là một phần quan trọng trong việc phát triển các giải pháp thông minh. Dữ liệu thu thập từ các cảm biến có thể được sử dụng để theo dõi sức khỏe, phát hiện các vấn đề tiềm ẩn và đưa ra các khuyến nghị phù hợp. Việc áp dụng trí tuệ nhân tạo trong phân tích dữ liệu giúp nâng cao khả năng dự đoán và đưa ra các giải pháp kịp thời cho người dùng. Các ứng dụng này không chỉ giúp người dùng theo dõi sức khỏe mà còn hỗ trợ trong việc quản lý các hoạt động hàng ngày, từ đó nâng cao chất lượng cuộc sống.

3.1. Ứng dụng trong lĩnh vực y tế

Trong lĩnh vực y tế, thiết bị đeo tay có thể được sử dụng để theo dõi các chỉ số sức khỏe như nhịp tim, huyết áp và mức độ hoạt động. Các ứng dụng này giúp bác sĩ theo dõi tình trạng sức khỏe của bệnh nhân từ xa, từ đó đưa ra các quyết định kịp thời. Hệ thống này không chỉ giúp giảm thiểu chi phí y tế mà còn nâng cao chất lượng chăm sóc sức khỏe. Việc sử dụng thiết bị đeo tay trong y tế đang trở thành một xu hướng quan trọng, với nhiều nghiên cứu và ứng dụng thực tiễn đang được triển khai.

09/02/2025

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

Chương 1 GIỚI THIỆU BÀI TOÁN 1.1 Bối cảnh nghiên cứu Trong lịch sử công nghệ phần mềm, vấn đề tự động hóa trong quá trình xây dựng ứng dụng luôn được quan tâm. Những cách tiếp cận để tự động hóa như lập trình logic (Prolog), lập trình đặc tả (ví dụ như Lisp, Alloy) cũng đã đem lại một số kết quả về mặt lý thuyết nhưng tính hiệu quả và độ khả dụng còn nhiều hạn chế (chạy chậm, không có tương tác người máy). Ngoài ra vấn đề này cũng được quan tâm rất nhiều trong lĩnh vực học thuật cũng như công nghiệp từ rất sớm. Những công cụ cho phép sinh mã nguồn từ mô hình UML (ví dụ như công cụ PowerDesigner1 , IBM Rational Rose2 ) hay những công cụ cho phép sinh mã nguồn từ giao diện người dùng (ví dụ như MS Visual Studio3 , Apache NetBeans4 ) được các công ty phát triển mạnh mẽ cũng như sự tiếp nhận của người dùng rất tích cực.

Bài toán sinh mã nguồn cũng chưa bao giờ là bài toán cũ và có lời giải thỏa mã cho người dùng. Hiện nay, với xu thế phát triển những hệ thống thông minh, nhu cầu phần mềm càng được quan tâm nhiều hơn nữa từ đó bài toán này cũng thôi thúc các nhà nghiên cứu cũng như các công ty trong lĩnh vực phát triển phần mềm càng đầu tư và hoàn thiện lời giải. Tuy nhiên, vẫn còn có sự giới hạn giữa việc sinh mã nguồn từ đặc tả ứng dụng bằng các mô hình trừu tượng trong từng lĩnh vực. Điều này cũng có thể giải thích từ nhiều nguyên nhân như quy trình xây dựng phần mềm, phương pháp luận biểu diễn phần mềm hay mức độ tự động sinh mã nguồn hay các yếu tố khác.

Quy trình xây dựng phần mềm 1 https://www.com/products/powerdesigner-data-modeling-tools.html 2 https://www.com/support/pages/ibm-rational-rose-enterprise-7004-ifix001 3 https://visualstudio.com 4 https://netbeans.org/download/index.html 1 được xem là hiệu quả khi quy trình đó đảm bảo phạm vi ứng dụng rộng rãi, thời gian phát triển ngắn cũng như tính tự động cao. Trên thực tế, với sự xuất hiện ngôn ngữ lập trình và các công cụ ngày càng nhiều, cũng như nhiều phương pháp luận chính quy và bán chính quy đã đem lại sự tự động hóa mang tính cục bộ trong quy trình xây dựng phần mềm (một khâu nào đó trong quy trình phát triển phần mềm). Việc tự động hóa cho toàn bộ quá trình phát triển phần mềm rõ ràng vẫn là vấn đề chưa được quan tâm đúng mức. Tuy nhiên, việc tự động hóa cho toàn bộ quá trình này sẽ dẫn đến phạm vi ứng dụng bị giới hạn lại và đó cũng là yếu tố làm cho lĩnh vực này còn bỏ ngỏ nhiều hướng nghiên cứu [2], [10].

Trong bối cảnh đó, chúng tôi đã chọn một hướng để tiếp cận và hiện thực một quy trình phát triển phần mềm mà tính tự động hóa được nâng lên cũng như phạm vi áp dụng được cải thiện. Cụ thể chúng tôi đã chọn quy trình xây dựng các ứng dụng trên thiết bị đeo tay trong lĩnh vực Internet vạn vật một cách tự động. Interner vận vật (IoT) là một lĩnh vực được ứng dụng rất nhiều vào đời sống hiện đại ngày nay. Từ các ứng dụng thông minh trên xe hơi nhằm xác định đường đi ngắn nhất trong lộ trình, hay các thiết bị theo dõi hoạt động cơ thể của chúng ta.

Từ những ứng dụng này, chúng ta thu thập được một dữ liệu cực lớn, giúp cho các thiết bị thông minh, trao đổi chia sẻ thông tin lẫn nhau [11]. Một trong những thiết bị thông minh mà chúng ta thường dùng trong các lĩnh vực về chăm sóc sức khỏe cho đến những cảnh báo về tai nạn, thiên tai,. đó là thiết bị đeo tay (wearables). Thiết bị này với các phần mềm tích hợp được phát triển rất mạnh mẽ trong nhiều lĩnh vực ứng dụng trong cuộc sống.

Trong đó, hệ thống cảnh báo sớm trong sức khỏe là được sử dụng nhiều nhất (Hình 1. Theo thống kê có hơn 400 triệu thiết bị đeo tay được bán ra trên thị trường vào năm 2020 [12]. Trong đó, những công ty mạnh về công nghệ như Apple, SamSung hay Microsoft,. đều đưa ra những sản phẩm đột phá trên thiết bị đeo tay này.

Thiết bị đeo tay với ưu điểm kích thước nhỏ gọn, nguồn điện tiêu tốn ít, kết hợp với các linh kiện thu thập dữ liệu tự động (sensor ) cùng với các ứng dụng (apps) giúp cho chúng đóng vai trò quan trọng trong các hệ thống thông minh ngày nay. Những hệ thống thông minh này, thường sẽ gắn liền với hệ thống Internet cùng với các chương trình xử lý dữ liệu tự động. Đi kèm với các ứng dụng là các tập dữ liệu thu thập theo thời gian, không gian,. giúp cho hệ thống thông minh càng trở nên chính xác và hiệu quả hơn trong cuộc sống.

Cho đến nay, số lượng các ứng dụng trong lĩnh vực IoT hằng năm tăng hơn 10%. Theo tổ chức IoT Analytic5 , năm 2020 những ứng dụng 5 https://iot-analytics.com/top-10-iot-applications-in-2020/ 2 Hình 1.1: Các thiết bị đeo tay đang triển khai trong thực tế hiện nay [1]. trong lĩnh vực IoT trãi đều các lĩnh vực từ công nghiệp sản xuất đến các lĩnh vực chăm sóc sức khỏe và có tốc độ phát triển cao (lĩnh vực công nghiệp sản xuất tăng trên 22%). Trong đó, các ứng dụng chạy trên thiết bị đeo tay cũng đang là xu thế phát triển.

Ngoài ra với việc phát triển ngày càng nhiều thiết bị đeo tay cũng dẫn đến các vấn đề tái sử dụng phần cứng ngày càng nhiều trong hệ thống. Điều này cũng đồng nghĩa việc tổ chức các chương trình cho các thiết bị phải đảm bảo tính mở rộng. Từ đó, chúng tôi cũng đề xuất những hướng thiết kế ứng dụng có thể chạy trên nhiều loại thiết bị đeo tay khác nhau nhưng có cùng kiến trúc và ngược lại. Đây cũng là một tiêu chí mà các nghiên cứu trước đây vẫn còn bỏ ngõ.

Từ những khảo sát trên chúng tôi nhận thấy rằng, việc xây dựng một hướng tiếp cận để hỗ 3 trợ sinh mã nguồn cho các ứng dụng chạy trên thiết bị đeo tay một cách tự động nhanh chóng là nhu cầu cấp thiết. Hướng tiếp cận đó cũng đặt ra nhiều thách thức cho chúng tôi như phạm vi ứng dụng, tỷ lệ mã nguồn tạo ra, tính đúng đắn, thời gian xử lý,. Những vấn đề này, chúng tôi đã trình bày trong những phần sau.1 Vấn đề sinh mã nguồn trên các thiết bị đeo tay Trong bài toán sinh mã nguồn cho các ứng dụng chạy trên thiết bị đeo tay thường chúng ta sẽ gặp các vấn đề như sau: (a) Chưa có khung thức thống nhất cho bài toán sinh mã nguồn nhằm đảm bảo các tính khả thi của bài toán [13]. (b) Phạm vi ứng dụng phải được xác định một cách rõ ràng nhằm đảm bảo tính hợp lý của mã nguồn tạo ra.

Các ứng dụng chạy trên thiết bị thường có nguyên tắc xử lý chung là thu thập dữ liệu, truyền dữ liệu và thực thi các xử lý tiếp theo từ các hệ thống thông minh qua các dữ liệu thu thập được. Nên việc tự động hóa các chức năng này là một thử thách [14, 15]. (c) Việc đặc tả ứng dụng như thế nào để mô tả được các xử lý của ứng dụng. Các xử lý này thường là các qui trình rõ ràng đã được thiết kế trong các hệ thống thông minh [2].

(d) Các mã nguồn sinh ra cho các xử lý trên các thiết bị đeo tay phụ thuộc vào tính đúng đắn của các đặc tả ứng dụng. Ở đây, các đặc tả này thường là các mô hình nên việc kiểm chứng các mô hình này trong giai đoạn đầu của quá trình sinh mã nguồn là một thử thách [16]. (e) Việc đặc tả cho bài toán sinh mã nguồn có sự tách biệt lớn giữa phần cứng và các xử lý nghiệp vụ trong hệ thống. Bởi vì, việc sinh mã nguồn cho bài toán này không chỉ mô tả cho các xử lý nghiệp vụ mà còn phụ thuộc vào cách lắp ráp các linh kiện trong thiết bị [17].

(f) Đồng thời, mã nguồn tạo ra cần có tính tái sử dụng cho các ứng dụng khác nhau trên các thiết bị cùng cấu trúc và ngược lại. Chất lượng của mà nguồn cũng cần được quan tâm.2 Bài toán sinh mã nguồn cho các ứng dụng chạy trên các thiết bị đeo tay trong lĩnh vực Internet vạn vật Hiện nay, việc nghiên cứu sự kết hợp cho ngôn ngữ đặc tả thân thiện với người dùng và một phần mềm hỗ trợ cho phép đưa ra một ứng dụng nhanh chóng là một việc kết hợp thú vị cho bài toán tiếp cận và xây dựng phần mềm [18] [19] [20]. Trong luận án này, chúng tôi xin trình 4 bày về một hướng nghiên cứu, làm thế nào để có thể xây dựng một công cụ mà trong đó việc đặc tả các ứng dụng (cụ thể là các ứng dụng chạy trên thiết bị đeo tay, tạm gọi là Wearable Application) một cách đơn giản như chỉ khai báo bằng các mô hình và các ràng buộc ngữ nghĩa giữa các thực thể. Kiến trúc phần cứng của các thiết bị đeo tay này cũng được đặc tả một cách đơn giản như kéo thả và tự động cấu hình như cấu hình các chân pins trên bo mạch, số lượng các thành phần cần có cho thiết bị.

Công cụ cũng thể hiện tính chặt chẽ và hợp lí của các thiết kế đồng thời cũng có thể ánh xạ sang mã nguồn của ứng dụng. Mã nguồn sinh ra có thể chạy trên thiết bị đeo tay đã được đặc tả trên hệ thống mà tốn ít thời gian để người dùng bổ sung mã nguồn. Chương trình được phát sinh từ công cụ đó có thể thực thi một cách nhanh chóng trên các nền mà vẫn đảm bảo được tính nhất quán từ các phần đặc tả của người dùng. Công cụ mà chúng tôi đề xuất chính là một ngôn ngữ trong ngữ cảnh hẹp (Domain-Specific Language - DSL) với tên gọi là Micraspis, cho các ứng dụng trong các giải pháp thông minh chạy trên nền các thiết bị đeo tay.

Trong công cụ này chúng tôi cũng hướng đến cách tiếp cận là kết hợp giữa mô hình hóa và kết hợp ràng buộc giữa các mô hình bằng các khai báo giúp cho chương trình không những hoàn thiện mà còn đảm bảo tính đúng đắn với thiết kế ban đầu. Bản chất của công cụ này là một một ngôn ngữ chuyên biệt hóa trong ngữ cảnh hẹp. Có rất nhiều công trình xây dựng công cụ sinh mã nguồn cho các ứng dụng chạy trong môi trường Internet vạn vật (IoT Application). Về mặt hiệu quả, nổi bật nhất là công cụ Midgar [5].

Công cụ này cho phép mô hình hóa đặc tả liên kết các các đối tượng và kết hợp khai báo các nút xử lý cho các chức năng của ứng dụng.

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

Bài viết "Giải pháp thông minh cho thiết bị đeo tay qua mô hình hóa và tập luật" trình bày những phương pháp tiên tiến trong việc tối ưu hóa và cải thiện hiệu suất của các thiết bị đeo tay thông minh. Tác giả nhấn mạnh tầm quan trọng của việc áp dụng mô hình hóa và các quy tắc học máy để nâng cao khả năng theo dõi sức khỏe và hoạt động của người dùng. Những giải pháp này không chỉ giúp cải thiện độ chính xác trong việc thu thập dữ liệu mà còn mang lại trải nghiệm người dùng tốt hơn, từ đó thúc đẩy sự phát triển của công nghệ thiết bị đeo tay.

Để mở rộng thêm kiến thức về ứng dụng của học máy trong các lĩnh vực khác, bạn có thể tham khảo bài viết Luận văn thạc sĩ nghiên cứu và ứng dụng kỹ thuật học máy vào bài toán phát hiện mã độc, nơi khám phá cách học máy được áp dụng để phát hiện mã độc hiệu quả. Ngoài ra, bài viết Luận án tiến sĩ phân loại thư rác bằng phương pháp học máy cũng cung cấp cái nhìn sâu sắc về việc sử dụng học máy trong việc phân loại thông tin. Cuối cùng, bạn có thể tìm hiểu thêm về Luận văn thạc sĩ ứng dụng máy học để năng cao hiệu năng của các hệ thống phát hiện xâm nhập mạng, một nghiên cứu liên quan đến việc cải thiện an ninh mạng thông qua công nghệ học máy. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về ứng dụng của công nghệ trong các lĩnh vực khác nhau.