This article needs attention from an expert in Computer science.(February 2009) |
Paradigm | Multi-paradigm |
---|---|
Designed by | NASA |
First appeared | 2005 |
Typing discipline | Static, unsafe, nominative |
OS | Linux, Mac OS |
License | Open source |
Website | http://plexil.sourceforge.net/ |
Major implementations | |
Robotics, Space missions |
PLEXIL (Plan Execution Interchange Language) is an open source technology for automation, created and currently in development by NASA.
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 (AOS) and procedure automation for the International Space Station.[1][2][3]
The PLEXIL Executive is an execution engine that implements PLEXIL and can be interfaced (using a provided software framework) 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 BSD licensed open source from Sourceforge.net.[4]
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 (high level nodes) 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:
By: Wikipedia.org
Edited: 2021-06-18 18:16:38
Source: Wikipedia.org