Knowledge

SIGNAL (programming language)

Source 📝

218:
original single-clock-based implementation of Esterel and Lustre. Moreover, the design and implementation of distributed embedded systems were also taken into account in SIGNAL. The corresponding research includes the optimization methods proposed by B. Chéron, the clustering models defined by B. Le Goff, the abstraction and separate compilation formalized by O. Maffeïs, and the implementation of distributed programs developed by P. Aubry.
22: 213:
operators. P. Le Guernic, A. Benveniste, and T. Gautier have been in charge of the language definition. The first paper on SIGNAL was published in 1982, while the first complete description of SIGNAL appeared in the PhD thesis of T. Gautier. The symbolic representation of SIGNAL via z/3z (over ) has
217:
During the 1990s, the application domain of the SIGNAL language has been extended into general embedded and real-time systems. The relation-oriented specification style enabled the increasing construction of the systems, and also led to the design considering multi-clocked systems, compared to the
214:
been introduced in 1986. A full compiler of SIGNAL based on the clock calculus on hierarchy of Boolean clocks, was described by L. Besnard in his PhD thesis in 1992. The clock calculus has been improved later by T. Amagbegnon with the proposition of arborescent canonical forms.
540:
A. Benveniste, P. Bournai, T. Gautier, M. Le Borgne, P. Le Guernic, and H. Marchand. The Signal declarative synchronous language: controller synthesis & systems/architecture design. 40th IEEE Conference on Decision and Control,
580:
J.-P. Talpin, C. Brunette, T. Gautier, and A. Gamatié. Polychronous mode automata. Proceedings of the 6th ACM & IEEE International conference on Embedded software (EMSOFT '06), ACM Press, October 2006,
634: 629: 435: 430: 415: 639: 526: 494:, Special Issue on Application Specific Hardware Design, World Scientific, April 2003 (also available as INRIA Research Report 4715, 2003). 101: 649: 47: 455: 156: 65: 400: 227: 550:
H. Marchand, P. Bournai, M. Le Borgne, P. Le Guernic, Synthesis of Discrete-Event Controllers based on the Signal Environment,
395: 243: 174: 109: 503:
A. Gamatié and T. Gautier. The SIGNAL Synchronous Multiclock Approach to the Design of Distributed Embedded Systems.
326: 520:
A. Gamatié. Designing Embedded Systems with the SIGNAL Programming Language: Synchronous, Reactive Specification.
194: 186: 89:(flows + synchronization): a process is a set of equations on elementary flows describing both data and control. 39: 322: 239: 190: 644: 563:
C. Brunette, J.-P. Talpin, A. Gamatié, and T. Gautier. A Metamodel for the Design of Polychronous Systems.
473:
P. Le Guernic, T. Gautier, M. Le Borgne, and C. Le Maire. Programming Real-Time Applications with SIGNAL.
345: 410: 405: 198: 93: 82: 420: 370: 334: 314: 294: 290: 231: 105: 318: 246: 132: 522: 258: 206: 152: 113: 613: 425: 349: 254: 210: 148: 140: 623: 450: 377: 262: 250: 202: 136: 120: 286: 330: 124: 32: 189:
in the beginning of the 1980s. It has been proposed to answer the demand of new
144: 325:(MDE) technologies. It consists of a set of Eclipse plug-ins which rely on the 490:
P. Le Guernic, J.-P. Talpin, and J.-C. Le Lann. Polychrony for system design.
235: 86: 598: 166: 108:. Relations are useful as partial specifications and as specifications of 445: 440: 366: 340:
The SME environment is composed of several plug-ins which correspond to:
301: 273: 607: 390: 362:
A reflexive editor and an Eclipse view to create compilation scenarios.
170: 97: 169:
since the 1980s, at the same time as similar programming languages,
265:
design systems with various input formalisms and output languages.
352:
view allowing to manipulate models conform to the SME metamodel.
128: 593: 602: 279: 15: 230:
environment for critical/embedded systems based on SIGNAL, a
116:) or external processes (for instance an unsafe car driver). 356: 282:(editor + interactive access to compiling functionalities) 249:
formally supported by design model transformations from
298: 163: 43: 552:
Discrete Event Dynamic System: Theory and Applications
505:
IEEE Transactions on Parallel and Distributed Systems
313:
The SME (SIGNAL Meta under Eclipse) environment is a
131:
or hardware description. The SIGNAL model supports a
531:
Book edited by Springer - New York, 260 pages, 2010.
242:
to perform design exploration by using top-down and
365:A direct connection to the Polychrony services ( 329:(EMF). The environment is built around SME, a 8: 492:Journal for Circuits, Systems and Computers 359:modeling facilities (cf. previous picture). 185:The SIGNAL language was first designed for 599:The Polychrony toolset dedicated to SIGNAL 565:Journal of Logic and Algebraic Programming 268:Polychrony is a set of tools composed of: 112:devices (for instance a non-deterministic 431:Formal semantics of programming languages 416:Globally asynchronous locally synchronous 66:Learn how and when to remove this message 297:. Sigali is developed together with the 127:, to refine detailed components down to 466: 289:tool, an associated formal system for 333:of the SIGNAL language extended with 261:to asynchrony. It can be included in 7: 162:SIGNAL has been mainly developed in 96:provides the capability to describe 616:(the synchronous Language Esterel) 14: 635:Synchronous programming languages 630:Declarative programming languages 610:(the synchronous language Lustre) 601:(official website of Polychrony) 456:Asynchrony (computer programming) 355:A graphical modeler based on the 571:: 233-259, Elsevier, April 2009. 401:Synchronous programming language 238:language. It provides a unified 46:, and discuss this issue on the 31:may have confusing or ambiguous 20: 640:Hardware description languages 554:, 10(4):325-346, October 2000. 195:signal processing applications 187:signal processing applications 1: 594:The INRIA/IRISA Espresso team 396:Lustre (programming language) 226:The Polychrony toolset is an 123:an application, to design an 481:: 1321-1336, September 1991. 193:language for the design of 119:Using SIGNAL allows one to 666: 650:Software modeling language 327:Eclipse Modeling Framework 104:(polychronous systems) as 106:relational specifications 323:Model-Driven Engineering 280:Graphical User Interface 240:model-driven environment 475:Proceedings of the IEEE 228:open-source development 222:The Polychrony Toolsets 85:based on synchronized 321:environment based on 317:of Polychrony in the 511:: 641-657, May 2010. 462:Notes and references 411:Programming Language 406:Dataflow programming 295:controller synthesis 247:design methodologies 83:programming language 44:improve this article 421:Formal verification 380:and model examples. 371:formal verification 309:The SME environment 291:formal verification 133:design methodology 38:Please review the 527:978-1-4419-0940-4 110:non-deterministic 76: 75: 68: 657: 582: 578: 572: 561: 555: 548: 542: 538: 532: 518: 512: 501: 495: 488: 482: 471: 346:reflexive editor 135:which goes from 71: 64: 60: 57: 51: 24: 23: 16: 665: 664: 660: 659: 658: 656: 655: 654: 620: 619: 590: 585: 579: 575: 562: 558: 549: 545: 539: 535: 519: 515: 502: 498: 489: 485: 472: 468: 464: 387: 311: 272:A SIGNAL batch 224: 191:domain-specific 183: 181:A brief history 72: 61: 55: 52: 40:Manual of Style 37: 25: 21: 12: 11: 5: 663: 661: 653: 652: 647: 645:Formal methods 642: 637: 632: 622: 621: 618: 617: 611: 605: 596: 589: 588:External links 586: 584: 583: 573: 556: 543: 533: 513: 496: 483: 465: 463: 460: 459: 458: 453: 448: 443: 438: 433: 428: 426:Model checking 423: 418: 413: 408: 403: 398: 393: 386: 383: 382: 381: 374: 363: 360: 353: 310: 307: 306: 305: 283: 276: 255:implementation 223: 220: 211:sliding window 182: 179: 149:concretization 141:implementation 102:several clocks 74: 73: 28: 26: 19: 13: 10: 9: 6: 4: 3: 2: 662: 651: 648: 646: 643: 641: 638: 636: 633: 631: 628: 627: 625: 615: 612: 609: 608:Synchrone Lab 606: 604: 600: 597: 595: 592: 591: 587: 577: 574: 570: 566: 560: 557: 553: 547: 544: 537: 534: 530: 528: 524: 517: 514: 510: 506: 500: 497: 493: 487: 484: 480: 476: 470: 467: 461: 457: 454: 452: 451:System design 449: 447: 444: 442: 439: 437: 434: 432: 429: 427: 424: 422: 419: 417: 414: 412: 409: 407: 404: 402: 399: 397: 394: 392: 389: 388: 384: 379: 378:documentation 375: 372: 368: 364: 361: 358: 354: 351: 347: 343: 342: 341: 338: 336: 335:mode automata 332: 328: 324: 320: 316: 308: 303: 300: 296: 292: 288: 284: 281: 277: 275: 271: 270: 269: 266: 264: 263:heterogeneous 260: 256: 252: 251:specification 248: 245: 241: 237: 234:polychronous 233: 229: 221: 219: 215: 212: 208: 204: 203:block-diagram 200: 197:, adopting a 196: 192: 188: 180: 178: 176: 172: 168: 167:Espresso team 165: 160: 158: 154: 150: 146: 142: 138: 137:specification 134: 130: 126: 122: 117: 115: 111: 107: 103: 99: 95: 90: 88: 84: 80: 70: 67: 59: 56:November 2011 49: 45: 41: 35: 34: 33:abbreviations 29:This article 27: 18: 17: 576: 568: 564: 559: 551: 546: 536: 521: 516: 508: 504: 499: 491: 486: 478: 474: 469: 339: 312: 267: 225: 216: 184: 161: 125:architecture 118: 94:formal model 91: 78: 77: 62: 53: 30: 603:backup link 367:compilation 205:style with 145:abstraction 92:The SIGNAL 624:Categories 337:concepts. 157:asynchrony 331:metamodel 315:front-end 259:synchrony 257:and from 244:bottom-up 236:data-flow 232:real-time 153:synchrony 87:data-flow 48:talk page 446:Avionics 441:Simulink 385:See also 373:, etc.). 357:TopCased 304:project. 274:compiler 199:dataflow 614:Esterel 391:Esterel 319:Eclipse 302:Vertecs 171:Esterel 151:, from 143:, from 121:specify 98:systems 42:, help 581:83-92. 525:  287:Sigali 175:Lustre 79:SIGNAL 569:78(4) 541:2001. 509:21(5) 479:79(9) 299:INRIA 207:array 164:INRIA 100:with 81:is a 523:ISBN 436:AADL 350:tree 348:: a 293:and 285:The 209:and 201:and 173:and 129:RTOS 253:to 155:to 147:to 139:to 114:bus 626:: 567:, 507:, 477:, 376:A 369:, 344:A 278:A 177:. 159:. 529:. 69:) 63:( 58:) 54:( 50:. 36:.

Index

abbreviations
Manual of Style
improve this article
talk page
Learn how and when to remove this message
programming language
data-flow
formal model
systems
several clocks
relational specifications
non-deterministic
bus
specify
architecture
RTOS
design methodology
specification
implementation
abstraction
concretization
synchrony
asynchrony
INRIA
Espresso team
Esterel
Lustre
signal processing applications
domain-specific
signal processing applications

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