TAO (phần mềm) – Wikipedia

ACE ORB ( TAO ) là một triển khai C ++ theo thời gian thực, miễn phí theo chuẩn CBA dựa trên Môi trường truyền thông thích ứng (ACE) . Nó cố gắng cung cấp chất lượng dịch vụ (QoS) hiệu quả, có thể dự đoán và có thể mở rộng từ đầu đến cuối. TAO áp dụng các thực tiễn và mẫu phần mềm tốt nhất để tự động hóa việc phân phối QoS hiệu năng cao và thời gian thực cho các ứng dụng phân tán. TAO dành cho các nhà phát triển ứng dụng phân tán và nhúng có nhu cầu hiệu năng nghiêm ngặt.

Miền ứng dụng [ chỉnh sửa ]

Một số ứng dụng thời gian thực đã được hưởng lợi từ việc sử dụng các khái niệm phần mềm quen thuộc của TAO để đưa ra giải pháp cho các vấn đề phần mềm thời gian thực. Nói chung, các hệ thống thời gian thực đòi hỏi các đặc điểm thời gian và độ mạnh có thể dự đoán được vì chúng được sử dụng trong các lĩnh vực quan trọng. Các ứng dụng thời gian thực khác đòi hỏi chi phí phát triển thấp và thời gian nhanh chóng để tiếp thị. TAO giải quyết cả hai điều này bằng cách cung cấp một khung giao tiếp đa mục đích đã được triển khai, sử dụng các khái niệm quen thuộc với các phần không theo thời gian thực của ngành công nghiệp phần mềm.

Ưu điểm [ chỉnh sửa ]

Theo truyền thống, rào cản đối với CORBA thời gian thực khả thi là nhiều thách thức trong thời gian thực liên quan đến các khía cạnh thiết kế hệ thống đầu cuối vượt qua các ranh giới phân lớp theo truyền thống liên quan đến CORBA. Đó là lý do tại sao TAO tích hợp các giao diện mạng, hệ thống con I / O của hệ điều hành, ORB và các dịch vụ phần mềm trung gian để cung cấp giải pháp đầu cuối. Ví dụ, hãy xem xét Dịch vụ sự kiện CORBA, đơn giản hóa phần mềm ứng dụng bằng cách hỗ trợ các nhà cung cấp và người tiêu dùng tách rời, phân phối sự kiện không đồng bộ và liên lạc nhóm phân tán. TAO tăng cường Dịch vụ sự kiện CORBA tiêu chuẩn để cung cấp các tính năng quan trọng, như gửi và lên lịch sự kiện theo thời gian thực, xử lý sự kiện định kỳ, cơ chế tương quan và lọc sự kiện hiệu quả và các giao thức đa hướng được yêu cầu bởi các ứng dụng thời gian thực.

Các khái niệm quen thuộc được trình bày [ chỉnh sửa ]

TAO đưa các khái niệm quen thuộc từ nơi khác trong ngành công nghiệp phần mềm vào các hệ thống thời gian thực. Những khái niệm này bao gồm CORBA, RPC, bản trình bày OO và ổ cắm Berkeley. Trong OO, RPC thường được gọi là Gọi (RMI) gọi từ xa, bởi vì các chương trình con hoặc thủ tục được liên kết trực tiếp với các đối tượng hoặc các lớp được gọi là các phương thức, nhưng về cơ bản thì khái niệm này giống nhau ở chỗ người gọi ở gốc bị đình chỉ trong khi phương thức tại đối tượng đích thực thi. Điều này cung cấp một sự đơn giản trong việc thực thi phần mềm có thể được mong muốn khi chương trình con là thành ngữ được dự định trong thiết kế hoặc kiến ​​trúc.

Nhược điểm [ chỉnh sửa ]

Đình chỉ thực hiện [ chỉnh sửa ]

TAO, giống như tất cả các triển khai CORBA ứng dụng. Gọi một chương trình con đình chỉ việc thực thi của cấp trên đang ủy thác hoạt động và chuyển quyền duy nhất để thực thi cho phương thức được gọi tại đối tượng đích, cấp dưới mà hoạt động được ủy quyền. Có lẽ người gọi có thể tiếp tục và thực hiện các hoạt động khác trong hoạt động được ủy quyền đó, nhưng người gọi bị đình chỉ, chờ kết quả hoàn thành cuối cùng từ cấp dưới.

