PLEXIL


PLEXIL is an open source technology for automation, created and currently in development by NASA.

Overview

PLEXIL is a programming language for representing plans for automation.
In 2006 Vandi Verma was one of several co-writers of PLEXIL, which is now used in automation technologies such as the NASA K10 rover, Mars Curiosity rover's percussion drill, Deep Space Habitat and Habitat Demonstration Unit, Edison Demonstration of Smallsat Networks, LADEE, Autonomy Operating System and procedure automation for the International Space Station.
The PLEXIL Executive is an execution engine that implements PLEXIL and can be interfaced with external systems to be controlled and/or queried. PLEXIL has been used to demonstrate automation technologies targeted at future NASA space missions.
The binaries and documentation are widely available as open source from Sourceforge.net.

Nodes

The fundamental programming unit of PLEXIL is the Node. A node is a data structure formed of two primary components: a set of conditions that drive the execution of the node and another set which specifies what the node accomplishes after execution.
A hierarchical composition of nodes is called a plan. A plan is a tree divided in nodes close to the root and leaf nodes that represent primitive actions such as variable assignments or the sending of commands to the external system.
Node Types:
As of September 2008 NASA has implemented seven types of nodes.
Node states:
Each node can be in only one state. They are:
Nodes transitions: