fbpx
Wikipedia

PLEXIL

PLEXIL (Plan Execution Interchange Language) is an open source technology for automation, created and currently in development by NASA.

Overview edit

PLEXIL is a programming language for representing plans for automation.

PLEXIL is 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]

Nodes edit

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.

  • List nodes: List nodes are the internal nodes in a plan. These nodes have child nodes that can be of any type.
  • Command nodes: These nodes issue commands that drive the system.
  • Assignment nodes: Performs a local operation and assigns a value to a variable.
  • Function call nodes:accesses external functions that perform computations, but do not alter the state of the system.
  • Update nodes: Provides information to the planning and decision support interface.
  • Library call nodes: This nodes invoke nodes in an external library.
  • Empty nodes: Nodes that contain attributes and do not perform any actions.

Node states:

Each node can be in only one state. They are:

  • Inactive
  • Waiting
  • Executing
  • Finishing
  • Iteration_Ended
  • Failing
  • Finished

Nodes transitions:

  • SkipCondition T : The skip condition changes from unknown or false to true.
  • StartCondition T : The start condition changes from unknown or false to true.
  • InvariantCondition F/U : Invariant condition changes from true to false or unknown.
  • EndCondition T : End condition changes to true.
  • Ancestor_inv_condition F/U : The invariant condition of any ancestor changes to false or unknown.
  • Ancestor_end_condition T : The end condition of any ancestor changes to true.
  • All_children_waiting_or_finished T : This is true when all child nodes are either in node state waiting or finished.
  • Command_abort_complete T : When the abort for a command action is completed.
  • Function_abort_complete T : The abort of a function call is completed.
  • Parent_waiting T : The (single) parent of the node transitions to node state waiting.
  • Parent_executing T : The (single) parent of the node transitions to node state executing.
  • RepeatCondition T/F : the repeat condition changes from unknown to either true or false.

References edit

  1. ^ Estlin, Tara; Jonsson, Ari; Pasareanu, Corina; Simmons, Reid; Tso, Kam; Verma, Vandi (April 2006). "Plan Execution Interchange Language (PLEXIL)" (PDF). NASA Technical Reports Server. Retrieved 8 February 2019.
  2. ^ "Bibliography of PLEXIL-related publications, organized by category". Plexil souceforge. Retrieved 8 February 2019.
  3. ^ "Main page: NASA applications". PLEXIL sourceforge. Retrieved 8 February 2019.
  4. ^ "PLEXIL (Plan execution software)".

External links edit

  • PLEXIL at NASA
  • PLEXIL Manual
  • PLEXIL at SourceForge

See also edit

plexil, plan, execution, interchange, language, open, source, technology, automation, created, currently, development, nasa, paradigmmulti, paradigmdesigned, bynasafirst, appeared2005typing, disciplinestatic, unsafe, nominativeoslinux, oslicenseopen, sourceweb. PLEXIL Plan Execution Interchange Language is an open source technology for automation created and currently in development by NASA PLEXILParadigmMulti paradigmDesigned byNASAFirst appeared2005Typing disciplineStatic unsafe nominativeOSLinux Mac OSLicenseOpen sourceWebsitehttp plexil sourceforge net Major implementationsRobotics Space missions Contents 1 Overview 2 Nodes 3 References 4 External links 5 See alsoOverview editPLEXIL is a programming language for representing plans for automation PLEXIL is 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 Nodes editThe 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 List nodes List nodes are the internal nodes in a plan These nodes have child nodes that can be of any type Command nodes These nodes issue commands that drive the system Assignment nodes Performs a local operation and assigns a value to a variable Function call nodes accesses external functions that perform computations but do not alter the state of the system Update nodes Provides information to the planning and decision support interface Library call nodes This nodes invoke nodes in an external library Empty nodes Nodes that contain attributes and do not perform any actions Node states Each node can be in only one state They are Inactive Waiting Executing Finishing Iteration Ended Failing FinishedNodes transitions SkipCondition T The skip condition changes from unknown or false to true StartCondition T The start condition changes from unknown or false to true InvariantCondition F U Invariant condition changes from true to false or unknown EndCondition T End condition changes to true Ancestor inv condition F U The invariant condition of any ancestor changes to false or unknown Ancestor end condition T The end condition of any ancestor changes to true All children waiting or finished T This is true when all child nodes are either in node state waiting or finished Command abort complete T When the abort for a command action is completed Function abort complete T The abort of a function call is completed Parent waiting T The single parent of the node transitions to node state waiting Parent executing T The single parent of the node transitions to node state executing RepeatCondition T F the repeat condition changes from unknown to either true or false References edit Estlin Tara Jonsson Ari Pasareanu Corina Simmons Reid Tso Kam Verma Vandi April 2006 Plan Execution Interchange Language PLEXIL PDF NASA Technical Reports Server Retrieved 8 February 2019 Bibliography of PLEXIL related publications organized by category Plexil souceforge Retrieved 8 February 2019 Main page NASA applications PLEXIL sourceforge Retrieved 8 February 2019 PLEXIL Plan execution software External links editPLEXIL at NASA PLEXIL Manual PLEXIL at SourceForgeSee also editProgramming Language Spacecraft command language Cybernetics Space exploration Retrieved from https en wikipedia org w index php title PLEXIL amp oldid 1199063441, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.