ТАО (программное обеспечение) - TAO (software)
ШАР ACE (ТАО) является свободно доступным, Открытый исходный код,[1] и стандарты -соответствующий режиму реального времени C ++ реализация CORBA на основе Адаптивная коммуникационная среда (ТУЗ). Он пытается обеспечить эффективный, предсказуемый и масштабируемый качество обслуживания (QoS) сквозной. TAO применяет лучшие практики и шаблоны программного обеспечения для автоматизации предоставления высокопроизводительных QoS в реальном времени для распределенных приложений. TAO предназначен для разработчиков распределенных и встроенных приложений, которым предъявляются строгие требования к производительности.
Область применения
Некоторые приложения реального времени извлекли выгоду из использования TAO знакомых концепций программного обеспечения, чтобы предложить решение сложных проблем программного обеспечения в реальном времени. В общем, системы реального времени требуют предсказуемых временных характеристик и надежности, поскольку они используются в критически важных областях. Другие приложения реального времени требуют низкой стоимости разработки и быстрого выхода на рынок. TAO решает оба эти вопроса, предоставляя уже реализованную универсальную коммуникационную структуру, в которой используются концепции, знакомые частям индустрии программного обеспечения, работающим не в реальном времени.
Преимущества
Традиционно препятствием на пути к жизнеспособной CORBA в реальном времени было то, что многие проблемы в реальном времени связаны с аспектами проектирования сквозной системы, которые выходят за границы многоуровневости, традиционно связанные с CORBA. Вот почему TAO объединяет сетевые интерфейсы, подсистему ввода-вывода ОС, ORB и сервисы промежуточного программного обеспечения, чтобы обеспечить сквозное решение. Например, рассмотрим службу событий CORBA, которая упрощает прикладное программное обеспечение, поддерживая разделенных поставщиков и потребителей, асинхронную доставку событий и распределенную групповую связь. TAO расширяет стандартную службу событий CORBA, предоставляя важные функции, такие как диспетчеризация и планирование событий в реальном времени, периодическая обработка событий, эффективные механизмы фильтрации и корреляции событий, а также протоколы многоадресной рассылки, необходимые для приложений реального времени.
Представлены знакомые концепции
TAO привносит в системы реального времени знакомые концепции из других областей индустрии программного обеспечения. Эти концепции включают CORBA, RPC, OO презентация и Розетки Berkeley. В OO RPC обычно называют «удаленным вызовом метода» (RMI), потому что подпрограммы или процедуры, которые напрямую связаны с объектами или классами, называются методами, но концепция в основном та же, что вызывающий объект в источнике приостанавливается, пока в целевом объекте выполняется. Это обеспечивает простоту выполнения программного обеспечения, которая может быть желательной, когда подпрограмма является идиомой, предусмотренной в проекте или архитектуре.
Недостатки
Приостановление исполнения
TAO, как и все реализации CORBA, предоставляет приложению интерфейс OO RMI. Вызов подпрограммы приостанавливает выполнение вышестоящего, делегирующего операцию, и передает исключительное право на выполнение вызываемому методу в целевом объекте, подчиненном, которому была делегирована операция. Возможно, вызывающий абонент мог бы продолжить и выполнить другие действия во время этой делегированной операции, но вызывающий абонент приостанавливается, ожидая окончательного достигнутого результата от подчиненного.
Это становится особенно неприятным, когда вышестоящие и подчиненные находятся на разных процессорах. Поскольку начальник приостановлен, и только подчиненный активно выполняет, два потоки на двух процессорах заняты выполнением одной делегированной операции. Как правило, противодействием этому при использовании RMI / RPC является увеличение количества потоков в вышестоящем, чтобы оно соответствовало желаемому общему количеству параллельных операций во всем наборе всех подчиненных. Ресурсы, потребляемые потоком, обычно больше, чем ресурсы, потребляемые при передаче каждой делегированной операции подчиненному. Таким образом, накладные расходы на параллелизм многократно увеличиваются при использовании подхода RPC / RMI по сравнению с подходом, позволяющим вышестоящему лицу продолжать выполнение для выполнения других задач.
Альтернатива, используемая конкурентами CORBA, - это просто отказаться от модели подпрограмм, чтобы вышестоящая система продолжала выполнять одновременно с делегированными операциями. Начальник просто готовит сообщение, которое отправляется подчиненному. Подчиненный немедленно подтверждает получение сообщения, в котором запрашивается выполнение делегированной операции (еще не начиная выполнение самой делегированной операции). Затем начальник переходит к другим делам, например, к подготовке сообщений для других делегированных операций тому же подчиненному или другим подчиненным. Каждый подчиненный, которому была делегирована операция, помещает сообщение запроса операции в очередь сообщений, которая соответствует приоритету или крайнему сроку сообщения. Поток (возможно, в пуле потоков) удаляет это сообщение из этой очереди для выполнения делегированной операции. После выполнения результат передается начальнику в виде другого сообщения. Вышестоящий обрабатывает сообщения результатов аналогично тому, как подчиненный обрабатывает сообщения делегирования.
TAO предоставляет эту альтернативу через вызов асинхронного метода (AMI) и Асинхронная обработка методов (AMH) механизмы. AMI используется клиентами для удаленных вызовов без блокировки ответа, ответ получен как обратный вызов. AMH используется серверами для задержки отправки ответов, например, если самому серверу нужно дождаться других удаленных вызовов. AMI является частью стандарта CORBA. AMH - это расширение TAO спецификации CORBA.
Доступность
TAO можно скачать с Интернет и свободно используются и распространяются без затрат на разработку или лицензирование времени выполнения. Коммерческая поддержка, документация, обучение и консультации для TAO доступны от нескольких поставщиков. Многие другие сторонние инструменты и сервисы также были интегрированы с TAO. Компания Remedy IT создала расширение для TAO под названием TAOX11.[2] что добавляет поддержку IDL к C ++ 11 Отображение языка в TAO. TAOX11 доступен бесплатно как продукт с открытым исходным кодом.
TAO был перенесен на многие операционные системы, Такие как Майкрософт Виндоус, Встроенные системы, такие как VxWorks и LynxOS, высокопроизводительные системы, такие как OpenVMS, и Unix такие системы как Солярис и Linux.
Смотрите также
- Адаптивная коммуникационная среда (ТУЗ)
- Компонентно-интегрированный ACE ORB (ЧАО)
- WikiBooks: Замечания по программированию ACE + TAO с открытым исходным кодом
Рекомендации
- ^ http://www.dre.vanderbilt.edu/~schmidt/ACE-copying.html
- ^ «Remedy IT объявляет о выпуске новой версии v1.3.2 TAOX11». Средство. Получено 2015-02-04.
внешняя ссылка
- Домашняя страница ТАО
- Скачать TAO
- CPG - Руководство программиста CORBA