Articulo de referencia

PLEXIL

PLEXIL ( Plan Execution Interchange Language ) es una tecnología de código abierto para la automatización , creada y actualmente en desarrollo por la NASA . Descripción general ...

PLEXIL ( Plan Execution Interchange Language ) es una tecnología de código abierto para la automatización , creada y actualmente en desarrollo por la NASA .

Descripción general

PLEXIL es un lenguaje de programación para representar planes de automatización .

PLEXIL se utiliza en tecnologías de automatización como el rover K10 de la NASA, el taladro de percusión del rover Curiosity de Marte , el Hábitat del Espacio Profundo y la Unidad de Demostración de Hábitat , la Demostración Edison de Redes de Satélites Pequeños , LADEE , el Sistema Operativo de Autonomía (AOS) y la automatización de procedimientos para la Estación Espacial Internacional . [ 1 ] [ 2 ] [ 3 ]

PLEXIL Executive es un motor de ejecución que implementa PLEXIL y puede conectarse (mediante un marco de software proporcionado) con sistemas externos para su control y/o consulta. PLEXIL se ha utilizado para demostrar tecnologías de automatización destinadas a futuras misiones espaciales de la NASA.

Los binarios y la documentación están ampliamente disponibles como código abierto con licencia BSD en GitHub . [ 4 ]

Nodos

La unidad de programación fundamental de PLEXIL es el nodo. Un nodo es una estructura de datos formada por dos componentes principales: un conjunto de condiciones que rigen la ejecución del nodo y otro conjunto que especifica lo que el nodo logra después de su ejecución.

Una composición jerárquica de nodos se denomina plan . Un plan es un árbol dividido en nodos cercanos a la raíz (nodos de alto nivel) y nodos hoja que representan acciones primitivas como la asignación de variables o el envío de comandos al sistema externo.

Tipos de nodos:

A septiembre de 2008, la NASA había implementado siete tipos de nodos.

  • Nodos de lista : Los nodos de lista son los nodos internos de un plan. Estos nodos tienen nodos hijos que pueden ser de cualquier tipo.
  • Nodos de comando : Estos nodos emiten comandos que controlan el sistema.
  • Nodos de asignación : Realiza una operación local y asigna un valor a una variable.
  • Nodos de llamada a funciones : Acceden a funciones externas que realizan cálculos, pero no alteran el estado del sistema.
  • Actualizar nodos : Proporciona información a la interfaz de planificación y apoyo a la toma de decisiones.
  • Nodos de llamada a biblioteca : Estos nodos invocan nodos en una biblioteca externa.
  • Nodos vacíos : Nodos que contienen atributos pero no realizan ninguna acción.

Estados del nodo:

Cada nodo solo puede estar en un estado. Estos son:

  • Inactivo
  • Espera
  • Ejecutar
  • Refinamiento
  • Iteración_Finalizada
  • Defecto
  • Finalizado

Transiciones de nodos:

  • SkipCondition T  : La condición de salto cambia de desconocida o falsa a verdadera.
  • Condición de inicio T  : La condición de inicio cambia de desconocida o falsa a verdadera.
  • Condición invariante F/U  : La condición invariante cambia de verdadera a falsa o desconocida.
  • EndCondition T  : La condición final cambia a verdadera.
  • Ancestor_inv_condition F/U  : La condición invariante de cualquier ancestro cambia a falso o desconocido.
  • Ancestor_end_condition T  : La condición final de cualquier ancestro cambia a verdadero.
  • All_children_waiting_or_finished T  : Esto es verdadero cuando todos los nodos hijos están en estado de espera o terminados.
  • Command_abort_complete T  : Cuando se completa la cancelación de una acción de comando.
  • Function_abort_complete T  : Se ha completado la interrupción de una llamada a función.
  • Parent_waiting T  : El padre (único) del nodo pasa al estado de espera del nodo.
  • Parent_executing T  : El padre (único) del nodo pasa al estado de ejecución.
  • RepeatCondition V/F  : la condición de repetición cambia de desconocida a verdadera o falsa.

Véase también

Referencias

  1. Estlin, Tara; Jonsson, Ari; Pasareanu, Corina ; Simmons, Reid; Tso, Kam; Verma, Vandi (abril de 2006). "Plan Execution Interchange Language (PLEXIL)" (PDF) . Servidor de informes técnicos de la NASA . Consultado el 8 de febrero de 2019 .
  2. "Bibliografía de publicaciones relacionadas con PLEXIL, organizada por categoría" . Plexil sourceforge . Consultado el 17 de marzo de 2025 .
  3. "Página principal: Aplicaciones de la NASA" . PLEXIL sourceforge . Consultado el 17 de marzo de 2025 .
  4. "PLEXIL (Software de ejecución de planes)" .
  • PLEXIL en la NASA
  • Manual de PLEXIL
  • PLEXIL en GitHub

Véase también