Skip to main content

Transforming Stream Processing Functions into State Transition Machines

  • Conference paper
Book cover Software Engineering Research and Applications (SERA 2004)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3647))

Abstract

The black-box view of an interactive component in a distributed system concentrates on the input/output behaviour based on communication histories. The glass-box view discloses the component’s internal state with inputs effecting an update of the state. The black-box view is modelled by a stream processing function, the glass-box view by a state transition machine. We present a formal method for transforming a stream processing function into a state transition machine with input and output. We introduce states as abstractions of the input history and derive the machine’s transition functions using history abstractions. The state refinement is illustrated with three applications, viz. an iterator component, a scan component, and an interactive stack.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Babcsányi, I., Nagy, A.: Mealy-automata in which the output-equivalence is a congruence. Acta Cybernetica 11(3), 121–126 (1994)

    MATH  MathSciNet  Google Scholar 

  2. Bălănescu, T., Cowling, A.J., Georgescu, H., Gheorghe, M., Holcombe, M., Vertan, C.: Communicating stream X-machines systems are no more than X-machines. Journal of Universal Computer Science 5(9), 494–507 (1999)

    MATH  MathSciNet  Google Scholar 

  3. Breitling, M., Philip, J.: Diagrams for dataflow. In: Grabowski, J., Heymer, S. (eds.) Formale Beschreibungstechniken für verteilte Systeme, pp. 101–110. Shaker Verlag (2000)

    Google Scholar 

  4. Broy, M. (Inter-)action refinement: The easy way. In: Broy, M. (ed.) Program Design Calculi. NATO ASI Series F, vol. 118, pp. 121–158. Springer, Heidelberg (1993)

    Google Scholar 

  5. Broy, M.: From states to histories: Relating state and history views onto systems. In: Hoare, T., Broy, M., Steinbrüggen, R. (eds.) Engineering Theories of Software Construction. Series III: Computer and System Sciences, vol. 180, pp. 149–186. IOS Press, Amsterdam (2001)

    Google Scholar 

  6. Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Monographs in Computer Science. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  7. Dosch, W.: Designing an interactive stack. WSEAS Transactions on Systems 1(2), 296–302 (2002)

    MathSciNet  Google Scholar 

  8. Dosch, W., Magnussen, S.: The Lübeck Transformation System: A transformation system for equational higher order algebraic specifications. In: Cerioli, M., Reggio, G. (eds.) WADT 2001 and CoFI WG Meeting 2001. LNCS, vol. 2267, pp. 85–108. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  9. Dosch, W., Stümpel, A.: From stream transformers to state transition machines with input and output. In: Ishii, N., Mizuno, T., Lee, R. (eds.) Proceedings of the 2nd International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD 2001). International Association for Computer and Information Science (ACIS), pp. 231–238 (2001)

    Google Scholar 

  10. Dosch, W., Stümpel, A.: History abstractions of a sequential memory component. In: Gupta, B. (ed.) Proceedings of the 19th International Conference on Computers and their Applications (CATA 2004). International Society for Computers and their Applications (ISCA), pp. 241–247 (2004)

    Google Scholar 

  11. Dosch, W., Stümpel, A.: Introducing control states into communication based specifications of interactive components. In: Arabnia, H., Reza, H. (eds.) Proceedings of the International Conference on Software Engineering Research and Practice (SERP 2004), vol. II, pp. 875–881. CSREA Press (2004)

    Google Scholar 

  12. Goldin, D.Q., Smolka, S.A., Attie, P.C., Sonderegger, E.L.: Turing machines, transition systems, and interaction. Information and Computation 194(2), 101–128 (2004)

    Article  MATH  MathSciNet  Google Scholar 

  13. Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  14. Kahn, G.: The semantics of a simple language for parallel programming. In: Rosenfeld, J. (ed.) Information Processing 74, pp. 471–475. North-Holland, Amsterdam (1974)

    Google Scholar 

  15. Kahn, G., MacQueen, D.B.: Coroutines and networks of parallel processes. In: Gilchrist, B. (ed.) Information Processing 77, pp. 993–998. North-Holland, Amsterdam (1977)

    Google Scholar 

  16. Lynch, N.A., Stark, E.W.: A proof of the Kahn principle for input/output automata. Information and Computation 82, 81–92 (1989)

    Article  MATH  MathSciNet  Google Scholar 

  17. Magnussen, S.J.: Mechanizing the Transformation of Higher-Order Algebraic Specifications for the Development of Software Systems. Logos Verlag Berlin (2003)

    Google Scholar 

  18. Möller, B.: Ideal stream algebra. In: Möller, B., Tucker, J.V. (eds.) NADA 1997. LNCS, vol. 1546, pp. 69–116. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  19. Motus, L., Meriste, M., Dosch, W.: Time-awareness and proactivity in models of interactive computation. In: ETAPS-Workshop on the Foundations of Interactive Computation (FInCo 2005). Electronic Notes in Theoretical Computer Science (2005) (to appear)

    Google Scholar 

  20. Object Management Group (OMG). OMG Unified Modeling Language Specification, 3. UML Notation Guide, Part 9: Statechart Diagrams (March 2003)

    Google Scholar 

  21. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley Object Technology Series. Addison-Wesley, Reading (1998)

    Google Scholar 

  22. Scholz, P.: Design of reactive systems and their distributed implementation with statecharts. PhD Thesis, TUM-I9821, Technische Universität München (August 1998)

    Google Scholar 

  23. Ştefănescu, G.: Network Algebra. Discrete Mathematics and Theoretical Computer Science. Springer, Heidelberg (2000)

    MATH  Google Scholar 

  24. Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  25. Stümpel, A.: Stream Based Design of Distributed Systems through Refinement. Logos Verlag Berlin (2003)

    Google Scholar 

  26. Wegner, P.: Why interaction is more powerful than algorithms. Communications of the ACM 40(5), 80–91 (1997)

    Article  Google Scholar 

  27. Winskel, G., Nielsen, M.: Models for concurrency. In: Abramsky, S., Gabbay, D., Maibaum, T. (eds.) Semantic Modelling. Handbook of Logic in Computer Science, vol. 4, pp. 1–148. Oxford University Press, Oxford (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dosch, W., Stümpel, A. (2006). Transforming Stream Processing Functions into State Transition Machines. In: Dosch, W., Lee, R.Y., Wu, C. (eds) Software Engineering Research and Applications. SERA 2004. Lecture Notes in Computer Science, vol 3647. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11668855_1

Download citation

  • DOI: https://doi.org/10.1007/11668855_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-32133-0

  • Online ISBN: 978-3-540-32134-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics