Xem mẫu

  1. Nghiên cứu khoa học công nghệ TRUYỀN DỮ LIỆU PHÂN TÁN THỜI GIAN THỰC VÀ ỨNG DỤNG TRONG ĐỒNG BỘ DỮ LIỆU PHƯƠNG ÁN TÁC CHIẾN BIỂN ĐẢO TRÊN NỀN HẢI ĐỒ SỐ VÀ SA BÀN SỐ 3D Lê Văn Điệp*, Nguyễn Đức Định, Phạm Hải Hưng, Nguyễn Đình Thắng, Tô Thị Thanh Nga, Lê Yên Chi Tóm tắt: Đối với các hệ thống lớn, gồm nhiều đối tượng tác chiến, yêu cầu tác nghiệp nhanh thì yêu cầu đồng bộ dữ liệu thời gian thực giữa các thực thể trong hệ thống là bắt buộc. Trong bài báo này, tác giả trình bày tổng quan về một số chuẩn truyền dữ liệu phân tán thời gian thực và đánh giá các ưu điểm của chuẩn HLA. Tiếp theo, sẽ trình bày về yêu cầu, thiết kế mô hình, cấu trúc thông tin, thiết kế mô- đun phần mềm phục vụ đồng bộ dữ liệu phương án tác chiến biển đảo trên nền hải đồ số và sa bàn số 3D. Từ khóa: Thời gian thực; Truyền dữ liệu phân tán thời gian thực; Mô phỏng phân tán; HLA; Chuẩn. 1. MỞ ĐẦU Các hệ thống mô phỏng phục vụ quân đội ngày càng đóng vai trò quan trọng. Bài báo này nhằm đề xuất và đánh giá nền tảng đồng bộ dữ liệu thời gian thực giữa các hệ thống mô phỏng phân tán dựa trên chuẩn HLA, một phần mềm trung gian kết nối các hệ thống rời rạc phân tán để tạo ra một môi trường thực thi hiệu năng cao, phức tạp và dễ mở rộng. Đồng thời, bài báo cũng trình bày quy trình xây dựng mô-đun ứng dụng HLA vào giải quyết bài toán đồng bộ dữ liệu phương án tác chiến biển đảo trên nền hải đồ số và sa bàn số 3D. 2. CHUẨN TRUYỀN DỮ LIỆU PHÂN TÁN THỜI GIAN THỰC HLA 2.1. Các chuẩn truyền dữ liệu phân tán Các hệ thống mô phỏng phân tán trước đây thường truyền dữ liệu và tương tác thông qua mô hình socket hoặc thông qua cơ sở dữ liệu tập trung, tuy nhiên các công nghệ này không còn phù hợp với các hệ thống mô phỏng phân tán thời gian thực do có nhiều hạn chế như tốc độ truyền dữ liệu chậm, khó mở rộng, ... Để khắc phục các hạn chế này có nhiều công nghệ ra đời như CORBA (Common Object Request Broker), RMI (Remote Method Invocation), DIS (Distributed Interactive Simulation) và HLA. Về kiến trúc cơ bản, cả 4 mô hình tương tự nhau nhưng có những sự khác biệt sâu sắc ảnh hưởng tới phát triển ứng dụng và quản trị ứng dụng. CORBA và RMI được định hướng đến các ứng dụng tổng quát, trong khi DIS và HLA hướng cụ thể đến các ứng dụng mô phỏng phân tán, do đó DIS và HLA có nhiều nền tảng hạ tầng hỗ trợ mô hình mô phỏng phân tán như dịch vụ quản lý thời gian [4]. Tất cả các ứng dụng mô phỏng đều phải có khái niệm thời gian, do đó dịch vụ này là rất cần thiết. Tuy nhiên ứng dụng CORBA hoặc RMI lại không có khái niệm thời gian mô phỏng nên không có kiến trúc cho đặc điểm này[4]. Mặt khác CORBA chỉ hỗ trợ cho các phần mềm trung gian phù hợp với CORBA, còn RMI là chỉ hỗ trợ ngôn ngữ JAVA. Còn DIS và HLA hỗ trợ nhiều ngôn ngữ như C++, Java, ...So với DIS thì chuẩn HLA có nhiều ưu điểm hơn: giảm băng thông đường truyền vì chỉ có các dữ liệu cần thiết mới được gửi đi; hỗ trợ cả quản lý thời gian thực và thời gian mô phỏng (logical time); hỗ trợ bảo mật ở mức Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 85
  2. Công nghệ thông tin độ nhất định; hoạt động của HLA không phụ thuộc vào công nghệ phát triển phần mềm và công nghệ mạng mới; cho phép tốc độ truyền thông nhanh với số lượng thực thể (và các thuộc tính của thực thể) lớn. Trong các hệ thống mô phỏng phân tán có nhiều đối tượng và yêu cầu đồng bộ dữ liệu thời gian thực nhất thiết phải sử dụng công nghệ truyền dữ liệu phân tán thời gian thực. Lựa chọn công nghệ truyền dữ liệu phân tán thời gian thực theo chuẩn HLA là thích hợp và hiệu quả cho các hệ thống này. 2.2. Chuẩn truyền dữ liệu phân tán thời gian thực HLA HLA (High Level Architecture) là chuẩn truyền dữ liệu thời gian thực cho hệ thống mô phỏng phân tán, được sử dụng để xây dựng các hệ thống mô phỏng lớn kết hợp từ các thành phần mô phỏng nhỏ. Các thành phần mô phỏng trong hệ thống có thể tương tác được với nhau theo thời gian thực, sự tương tác này được quản lý bởi một cơ sở hạ tầng thời gian thực (RTI). 2.2.1. Các thành phần chính HLA gồm có 3 thành phần chính gồm: Các quy tắc (Rules): chi phối hành vi của toàn bộ hệ thống mô phỏng phân tán (Federation) và các thành viên của chúng (Federates). Đặc tả giao diện (Interface Specification): đặc tả giao diện giao tiếp giữa các thành viên mô phỏng với RTI, nơi cung cấp các dịch vụ phân phối và liên lạc giữa các thành viên mô phỏng. HLA chỉ cho phép liên lạc giữa các thành viên với RTI, chứ không cho phép trực tiếp giữa các thành viên với nhau. RTI là một phần mềm điều phối trung tâm do đó các thành viên có thể đặt trên bất kỳ máy tính nào trên Intranet hoặc Internet. Mẫu mô hình đối tượng (Object Model Template): chứa cấu trúc các lớp đối tượng (cùng các thuộc tính) và các sự kiện giúp dễ dàng tái sử dụng các thành viên mô phỏng. Mẫu mô hình đối tượng sử dụng cách tiếp cận dạng bảng rất phù hợp với các công cụ tự động và chuyển đổi sang định dạng trao đổi dữ liệu. 2.2.2. Mô hình kiến trúc HLA theo mô hình kiến trúc bus dịch vụ (services bus). Mỗi một thành viên (Federate) trong hệ thống có một kết nối đến RTI, nơi cung cấp thông tin, đồng bộ hóa và các dịch vụ phối hợp. Với kiến trúc này một thành viên không cần biết thành viên nào sử dụng hoặc cung cấp thông tin. Cách tiếp cận này cho phép hệ thống được mở rộng dần và dễ dàng tái sử dụng trong những kết hợp mới. Federate A Federate B Federate C FOM RTI Hình 1. Mô hình kiến trúc dịch vụ của HLA. Các khái niệm cơ bản liên quan HLA: 86 L. V. Điệp, …, L. Y. Chi, “Truyền dữ liệu phân tán thời gian … hải đồ số và sa bàn số 3D.”
  3. Nghiên cứu khoa học công nghệ - RTI (Runtime Infrastructure) là một phần mềm cung cấp các dịch vụ HLA. Chức năng chính là phân phối đúng dữ liệu đến đúng nơi nhận. RTI không chứa dữ liệu (đối tượng) mà chỉ có chức năng truyền dữ liệu. - Federate: Thành viên mô phỏng - Federation: Tập hợp các thành viên mô phỏng (Liên đoàn) - Federation Execution: Một phiên thực thi mô phỏng - FOM (Federate Object Model): Mô hình đối tượng của thành viên, chứa cấu trúc thông tin đối tượng và sự kiện. 2.2.3. Quy trình truyền dữ liệu Trước tiên RTI phải được khởi động và tạo phiên thực thi mô phỏng. Sau đó các thành viên gia nhập vào, tiếp theo các thành viên đăng ký với RTI thông tin đối tượng và sự kiện mà nó có thể công bố và nhận thông qua mô hình đối tượng (FOM). RTI kiểm tra các điều kiện để xác nhận xem thành viên có đủ điều kiện để gia nhập vào phiên thực thi hay không. Nếu được thì nó cho phép thành viên gia nhập vào và thành viên có thể thực hiện công bố và nhận thông tin đối tượng và sự kiện. Khi một thành viên công bố thông tin lên RTI, RTI sẽ dựa theo thành viên nào đăng ký nhận thông tin đó thì RTI sẽ phân phối dữ liệu cho thành viên đó. Hình 2. Mô hình truyền dữ liệu giữa các Federate. 3. ỨNG DỤNG HLA TRONG ĐỒNG BỘ DỮ LIỆU PHƯƠNG ÁN TÁC CHIẾN BIỂN ĐẢO TRÊN NỀN HẢI ĐỒ SỐ VÀ SA BÀN SỐ 3D 3.1. Mô tả bài toán Tác chiến bảo vệ biển đảo là loại hình tác chiến chiến lược, có vị trí rất quan trọng trong chiến tranh bảo vệ Tổ quốc; trong đó công tác chỉ huy - tham mưu tác chiến bảo vệ biển đảo là tổng thể các công việc, biện pháp và trình tự tiến hành của Tư lệnh và cơ quan chiến trường trong việc tổ chức, điều hành các hoạt động tác chiến, có nhiều đặc điểm tác động; đòi hỏi người chỉ huy và cơ quan phải thực hiện tốt các yêu cầu đặt ra; đồng thời phải vận dụng phương pháp công tác khoa học, tổ chức cơ quan lãnh đạo, điều hành, chỉ huy tác chiến phù hợp, linh hoạt, bảo đảm đủ khả năng hoàn thành nhiệm vụ được giao. Công tác xây dựng văn kiện tác chiến trên hải đồ, giao nhiệm vụ trên sa bàn luôn là nội dung rất quan trọng trong công tác huấn luyện, sẵn sàng chiến đấu bảo vệ biển đảo. Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 87
  4. Công nghệ thông tin Để hỗ trợ công tác xây dựng văn kiện tác chiến trong huấn luyện, sẵn sàng chiến đấu bảo vệ biển đảo hiệu quả hơn có thể sử dụng hệ thống phần mềm mô phỏng hỗ trợ xây dựng văn kiện tác chiến trên hải đồ số 2D và sa bàn số 3D. Hệ thống phần mềm này cần phải có các chức năng sau: Nhóm chức năng trên hải đồ số 2D: Viết vẽ văn kiện tác chiến trên hải đồ số 2D; Tra cứu tìm kiếm thông tin hải đồ; Tính toán hỗ trợ xây dựng phương án; Trình chiếu báo cáo văn kiện tác chiến. Nhóm chức năng trên sa bàn số 3D: Viết vẽ văn kiện tác chiến trên sa bàn số 3D; Tra cứu tìm kiếm thông tin địa hình; Tính toán phân tích địa hình; Tính toán hỗ trợ xây dựng phương án; Trình chiếu văn kiện tác chiến. Nhóm chức năng đồng bộ văn kiện tác chiến trên hải đồ số 2D và trên sa bàn số 3D: Đồng bộ khu vực tác chiến; Đồng bộ phương án tác chiến; Đồng bộ các thao tác người dùng. Các yêu cầu đồng bộ phương án tác chiến cần đạt được: Đảm bảo dữ liệu toàn vẹn không được mất mát; Đảm bảo độ tin cậy; Cơ chế đồng bộ phải linh hoạt hỗ trợ chế độ độc lập và đồng bộ; Đảm bảo tốc độ thời gian thực khi tác nghiệp. 3.2. Thiết kế tổng quan Hệ thống phần mềm mô phỏng hỗ trợ xây dựng văn kiện tác chiến trên hải đồ số 2D và sa bàn số 3D có đồng bộ dữ liệu thời gian thực gồm có các thành phần sau: Phân hệ tác nghiệp, tính toán, thể hiện trên hải đồ số 2D (PH-2D); phân hệ tác nghiệp, tính toán, thể hiện trên nền sa bàn số 3D (PH-3D) và mô-đun đồng bộ dữ liệu thời gian thực libHLA được tích hợp vào trong 2 phân hệ. Hai phân hệ được cài đặt trên 2 máy tính được kết nối mạng với nhau: - Máy tính thứ nhất (máy tính 2D): Cài đặt phân hệ PH-2D; - Máy tính thứ hai (máy tính 3D): Cài đặt phân hệ PH-3D. Các máy tính này được kết nối với hệ thống máy chủ thông qua mạng nội bộ và các phần mềm sẽ làm việc với CSDL tại các máy chủ. Phân hệ phần mềm trên máy tính 2D và 3D được đồng bộ dữ liệu thời gian thực theo chuẩn HLA. Mô hình tổng quan của ứng dụng như sau: Máy 2D Máy 3D PH-2D PH-3D libHLA libHLA Mạng RTI Hình 3. Mô hình tổng quan của ứng dụng. 88 L. V. Điệp, …, L. Y. Chi, “Truyền dữ liệu phân tán thời gian … hải đồ số và sa bàn số 3D.”
  5. Nghiên cứu khoa học công nghệ 3.3. Các luồng đồng bộ dữ liệu Các dữ liệu cần đồng bộ giữa PH-2D và PH-3D gồm: thông tin kế hoạch tác chiến (phạm vi khu vực tác chiến; các lực lượng tham gia; các giai đoạn tác chiến, ...); thông tin ký hiệu quân sự: thông tin thuộc tính (mã ký hiệu, thuộc lực lượng, ...), thông tin địa lý (vị trí ký hiệu, hướng), các thông tin đồ họa (màu sắc, độ dày, kiểu dạng, ...), thông tin vũ khí trang bị gắn với ký hiệu (tên vũ khí trang bị, thuộc đối tượng, kiểu loại, số lượng, ...) các sự kiện (khởi tạo ứng dụng, bắt đầu đồng bộ, thay đổi khung nhìn, dịch chuyển ký hiệu, …) Hình 4. Các luồng đồng bộ dữ liệu. 3.4. Cấu trúc thông tin lớp đối tượng Bảng 1. Danh sách các đối tượng HLA trong hệ thống mô-đun thư viện libHLA. Tên lớp đối tượng Công bố bởi Nhận bởi Đối tượng cơ bản Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Khu vực tác chiến Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Lực lượng tham gia Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Ký hiệu quân sự Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Vũ khí trang bị Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Theo chuẩn HLA, dữ liệu truyền giữa các thành viên được chia làm 2 loại: đối tượng và sự kiện. Dữ liệu thông tin đối tượng là những thông tin luôn tồn tại trong phiên thực thi mô phỏng, dữ liệu thông tin sự kiện chỉ tồn tại ngay thời điểm phát sinh sự kiện sau đó tự biến mất. Để tăng tính mềm dẻo, tái sử dụng và dễ mở rộng khi phát sinh thêm đối tượng mới hoặc sự kiện mới mà không phải lập trình lại đòi hỏi phải đưa ra cấu trúc mô hình đối tượng mềm dẻo. Trong mô-đun HLA nhóm sử dụng một đối tượng tổng quát để làm cấu trúc thông tin cho toàn bộ đối tượng. Trong cấu trúc này các thông tin chung cho tất cả đối tượng được đưa thành các trường riêng (tên đối tượng, thành viên gửi, thành viên nhận, loại đối tượng,…), còn lại tất cả các trường dữ liệu riêng sẽ được đóng gói vào trường ParamNames Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 89
  6. Công nghệ thông tin chứa tên trường và ParamValues chứa giá trị của trường được phân cách bằng ký tự đặc biệt. Bảng 2. Danh sách một số sự kiện HLA trong mô-đun thư viện libHLA. Tên sự kiện Công bố bởi Nhận bởi Khởi tạo ứng dụng Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Bắt đầu đồng bộ Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Thay đổi khung nhìn Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Tạo mới ký hiệu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Xóa ký hiệu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Dịch chuyển ký hiệu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Khởi tạo trình chiếu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Chuyển cảnh trình chiếu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D Kết thúc trình chiếu Federate PH-2D, Federate PH-2D, Federate PH-3D Federate PH-3D 3.5. Xây dựng mô-đun truyền dữ liệu Để tham gia vào Federation dựa trên chuẩn HLA, mô-đun HLA phải thực thi giao diện cho RTI, dựa trên đặc tả giao diện HLA. Truyền thông giữa RTI - Federate sử dụng mô hình đại diện (Ambassador): mỗi bên gửi một đại diện cho đối tác khác; các yêu cầu (gọi hàm) sang phía bên kia được thông qua đại diện [3]. Hình 5. Đại diện của Federate/ RTI. 90 L. V. Điệp, …, L. Y. Chi, “Truyền dữ liệu phân tán thời gian … hải đồ số và sa bàn số 3D.”
  7. Nghiên cứu khoa học công nghệ Để xây dựng mô-đun truyền dữ liệu nhóm sử dụng phần mềm cung cấp các dịch vụ RTI dựa trên nền tảng mã nguồn mở Portico RTI. Phần mềm này có chứa thư viện hỗ trợ liên kết giữa RTI với các Federate bao gồm lớp trừu tượng RTI Ambassador, đại diện của RTI, để federate gọi đến RTI và một lớp trừu tượng Federate Ambassador, đại diện của Federate để RTI gọi đến Federate. Lớp trừu tượng Federate Ambassador phải được thực hiện bởi liên đoàn. Hiện tại, các phiên bản của phần mềm RTI tồn tại cho ngôn ngữ lập trình C ++ và Java và có thể lựa chọn một trong 2 ngôn ngữ này để viết ứng dụng. Tuy nhiên phần mềm PH-2D và PH-3D viết trên ngôn ngữ C# do đó để tích hợp vào được 2 các phần mềm trên trong mô dun thư việt phải đóng gói các lớp C++ thông qua ngôn ngữ CLI/C++ để có thể sử dụng được cho chương trình C# Hình 6. Các khối chức năng của mô-đun. 4. KẾT LUẬN Trong bài báo này, tác giả trình bày tổng quan về chuẩn truyền dữ liệu phân tán thời gian thực, đánh giá công nghệ HLA và các công nghệ khác, đồng thời tác giả trình bày thiết kế tổng quan, mô hình triển khai, các luồng đồng bộ dữ liệu trong ứng dụng chuẩn HLA vào bài toán đồng bộ dữ liệu phương án tác chiến biển đảo trên nền hải đồ số và sa bàn số 3D. Kết quả nghiên cứu đã được ứng dụng để đồng bộ dữ liệu phương án tác chiến biển đảo trong dự án KHCN cấp Nhà nước mã số CNC.M03.DAHT/2018. TÀI LIỆU THAM KHẢO [1]. IEEE Standard for Modeling and Simulation HLA - Framework and Rules,IEEE, 2010. [2]. Judith S. Dahmann, High_Level_Architecture_For_Simulation, Defense Modeling and Simulation Office, 2007. [3]. Ulrich Klein, Distributed Simulation for Emergency Management based on the High Level Architecture, Institute for Simulation and Graphics (ISG), [4]. Arnold Buss, Distributed Simulation Modeling: a comparison of HLA, Corba, and RMI Tạp chí Nghiên cứu KH&CN quân sự, Số Đặc san CNTT, 04 - 2019 91
  8. Công nghệ thông tin ABSTRACT RUN-TIME DATA TRANSMISION IN DISTRIBUTED SIMULATION SYSTEM AND APPICATION FOR SEA AND ISLAND TACTICAL PLAN COMMUNICATE ON THE DIGITAL SEA MAP AND VIRTUAL TABLE 3D For large systems, including many tactical objects, fast operation requirements, it is required to synchronize Real-time data between entities. In this paper, the author presents an overview of some real-time distributed data tranmission standards and assesses the advantages of HLA standards. Next, will present the requirements, model design, information structure, software mô-đun design to synchronize data on the sea and island battle plan based on digital sea map and virtual sand table 3D. Keywords: Run-time; Run-time distributed data transmision; Distributed simulation; High Level Architecture (HLA); Standards. Nhận bài ngày 28 tháng 11 năm 2018 Hoàn thiện ngày 15 tháng 3 năm 2019 Chấp nhận đăng ngày 25 tháng 3 năm 2019 Địa chỉ: Viện Công nghệ thông tin/Viện KH-CN quân sự. * Email: dieplv@gmail.com. 92 L. V. Điệp, …, L. Y. Chi, “Truyền dữ liệu phân tán thời gian … hải đồ số và sa bàn số 3D.”
nguon tai.lieu . vn