Knowledge

Lustre (programming language)

Source 📝

44:
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. In 1993 it progressed to practical, industrial use in a commercial product as the core language of the industrial
531: 526: 536: 457: 510: 546: 500: 38: 34: 437: 541: 62: 50: 41: 20: 58: 46: 504: 497: 473: 30: 520: 432: 54: 278:
Note: The equations order doesn't matter, the order of lines
172:
Additional internal variables can be declared as follows:
156:
is the name of the single output. In this example the node
463:
In Proc. IEEE 1991 Vol. 79, No. 9. Accessed 17 March 2014.
461:
The Synchronous Data Flow Programming Language LUSTRE.
53:. It is now used for critical control software in 152:is the name of the single input of this node and 440:(another dataflow-oriented synchronous language) 8: 293: 450: 328:as the initial value of the expression 7: 160:returns the negation of its input 14: 532:Synchronous programming languages 527:Declarative programming languages 164:, which is the expected result. 73:A Lustre program is a series of 19:For the cluster filesystem, see 537:Hardware description languages 305:Returns the previous value of 1: 69:Structure of Lustre programs 286:doesn't change the result. 563: 547:Software modeling language 18: 148:is the name of the node, 77:definitions, written as: 346: 174: 79: 474:"SCADE Success Stories" 459:N. Halbwachs et al. 63:nuclear power plants 51:Esterel Technologies 42:dataflow programming 21:Lustre (file system) 16:Programming language 503:2020-11-25 at the 335: 334: 290:Special operators 554: 507:Official website 485: 484: 482: 480: 470: 464: 455: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 362: 359: 356: 353: 350: 318: 299: 294: 285: 281: 274: 271: 268: 265: 262: 259: 256: 253: 250: 247: 244: 241: 238: 235: 232: 229: 226: 223: 220: 217: 214: 211: 208: 205: 202: 199: 196: 193: 190: 187: 184: 181: 178: 163: 159: 155: 151: 147: 140: 137: 134: 131: 128: 125: 122: 119: 116: 113: 110: 107: 104: 101: 98: 95: 92: 89: 86: 83: 31:formally defined 562: 561: 557: 556: 555: 553: 552: 551: 517: 516: 505:Wayback Machine 494: 489: 488: 478: 476: 472: 471: 467: 456: 452: 447: 429: 424: 423: 420: 417: 414: 411: 408: 405: 402: 399: 396: 393: 390: 387: 384: 381: 378: 375: 372: 369: 366: 363: 360: 357: 354: 351: 348: 345: 340: 316: 297: 292: 283: 279: 276: 275: 272: 269: 266: 263: 260: 257: 254: 251: 248: 245: 242: 239: 236: 233: 230: 227: 224: 221: 218: 215: 212: 209: 206: 203: 200: 197: 194: 191: 188: 185: 182: 179: 176: 170: 168:Inner variables 161: 157: 153: 149: 145: 142: 141: 138: 135: 132: 129: 126: 123: 120: 117: 114: 111: 108: 105: 102: 99: 96: 93: 90: 87: 84: 81: 71: 49:, developed by 24: 17: 12: 11: 5: 560: 558: 550: 549: 544: 542:Formal methods 539: 534: 529: 519: 518: 515: 514: 508: 493: 492:External links 490: 487: 486: 465: 449: 448: 446: 443: 442: 441: 435: 428: 425: 347: 344: 343:Edge detection 341: 339: 336: 333: 332: 322: 310: 309: 303: 291: 288: 175: 169: 166: 80: 70: 67: 15: 13: 10: 9: 6: 4: 3: 2: 559: 548: 545: 543: 540: 538: 535: 533: 530: 528: 525: 524: 522: 512: 509: 506: 502: 499: 498:Synchrone Lab 496: 495: 491: 475: 469: 466: 462: 458: 454: 451: 444: 439: 436: 434: 431: 430: 426: 342: 337: 331: 327: 323: 321: 315: 312: 311: 308: 304: 302: 296: 295: 289: 287: 173: 167: 165: 78: 76: 68: 66: 64: 60: 56: 52: 48: 43: 40: 36: 32: 28: 22: 513:product page 477:. Retrieved 468: 460: 453: 329: 325: 319: 313: 306: 300: 280:U = X and Y; 277: 171: 143: 74: 72: 45:environment 26: 25: 59:helicopters 39:synchronous 35:declarative 521:Categories 445:References 284:Z = not U; 501:Archived 427:See also 338:Examples 55:aircraft 433:Esterel 370:returns 204:returns 103:returns 479:8 June 438:SIGNAL 144:Where 61:, and 37:, and 27:Lustre 511:SCADE 400:-> 397:false 317:-> 47:SCADE 29:is a 481:2013 382:bool 364:bool 352:Edge 349:node 324:Set 282:and 231:bool 216:bool 198:bool 180:Nand 177:node 115:bool 97:bool 82:node 75:node 421:tel 412:pre 409:not 406:and 388:let 298:pre 273:tel 264:not 249:and 237:let 222:var 158:foo 146:foo 139:tel 130:not 121:let 85:foo 523:: 385:); 219:); 118:); 65:. 57:, 33:, 483:. 418:; 415:X 403:X 394:= 391:E 379:: 376:E 373:( 367:) 361:: 358:X 355:( 330:q 326:p 320:q 314:p 307:p 301:p 270:; 267:U 261:= 258:Z 255:; 252:Y 246:X 243:= 240:U 234:; 228:: 225:U 213:: 210:Z 207:( 201:) 195:: 192:Y 189:, 186:X 183:( 162:a 154:b 150:a 136:; 133:a 127:= 124:b 112:: 109:b 106:( 100:) 94:: 91:a 88:( 23:.

Index

Lustre (file system)
formally defined
declarative
synchronous
dataflow programming
SCADE
Esterel Technologies
aircraft
helicopters
nuclear power plants
Esterel
SIGNAL

"SCADE Success Stories"
Synchrone Lab
Archived
Wayback Machine
SCADE
Categories
Declarative programming languages
Synchronous programming languages
Hardware description languages
Formal methods
Software modeling language

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.