fbpx
Wikipedia

SIGNAL (programming language)

SIGNAL is a programming language based on synchronized data-flow (flows + synchronization): a process is a set of equations on elementary flows describing both data and control.[1]

The SIGNAL formal model provides the capability to describe systems with several clocks[2][3] (polychronous systems) as relational specifications. Relations are useful as partial specifications and as specifications of non-deterministic devices (for instance a non-deterministic bus) or external processes (for instance an unsafe car driver).

Using SIGNAL allows one to specify[4] an application, to design an architecture, to refine detailed components down to RTOS[clarification needed] or hardware description. The SIGNAL model supports a design methodology which goes from specification to implementation, from abstraction to concretization, from synchrony to asynchrony.

SIGNAL has been mainly developed in INRIAEspresso team since the 1980s, at the same time as similar programming languages, Esterel and Lustre.

A brief history edit

The SIGNAL language was first designed for signal processing applications in the beginning of the 1980s. It has been proposed to answer the demand of new domain-specific language for the design of signal processing applications, adopting a dataflow and block-diagram style with array and sliding window 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 [-1,0,1]) has 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.

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 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.

The Polychrony Toolsets edit

The Polychrony toolset is an open-source development environment for critical/embedded systems based on SIGNAL, a real-time polychronous data-flow language. It provides a unified model-driven environment to perform design exploration by using top-down and bottom-up design methodologies formally supported by design model transformations from specification to implementation and from synchrony to asynchrony. It can be included in heterogeneous design systems with various input formalisms and output languages.

Polychrony is a set of tools composed of:

The SME environment edit

The SME (SIGNAL Meta under Eclipse) environment is a front-end of Polychrony in the Eclipse environment based on Model-Driven Engineering (MDE) technologies. It consists of a set of Eclipse plug-ins which rely on the Eclipse Modeling Framework (EMF). The environment is built around SME, a metamodel[7] of the SIGNAL language extended with mode automata[8] concepts.

The SME environment is composed of several plug-ins which correspond to:

  • A reflexive editor: a tree view allowing to manipulate models conform to the SME metamodel.
  • A graphical modeler based on the TopCased modeling facilities (cf. previous picture).
  • A reflexive editor and an Eclipse view to create compilation scenarios.
  • A direct connection to the Polychrony services (compilation, formal verification, etc.).
  • A documentation and model examples.

See also edit

Notes and references edit

  1. ^ P. Le Guernic, T. Gautier, M. Le Borgne, and C. Le Maire. Programming Real-Time Applications with SIGNAL. Proceedings of the IEEE, 79(9): 1321-1336, September 1991.
  2. ^ P. Le Guernic, J.-P. Talpin, and J.-C. Le Lann. Polychrony for system design. Journal for Circuits, Systems and Computers, Special Issue on Application Specific Hardware Design, World Scientific, April 2003 (also available as INRIA Research Report 4715, 2003).
  3. ^ A. Gamatié and T. Gautier. The SIGNAL Synchronous Multiclock Approach to the Design of Distributed Embedded Systems. IEEE Transactions on Parallel and Distributed Systems, 21(5): 641-657, May 2010.
  4. ^ A. Gamatié. Designing Embedded Systems with the SIGNAL Programming Language: Synchronous, Reactive Specification. ISBN 978-1-4419-0940-4. Book edited by Springer - New York, 260 pages, 2010.
  5. ^ 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, 2001.
  6. ^ H. Marchand, P. Bournai, M. Le Borgne, P. Le Guernic, Synthesis of Discrete-Event Controllers based on the Signal Environment, Discrete Event Dynamic System: Theory and Applications, 10(4):325-346, October 2000.
  7. ^ C. Brunette, J.-P. Talpin, A. Gamatié, and T. Gautier. A Metamodel for the Design of Polychronous Systems. Journal of Logic and Algebraic Programming, 78(4): 233-259, Elsevier, April 2009.
  8. ^ 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, 83-92.

External links edit

  • The INRIA/IRISA Espresso team
  • The Polychrony toolset dedicated to SIGNAL (official website of Polychrony) backup link
  • Synchrone Lab (the synchronous language Lustre)
  • Esterel (the synchronous Language Esterel)

signal, programming, language, this, article, have, confusing, ambiguous, abbreviations, please, review, manual, style, help, improve, this, article, discuss, this, issue, talk, page, november, 2011, learn, when, remove, this, message, signal, programming, lan. This article may have confusing or ambiguous abbreviations Please review the Manual of Style help improve this article and discuss this issue on the talk page November 2011 Learn how and when to remove this message SIGNAL is a programming language based on synchronized data flow flows synchronization a process is a set of equations on elementary flows describing both data and control 1 The SIGNAL formal model provides the capability to describe systems with several clocks 2 3 polychronous systems as relational specifications Relations are useful as partial specifications and as specifications of non deterministic devices for instance a non deterministic bus or external processes for instance an unsafe car driver Using SIGNAL allows one to specify 4 an application to design an architecture to refine detailed components down to RTOS clarification needed or hardware description The SIGNAL model supports a design methodology which goes from specification to implementation from abstraction to concretization from synchrony to asynchrony SIGNAL has been mainly developed in INRIAEspresso team since the 1980s at the same time as similar programming languages Esterel and Lustre Contents 1 A brief history 2 The Polychrony Toolsets 3 The SME environment 4 See also 5 Notes and references 6 External linksA brief history editThe SIGNAL language was first designed for signal processing applications in the beginning of the 1980s It has been proposed to answer the demand of new domain specific language for the design of signal processing applications adopting a dataflow and block diagram style with array and sliding window 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 1 0 1 has 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 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 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 Cheron the clustering models defined by B Le Goff the abstraction and separate compilation formalized by O Maffeis and the implementation of distributed programs developed by P Aubry The Polychrony Toolsets editThe Polychrony toolset is an open source development environment for critical embedded systems based on SIGNAL a real time polychronous data flow language It provides a unified model driven environment to perform design exploration by using top down and bottom up design methodologies formally supported by design model transformations from specification to implementation and from synchrony to asynchrony It can be included in heterogeneous design systems with various input formalisms and output languages Polychrony is a set of tools composed of A SIGNAL batch compiler A Graphical User Interface editor interactive access to compiling functionalities The Sigali tool an associated formal system for formal verification and controller synthesis 5 Sigali is developed together with the INRIA Vertecs project 6 The SME environment editThe SME SIGNAL Meta under Eclipse environment is a front end of Polychrony in the Eclipse environment based on Model Driven Engineering MDE technologies It consists of a set of Eclipse plug ins which rely on the Eclipse Modeling Framework EMF The environment is built around SME a metamodel 7 of the SIGNAL language extended with mode automata 8 concepts The SME environment is composed of several plug ins which correspond to A reflexive editor a tree view allowing to manipulate models conform to the SME metamodel A graphical modeler based on the TopCased modeling facilities cf previous picture A reflexive editor and an Eclipse view to create compilation scenarios A direct connection to the Polychrony services compilation formal verification etc A documentation and model examples See also editEsterel Lustre programming language Synchronous programming language Dataflow programming Programming Language Globally asynchronous locally synchronous Formal verification Model checking Formal semantics of programming languages AADL Simulink Avionics System design Asynchrony computer programming Notes and references edit P Le Guernic T Gautier M Le Borgne and C Le Maire Programming Real Time Applications with SIGNAL Proceedings of the IEEE 79 9 1321 1336 September 1991 P Le Guernic J P Talpin and J C Le Lann Polychrony for system design Journal for Circuits Systems and Computers Special Issue on Application Specific Hardware Design World Scientific April 2003 also available as INRIA Research Report 4715 2003 A Gamatie and T Gautier The SIGNAL Synchronous Multiclock Approach to the Design of Distributed Embedded Systems IEEE Transactions on Parallel and Distributed Systems 21 5 641 657 May 2010 A Gamatie Designing Embedded Systems with the SIGNAL Programming Language Synchronous Reactive Specification ISBN 978 1 4419 0940 4 Book edited by Springer New York 260 pages 2010 A Benveniste P Bournai T Gautier M Le Borgne P Le Guernic and H Marchand The Signal declarative synchronous language controller synthesis amp systems architecture design 40th IEEE Conference on Decision and Control 2001 H Marchand P Bournai M Le Borgne P Le Guernic Synthesis of Discrete Event Controllers based on the Signal Environment Discrete Event Dynamic System Theory and Applications 10 4 325 346 October 2000 C Brunette J P Talpin A Gamatie and T Gautier A Metamodel for the Design of Polychronous Systems Journal of Logic and Algebraic Programming 78 4 233 259 Elsevier April 2009 J P Talpin C Brunette T Gautier and A Gamatie Polychronous mode automata Proceedings of the 6th ACM amp IEEE International conference on Embedded software EMSOFT 06 ACM Press October 2006 83 92 External links editThe INRIA IRISA Espresso team The Polychrony toolset dedicated to SIGNAL official website of Polychrony backup link Synchrone Lab the synchronous language Lustre Esterel the synchronous Language Esterel Retrieved from https en wikipedia org w index php title SIGNAL programming language amp oldid 1145138931, 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.