Представление приложения OpenComRTOS | |
Developer | |
---|---|
OS семейство | |
Рабочее состояние | Текущая |
Исходная модель | Лицензия на исходный код |
Первоначальный выпуск | 2008 |
Последний выпуск | 1.6 / август, 2014 |
Маркетинговая цель | Встроенные системы |
Диспетчер пакетов | MSI-файл пакета OpenComRTOS |
Платформы | , ARM, XMOS, MicroBlaze, LEON, Win32, Linux |
Kernel type | сетевая работа в реальном времени |
По умолчанию пользователь интерфейс | |
Лицензия | |
Официальный сайт | www.altreonic.com |
OpenComRTOS - коммерческая сетевая, формально разработанная операционная система реального времени, ориентированная в первую очередь на встраиваемые системы рынок.
OpenComRTOS - это сетевая ОСРВ (операционная система реального времени ), которая была разработана с использованием формальных методов. Он имеет такие функции, как возможность прозрачной поддержки гетерогенных многопроцессорных систем, независимо от типа процессора (16-битный, 24-битный, 32-битный, 64-битный) и среды связи (общая память, шины, двухточечные каналы или виртуальные ссылки поверх существующих механизмов связи). Типичный размер кода на 32-битном целевом процессоре составляет около 5 КиБайт. OpenComRTOS основан на парадигме метамоделирования Взаимодействующие объекты . В OpenComRTOS единицей выполнения является «Задача» (функция со своим локальным рабочим пространством или стеком). Сущности задач синхронизируются и обмениваются данными с помощью промежуточных «концентраторов» сущностей, которые отделены от взаимодействующих задач. Хабы формально моделируются как «Защищенные действия» . Текущая реализация обеспечивает функциональность традиционных сервисов RTOS, таких как события, семафоры, порты, FIFO, ресурсы, пулы пакетов и пулы памяти. Пользователь также может создавать свои собственные типы концентраторов. OpenComRTOS использует унифицированную архитектуру с задачей ядра, задачами драйвера и задачами приложения, каждая из которых имеет порт ввода задачи. Тот же интерфейс используется для подпрограмм обслуживания прерываний. Базовая архитектура основана на использовании приоритетной коммутации пакетов, при этом связь и маршрутизация являются частью базовых системных служб. Одним из результатов является то, что исходный код задач не зависит от сопоставления задач и концентраторов с узлами обработки в целевой системе.
Первоначальной целью разработки OpenComRTOS было предоставление среды выполнения программного обеспечения, поддерживающей согласованную и унифицированную методологию системного проектирования, основанную на Взаимодействующих объектах . Первоначально это было разработано Open License Society с 2005 года, а с 2008 года дальнейшее развитие и коммерциализация осуществляла Altreonic. В качестве ориентира использовалась ранее разработанная ОСРВ под названием Virtuoso. Virtuoso была распределенной ОСРВ, разработанной Eonic Systems до тех пор, пока технология не была продана Wind River Systems в 2001 году. Ее общая функциональность прозрачной параллельной обработки (называемая моделью времени выполнения Virtual Single Processor ) была основной движущей силой для переделать его в лучшую сторону. OpenComRTOS концептуально представляет собой четвертое поколение Virtuoso, хотя это была разработка для чистой комнаты. ОСРВ Virtuoso возникла в новаторском INMOS Transputer, частичной аппаратной реализации C.A.R. Алгебра процессов Сообщающихся последовательных процессов (CSP) Хоара. Наиболее сложные приложения:
Для разработки OpenComRTOS систематический, но итеративный инжиниринг процесс был соблюден. После определения требований и спецификаций модели были разработаны в Leslie Lamport Временная логика действий (TLA +), а затем модель проверена с помощью соответствующей программы проверки моделей TLC. На основе этих моделей был написан код, а затем третье лицо создало новые модели в TLA +, чтобы убедиться, что реализация по-прежнему изоморфна. Таймер и связанные с ним функции тайм-аута для служб были проверены на модели с помощью Uppaal Model Checker. В 2011 году Springer опубликовал книгу по проекту OpenComRTOS.
OpenComRTOS поставляется с рядом инструментов. Visual Designer - это среда визуального моделирования, в которой пользователь задает топологию узла и топологию приложения в графическом виде. Из этих диаграмм генерируется конкретная модель времени выполнения приложения. Код конкретного приложения предоставляется в ANSI-C для каждой задачи. Выполнение во время выполнения, а также межпроцессорные взаимодействия визуализируются с помощью Event Tracer . System Inspector позволяет считывать и изменять структуры данных. Дополнительные модули - это модули хост-сервера (они позволяют любой задаче получить доступ к службам хост-узла) и безопасная виртуальная машина для C . Последний требует около 3 КиБайт (10 КиБайт для программы и данных) и позволяет динамически загружать двоично-скомпилированный код C во время выполнения.
OpenComRTOS был разработан для встраиваемых систем и написан переносимым, за исключением переключения контекста и интерфейсов ISR. OpenComRTOS был перенесен на следующие цели: Freescale PowerPC, Texas Instruments C66xx DSP, Melexis MLX16, ARM Cortex M3 / 4, Xilinx MicroBlaze, LEON3, NXP CoolFlux DSP, а также на MS-Windows и Linux. Последние версии позволяют прозрачную интеграцию хост-узлов и служат также в качестве систем кросс-разработки и моделирования. Поскольку ядро RTOS идентично для одно- и многопроцессорных узлов, для поддержки многопроцессорной системы требуется только написать небольшой драйвер уровня задачи, который может отправлять и получать пакеты.
OpenComRTOS предоставляется в виде двоичного кода, лицензий с исходным кодом и открытых технологий. Последний предоставляет формальные модели, проектную документацию, исходный код и наборы тестов.