Formal Semantics

  • Abdoulaye Gamatié


This chapter addresses the semantical aspects of the Signal language. It presents two kinds of semantics: an operational semantics in Sect. 7.1 and a denotational semantics in Sect. 7.2. In the operational approach to semantics, the meaning of a program is described in terms of its execution steps on an abstract machine. Thus, operational semantics assigns to a program, a computation structure (a graph), representing all possible executions of a program on an abstract machine. In his seminal note, Plotkin (Journal of Logic and Algebraic Programming 60–61:3–15, 2004) proposed a structural view on the operational semantics. This view has now become the de facto standard for giving operational semantics to languages. The denotational semantics of programming languages was originally studied by Scott and Strachey (in Proceedings of the Symposium on Computers and Automata, Polytechnic Institute of Brooklyn, pp. 19–46, 1971). It aims at describing how the meaning (also referred to as the denotation) of a valid program is interpreted as a function from its inputs to its outputs. The two semantics of Signal presented in this chapter were originally proposed by Benveniste et al. (Science of Computer Programming 16:103–149, 1991) and Le Guernic et al. (Journal for Circuits, Systems and Computers 12:261–304, 2003). For each semantics, some preliminary notions are first defined. Then, they are used to describe properly the semantics of the basic constructs of the language.


Observation Point Operational Semantic Formal Semantic Label Transition System Execution Environment 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Benveniste A, Le Guernic P, Jacquemot C (1991) Synchronous programming with events and relations: the Signal language and its semantics. Science of Computer Programming, Elsevier North-Holland, Inc, Amsterdam, The Netherlands 16(2):103–149MATHGoogle Scholar
  2. 2.
    Le Guernic P, Gautier T (1991) Data-flow to von Neumann: the Signal Approach. In: Gaudiot J-L, Bic L (eds) Advanced Topics in Data-Flow Computing, Prentice-Hall, Englewood Cliffs, NJ, pp 413–438Google Scholar
  3. 3.
    Le Guernic P, Talpin J-P, Le Lann J-C (2003) Polychrony for system design. Journal for Circuits, Systems and Computers 12(3):261–304CrossRefGoogle Scholar
  4. 4.
    Plotkin GD (1981) A Structural Approach to Operational Semantics. Technical Report DAIMI FN-19, University of Aarhus, DenmarkGoogle Scholar
  5. 5.
    Plotkin GD (2004) The origins of structural operational semantics. Journal of Logic and Algebraic Programming, Elsevier, (60-61):3–15 (preprint)Google Scholar
  6. 6.
    Scott D, Strachey C (1971) Toward a mathematical semantics for computer languages. In: Proceedings of the Symposium on Computers and Automata, Polytechnic Institute of Brooklyn, pp 19–46Google Scholar

Copyright information

© Springer-Verlag New York 2010

Authors and Affiliations

  1. 1.CNRS - UMR 8022 (LIFL)INRIA Lille - Nord Europe Parc scientifique de la Haute BorneVilleneuve d’AscqFrance

Personalised recommendations