ПЛЕКСИЛ - PLEXIL

ПЛЕКСИЛ
ПарадигмаМультипарадигма
РазработаноНАСА
Впервые появился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 : условие повтора изменяется с неизвестного на истинное или ложное.

Рекомендации

  1. ^ Эстлин, Тара; Йонссон, Ари; Пасаряну, Карина; Симмонс, Рид; Цо, Кам; Верма, Ванди. «Язык обмена исполнением плана (PLEXIL)» (PDF). Сервер технических отчетов НАСА. Получено 8 февраля 2019.
  2. ^ «Библиография публикаций, связанных с PLEXIL, по категориям». Plexil souceforge. Получено 8 февраля 2019.
  3. ^ «Главная страница: приложения НАСА». PLEXIL sourceforge. Получено 8 февраля 2019.
  4. ^ http://sourceforge.net/projects/plexil

внешняя ссылка

Смотрите также