Điều này trở nên đặc biệt rắc rối khi cấp trên và cấp dưới ở các bộ xử lý khác nhau. Bởi vì cấp trên bị đình chỉ và chỉ có cấp dưới đang tích cực thực hiện, hai luồng trên hai bộ xử lý bị chiếm dụng trong việc hoàn thành một hoạt động được ủy quyền. Thông thường, biện pháp đối phó với điều này khi sử dụng RMI / RPC là tăng số lượng luồng trong cấp trên để phù hợp với tổng số hoạt động đồng thời mong muốn trong toàn bộ tập hợp của tất cả các cấp dưới. Các tài nguyên được tiêu thụ bởi một luồng thường lớn hơn các tài nguyên được tiêu thụ bằng cách truyền đạt từng hoạt động được ủy quyền cho cấp dưới. Do đó, chi phí đồng thời được nhân lên khi sử dụng phương pháp RPC / RMI khi so sánh với phương pháp cho phép cấp trên tiếp tục thực thi để thực hiện các nhiệm vụ khác.

Giải pháp thay thế được các đối thủ cạnh tranh sử dụng cho CORBA chỉ đơn giản là từ bỏ mô hình chương trình con để cấp trên tiếp tục thực hiện đồng thời với các hoạt động được ủy quyền. Cấp trên chỉ đơn giản là chuẩn bị một tin nhắn được gửi cho cấp dưới. Cấp dưới ngay lập tức thừa nhận việc nhận được thông báo yêu cầu hoàn thành hoạt động được ủy quyền (mà chưa bắt đầu thực hiện chính hoạt động được ủy quyền). Cấp trên sau đó chuyển sang công việc khác, chẳng hạn như chuẩn bị tin nhắn cho các hoạt động được ủy quyền khác cho cùng cấp dưới hoặc cho cấp dưới khác. Mỗi cấp dưới đã được ủy quyền một hoạt động, liệt kê thông điệp yêu cầu của hoạt động trong hàng đợi tin nhắn tương ứng với ưu tiên hoặc thời hạn của tin nhắn. Một luồng (có lẽ trong nhóm luồng) xử lý thông báo từ hàng đợi đó để thực hiện thao tác được ủy quyền. Sau khi hoàn thành, kết quả được gửi dưới dạng một thông điệp khác nhau cho cấp trên. Cấp trên xử lý các thông báo kết quả tương tự như cách cấp dưới xử lý các thông điệp ủy nhiệm.

TAO cung cấp giải pháp thay thế này thông qua các cơ chế gọi phương thức không đồng bộ (AMI) và cơ chế xử lý phương pháp không đồng bộ (AMH). AMI được khách hàng sử dụng để thực hiện các yêu cầu từ xa mà không chặn phản hồi, phản hồi được nhận dưới dạng gọi lại. AMH được sử dụng bởi các máy chủ để trì hoãn gửi phản hồi, ví dụ, nếu bản thân máy chủ cần chờ các cuộc gọi từ xa khác. AMI là một phần của tiêu chuẩn CORBA. AMH là một phần mở rộng TAO cho đặc tả CORBA.

Tính khả dụng [ chỉnh sửa ]

TAO có thể được tải xuống từ Internet và được sử dụng và phân phối lại miễn phí mà không cần chi phí cấp phép cho nhà phát triển hoặc thời gian chạy. Hỗ trợ thương mại, tài liệu, đào tạo và tư vấn cho TAO có sẵn từ nhiều nhà cung cấp. Nhiều công cụ và dịch vụ của bên thứ ba khác cũng đã được tích hợp với TAO. Remedy IT cung cấp một phần mở rộng cho TAO có tên là TAOX11 [2] để thêm hỗ trợ cho Ánh xạ ngôn ngữ IDL sang C ++ 11 cho TAO.

TAO đã được chuyển sang nhiều hệ điều hành, như Microsoft Windows, các hệ thống nhúng như VxWorks và LynxOS, các hệ thống cao cấp như OpenVMS và các hệ thống Unix như Solaris và Linux.

Xem thêm [ chỉnh sửa ]

Tài liệu tham khảo [ chỉnh sửa ]

Liên kết ngoài [