UNIX STREAMS Generation from a Formal Specification

  • Paweł Rychwalski
  • Jacek Wytrębowicz
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2767)


This paper describes a new idea of rapid protocol implementation starting from its formal specification, namely to generate Unix STREAMS modules. We have exercised this idea using Estelle formal specification technique. The generator was written for Linux system. The paper demonstrates how the semantic problems were resolved and gives some conclusions from generations we have performed.


automatic code generation Unix STREAMS formal description techniques Estelle 


  1. 1.
    Ritchie, D.: A stream input-output system. AT&T Bell Laboratories Technical Journal 63(8 Part 2), 1897–1910 (1984)CrossRefGoogle Scholar
  2. 2.
    Sun Microsystems, Inc.: Solaris AnswerBook: STREAMS Programming guide (1998) Google Scholar
  3. 3.
    Catrina, O., Nogai, A.: On the improvement of the estelle based automatic implementations. In: Budkowski, S., Cavalli, A., Najm, E. (eds.) Formal Description Techniques (XI) and Protocol Specification, Testing and Verification (XVIII) [FORTE / PSTV], pp. 371–386. Kluwer Academic Publishers, Paris - France (1998)CrossRefGoogle Scholar
  4. 4.
    Thees, J.: Protocol implementation with estelle - from prototype to efficient implementations. In: Budkowski, S., Fischer, S., Gotzhein, R. (eds.) Proc. of the 1st International Workshop of the Formal Description Technique Estelle (ESTELLE 1998), Evry, France (1998)Google Scholar
  5. 5.
    Bredereke, J.: Specification style and efficiency in estelle. In: Budkowski, S., Fischer, S., Gotzhein, R. (eds.) Proc. of the 1st International Workshop of the Formal Description Technique Estelle (ESTELLE 1998), Evry, France (1998)Google Scholar
  6. 6.
    Gotzhein, R., et al.: Improving the efficiency of automated protocol implementation using estelle. Interner bericht nr 274/1995 Fachbereich Informatik, Univeristat Kaiserscautern (1995) Google Scholar
  7. 7.
    Langendörfer, P., König, H.: Improving the efficiency of automatically generated code by using implementation-specific annotations. Participants proceedingsof the 3rd International Workshop on High Performance Protocol Architectures. HIPPARCH 1997, Sweden (1997)Google Scholar
  8. 8.
    Henke, R., König, H., Mitschele-Thiel, A.: Derivation of efficient implementations from sdl specifications employing data referencing, integrated packet framing and activity threads. In: Proceedings of Eighth SDL Forum. North-Holland, Amsterdam (1998)Google Scholar
  9. 9.
    Henke, R., Mitschele-Thiel, A., König, H.: On the influence of semantic constraints on the code generation from estelle specifications. FORTE/PSTV Osaka (1997) Google Scholar
  10. 10.
    ISO/TC97/SC21: Estelle: A Formal Description Techinque Based on an Extended State Transition Model, ISO 9074 (1997) Google Scholar
  11. 11.
    Gcom, Inc.: Linux STREAMS home page (2002),
  12. 12.
    Budkowski, S., et al.: The Estelle Development Toolset. Institut National des Telecommunications. Evry, France (1998),
  13. 13.
    Moraly, R.: Intermediate form utilization principles. INT (1998), Document is available to download on the EDT distribution page Google Scholar
  14. 14.
    Unix International: Data Link Provider Interface version 2.0.0 (1991)Google Scholar

Copyright information

© IFIP International Federation for Information Processing 2003

Authors and Affiliations

  • Paweł Rychwalski
    • 1
  • Jacek Wytrębowicz
    • 1
  1. 1.Institute of Computer ScienceWarsaw University of TechnologyWarsawPoland

Personalised recommendations