ПЛЕКСИЛ - PLEXIL
Эта статья требует внимания специалиста по информатике.Февраль 2009 г.) ( |
Парадигма | Мультипарадигма |
---|---|
Разработано | НАСА |
Впервые появился | 2005 |
Печатная дисциплина | Статический, небезопасно, именительный падеж |
Операционные системы | Linux, Mac OS |
Лицензия | Открытый исходный код |
Интернет сайт | http://plexil.sourceforge.net/ |
Основной реализации | |
Робототехника, Космические миссии |
ПЛЕКСИЛ (Plан Бывшийказнь яобмен Lязык) является Открытый исходный код технология для автоматизация, создан и в настоящее время разрабатывается НАСА.
Обзор
ПЛЕКСИЛ - это язык программирования для представления планов на автоматизация.
В 2006 г. Ванди Верма был одним из нескольких соавторов PLEXIL, который сейчас используется в таких технологиях автоматизации, как марсоход NASA K10, Mars Любопытство марсоход ударная дрель, Демонстрационная установка Deep Space Habitat и Habitat, Эдисон Демонстрация сетей Smallsat, ЛАДЕ, Автономная операционная система (AOS) и автоматизация процедур для Международная космическая станция.[1][2][3]
PLEXIL Executive - это исполнение двигатель который реализует PLEXIL и может быть сопряжен (с использованием предоставленной программной инфраструктуры) с внешними системами, которые должны контролироваться и / или запрашиваться. PLEXIL использовался для демонстрации технологий автоматизации, нацеленных на будущие космические миссии НАСА.
Бинарные файлы и документация широко доступны как Лицензия BSD открытый исходный код от Sourceforge.net.[4]
Узлы
Основной программной единицей PLEXIL является Node. Узел - это структура данных состоит из двух основных компонентов: набора условия которые управляют выполнением узла, и другой набор, который определяет, что узел выполняет после выполнения.
Иерархическая композиция узлов называется строить планы. План - это дерево, разделенное на узлы, близкие к корню (узлы высокого уровня) и листовые узлы, которые представляют примитивные действия, такие как присвоение переменных или отправка команд во внешнюю систему.
Типы узлов:
По состоянию на сентябрь 2008 года НАСА реализовало семь типов узлов.
- Список узлов: Узлы списка - это внутренние узлы в плане. У этих узлов есть дочерние узлы, которые могут быть любого типа.
- Командные узлы: Эти узлы выдают команды, управляющие системой.
- Узлы присвоения: Выполняет локальную операцию и присваивает значение переменной.
- Узлы вызова функций: обращается к внешним функциям, которые выполняют вычисления, но не изменяют состояние системы.
- Обновить узлы: Предоставляет информацию для интерфейса поддержки планирования и принятия решений.
- Звонок в библиотеку узлы: эти узлы вызывают узлы во внешней библиотеке.
- Пустые узлы: Узлы, содержащие атрибуты и не выполняющие никаких действий.
Состояние узла:
Каждый узел может находиться только в одном состоянии. Они есть:
- Неактивный
- Ожидающий
- Выполнение
- Отделка
- Iteration_Ended
- Неудачный
- Законченный
Узлы переходов:
- SkipCondition T : Условие пропуска изменяется с неизвестного или ложного на истинное.
- StartCondition T : Условие запуска изменяется с неизвестного или ложного на истинное.
- InvariantCondition F / U : Инвариантное условие меняется с истинного на ложное или неизвестное.
- Конечное условие T : Конечное условие меняется на true
- Ancestor_inv_condition F / U : Инвариантное условие любого предка изменяется на false или unknown.
- Ancestor_end_condition T : Конечное условие любого предка изменяется на true
- All_children_waiting_or_finished T : Это верно, когда все дочерние узлы находятся либо в состоянии ожидания узла, либо в состоянии завершения и нет других состояний.
- Command_abort_complete T : Когда завершено прерывание действия команды.
- Function_abort_complete T : Прерывание вызова функции завершено.
- Parent_waiting T : (Единственный) родительский узел переходит в состояние ожидания узла.
- Parent_executing T : (Единственный) родительский узел переходит в состояние выполнения узла.
- RepeatCondition T / F : условие повтора изменяется с неизвестного на истинное или ложное.
Рекомендации
- ^ Эстлин, Тара; Йонссон, Ари; Пасаряну, Карина; Симмонс, Рид; Цо, Кам; Верма, Ванди. «Язык обмена исполнением плана (PLEXIL)» (PDF). Сервер технических отчетов НАСА. Получено 8 февраля 2019.
- ^ «Библиография публикаций, связанных с PLEXIL, по категориям». Plexil souceforge. Получено 8 февраля 2019.
- ^ «Главная страница: приложения НАСА». PLEXIL sourceforge. Получено 8 февраля 2019.
- ^ http://sourceforge.net/projects/plexil