STREAM: A scheme language for formally describing digital circuits

  • Carlos Delgado Kloos
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 259)


For formally reasoning about, transforming, and verifying hardware designs it is necessary to have a formal framework with a sound semantital basis. We present a language, called STREAM, with these purposes. With it, one can describe stream processing agents for modelling all kinds of concurrent systems. Two styles of composition of agents are defined: an applicative style, in which streams are named, and a functional style, with which also a topology can be defined.

The language is used for the description of digital circuits at different levels of detail. First a non-hardware-specific system level is studied. Then the register-transfer and gate level are characterized and modelled with STREAM. It is shown that apart from being able to describe loosely coupled systems in general, also synchronous and even asynchronous systems can easily be modelled.


Digital Circuit Input Stream Output Line Output Stream Denotational Semantic 
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]
    J. Arsac: "Foundations of Programming"; London: Academic Press 1985, APIC Studies in Data Processing 23Google Scholar
  2. [2]
    J. Backus: "Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs", Comm. ACM 21:8, Aug. 1978, 613–641CrossRefGoogle Scholar
  3. [3]
    F. L. Bauer et al. (CIP Language Group): "The Munich Project CIP — Volume I: The Wide Spectrum Language CIP-L"; Berlin: Springer 1985, Lect. Notes in Comp. Sci. 183Google Scholar
  4. [4]
    M. Broy: "Fixed Point Theory for Communication and Concurrency", in: IFIP TC 2 Working Conference on "Formal Description of Programming Concepts II", Garmisch-Partenkirchen, June 1982Google Scholar
  5. [5]
    M. Broy: "Semantics of Communicating Processes", Information and Control, 1983Google Scholar
  6. [6]
    M. Broy: "Denotational Semantics of Concurrent Programs with Shared Memory", in: M. Fontet, K. Mehlhorn (eds.): "Symposium on Theoretical Aspects of Computer Science 1984", Paris, 11–13 Apr. 1984; Berlin: Springer 1984, Lect. Notes in Comp. Sci. 166, 163–173Google Scholar
  7. [7]
    R. Bryant: "A Switch-Level Simulation Model for Integrated Logic Circuits", Lab. Computer Science, M.I.T., Ph. D. Thesis, Tech. Rep. MIT/LCS/TR-259, 1981Google Scholar
  8. [8]
    W. Burge: "Stream Processing Functions", IBM J. Res. Devel. 19, 1975, 12–25Google Scholar
  9. [9]
    C. Delgado Kloos: "Towards a Formalization of Digital Circuit Design", Fakultät für Mathematik und Informatik, Technische Universität München, Ph.D. Thesis, Tech. Rep. TUM-18604, Feb. 1986 (to appear in Lect. Notes in Comp. Sci., Berlin: Springer)Google Scholar
  10. [10]
    C. Delgado Kloos, W. Dosch, B. Möller: "On the Algebraic Specification of a Language for Describing Communicating Agents", öGI/öCG Conference, Passau, Feb. 1986, 53–73Google Scholar
  11. [11]
    C. Delgado Kloos, W. Dosch: "Transformational Development of Digital Circuit Descriptions: A Case Study", in: W. Proebster (ed.): "CompEuro 87", Hamburg, 11–15 May 1987 (to appear)Google Scholar
  12. [12]
    J. B. Dennis: "First version of a Data Flow Procedure Language", in: B. Robinet (ed.): "Programming Symposium", Paris, 9–11 Apr. 1974; Berlin: Springer 1974, Lect. Notes in Comp. Sci. 19, 362–376Google Scholar
  13. [13]
    D. L. Dietmeyer: "Logic Design of Digital Systems", Boston, MA: Allyn and Bacon 1978Google Scholar
  14. [14]
    E. B. Eichelberger: "Hazard Detection in Combinational and Sequential Switching Circuits", IBM J. Res. Devel. 9, Mar. 1965, 90–99Google Scholar
  15. [15]
    B. Möller, W. Dosch: "On the Algebraic Specification of Domains", in: H.-J. Kreowski (ed.): "Recent Trends in Data Type Specification", 3rd Workshop on Theory and Application of Abstract Data Types"; Berlin: Springer 1986, Informatik Fachberichte 116, 178–195Google Scholar
  16. [16]
    W. Wadge, E. Ashcroft: "LUCID, the Dataflow Programming Language"; London: Academic Press 1985Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1987

Authors and Affiliations

  • Carlos Delgado Kloos
    • 1
  1. 1.Departamento de Informática y Teoría de Sistemas E.T.S. Ing. TelecomunicaciónUniv. Politécnica de Madrid Ciudad UniversitariaMadridSpain

Personalised recommendations