fbpx
Wikipedia

Lustre (programming language)

Lustre is a formally defined, declarative, and synchronous dataflow programming language for programming reactive systems. It began as a research project in the early 1980s. A formal presentation of the language can be found in the 1991 Proceedings of the IEEE.[1] In 1993 it progressed to practical, industrial use in a commercial product as the core language of the industrial environment SCADE, developed by Esterel Technologies. It is now used for critical control software in aircraft,[2] helicopters, and nuclear power plants.

Structure of Lustre programs edit

A Lustre program is a series of node definitions, written as:

node foo(a : bool) returns (b : bool); let b = not a; tel 

Where foo is the name of the node, a is the name of the single input of this node and b is the name of the single output. In this example the node foo returns the negation of its input a, which is the expected result.

Inner variables edit

Additional internal variables can be declared as follows:

 node Nand(X,Y: bool) returns (Z: bool); var U: bool; let U = X and Y; Z = not U; tel 

Note: The equations order doesn't matter, the order of lines U = X and Y; and Z = not U; doesn't change the result.

Special operators edit

pre p Returns the previous value of p
p -> q Set p as the initial value of the expression q

Examples edit

Edge detection edit

node Edge (X : bool) returns (E : bool); let E = false -> X and not pre X; tel 

See also edit

References edit

  1. ^ [1] N. Halbwachs et al. The Synchronous Data Flow Programming Language LUSTRE. In Proc. IEEE 1991 Vol. 79, No. 9. Accessed 17 March 2014.
  2. ^ "SCADE Success Stories". Retrieved 8 June 2013.

External links edit

  • Synchrone Lab 2020-11-25 at the Wayback Machine Official website
  • SCADE product page

lustre, programming, language, cluster, filesystem, lustre, file, system, lustre, formally, defined, declarative, synchronous, dataflow, programming, language, programming, reactive, systems, began, research, project, early, 1980s, formal, presentation, langua. For the cluster filesystem see Lustre file system Lustre is a formally defined declarative and synchronous dataflow programming language for programming reactive systems It began as a research project in the early 1980s A formal presentation of the language can be found in the 1991 Proceedings of the IEEE 1 In 1993 it progressed to practical industrial use in a commercial product as the core language of the industrial environment SCADE developed by Esterel Technologies It is now used for critical control software in aircraft 2 helicopters and nuclear power plants Contents 1 Structure of Lustre programs 1 1 Inner variables 1 2 Special operators 2 Examples 2 1 Edge detection 3 See also 4 References 5 External linksStructure of Lustre programs editA Lustre program is a series of node definitions written as node foo a bool returns b bool let b not a tel Where foo is the name of the node a is the name of the single input of this node and b is the name of the single output In this example the node foo returns the negation of its input a which is the expected result Inner variables edit Additional internal variables can be declared as follows node Nand X Y bool returns Z bool var U bool let U X and Y Z not U tel Note The equations order doesn t matter the order of lines U X and Y and Z not U doesn t change the result Special operators edit pre p Returns the previous value of pp gt q Set p as the initial value of the expression qExamples editEdge detection edit node Edge X bool returns E bool let E false gt X and not pre X telSee also editEsterel SIGNAL another dataflow oriented synchronous language Synchronous programming language Dataflow programmingReferences edit 1 N Halbwachs et al The Synchronous Data Flow Programming Language LUSTRE In Proc IEEE 1991 Vol 79 No 9 Accessed 17 March 2014 SCADE Success Stories Retrieved 8 June 2013 External links editSynchrone Lab Archived 2020 11 25 at the Wayback Machine Official website SCADE product page Retrieved from https en wikipedia org w index php title Lustre programming language amp oldid 1152784866, 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.