Skip to main content

Deriving State-Based Implementations of Interactive Components with History Abstractions

  • Conference paper
Book cover Perspectives of Systems Informatics (PSI 2006)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4378))

Abstract

The external behaviour of an interactive component refers to the communication histories on the input and output channels. The component’s implementation employs an internal state where inputs effect output and an update of the state. The black-box view is modelled by a stream processing function from input to output streams, the glass-box view by a state transition machine. We present a formal method how to implement a stream processing function with several arguments by a state transition machine in a correctness preserving way. The transformation involves two important steps, called differentiation and history abstraction. The differentiation localizes the effect of a single input on one of the input channels wrt. the previous input histories. The history abstraction introduces states as congruence classes of input histories. We extend our previous results from interactive components with one input channel to components with several input channels. The generalization employs a ‘diamond property’ for states and outputs which ensures the confluence of the resulting state transition system.

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. Bălănescu, T., et al.: Communicating stream X-machines systems are no more than X-machines. Journal of Universal Computer Science 5(9), 494–507 (1999)

    MathSciNet  MATH  Google Scholar 

  2. Breitling, M., Philipps, J.: Step by step to histories. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 11–25. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  3. Broy, M.: The specification of system components by state transition diagrams. Technical Report TUM-I9729, Technische Universität München (May 1997)

    Google Scholar 

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

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

  6. Dendorfer, C.: Methodik funktionaler Systementwicklung. Herbert Utz, München (1996)

    Google Scholar 

  7. 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’01), pp. 231–238. International Association for Computer and Information Science (ACIS) (2001)

    Google Scholar 

  8. 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), pp. 241–247. International Society for Computers and their Applications (ISCA) (2004)

    Google Scholar 

  9. Dosch, W., Stümpel, A.: Transforming stream processing functions into state transition machines. In: Dosch, W., Lee, R.Y., Wu, C. (eds.) SERA 2004. LNCS, vol. 3647, pp. 1–18. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  10. Dosch, W., Yeung, W.L.: High–level design of a ternary asynchronous multiplexer. In: Hurley, R., Feng, W. (eds.) Proceedings of the 14th International Conference on Intelligent and Adaptive Systems and Software Engineering (IASSE 2005), pp. 221–228. International Society for Computers and their Applications (ISCA) (2005)

    Google Scholar 

  11. Eilenberg, S.: Automata, Languages, and Machines, vol. A. Academic Press, London (1974)

    MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

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

    Article  MathSciNet  MATH  Google Scholar 

  15. Meinke, K., Tucker, J.: Universal algebra. In: Abramsky, S., Gabbay, D., Maibaum, T. (eds.) Background: Mathematical Structures, vol. 1 of Handbook of Logic in Computer Science, pp. 189–411. Oxford University Press, Oxford (1992)

    Google Scholar 

  16. Motus, L., Meriste, M., Dosch, W.: Time-awareness and proactivity in models of interactive computation. Electronic Notes in Theoretical Computer Science (ETAPS-Workshop on the Foundations of Interactive Computation, FInCo 2005) 141(5), 69–95 (2005)

    Article  Google Scholar 

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

    Google Scholar 

  18. Rumpe, B.: Formale Methodik des Entwurfs verteilter objektorientierter Systeme. Herbert Utz, München (1996)

    Google Scholar 

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

    Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

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

    Google Scholar 

  22. Wechler, W.: Universal Algebra for Computer Scientists. EATCS Monographs on Theoretical Computer Science, vol. 25. Springer, Heidelberg (1992)

    MATH  Google Scholar 

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

    Article  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Irina Virbitskaite Andrei Voronkov

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Dosch, W., Stümpel, A. (2007). Deriving State-Based Implementations of Interactive Components with History Abstractions. In: Virbitskaite, I., Voronkov, A. (eds) Perspectives of Systems Informatics. PSI 2006. Lecture Notes in Computer Science, vol 4378. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-70881-0_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-70881-0_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-70880-3

  • Online ISBN: 978-3-540-70881-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics