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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Babcsányi, I., Nagy, A.: Mealy-automata in which the output-equivalence is a congruence. Acta Cybernetica 11(3), 121–126 (1994)
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)
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)
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)
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)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Monographs in Computer Science. Springer, Heidelberg (2001)
Dosch, W.: Designing an interactive stack. WSEAS Transactions on Systems 1(2), 296–302 (2002)
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)
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)
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)
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)
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)
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming 8, 231–274 (1987)
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)
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)
Lynch, N.A., Stark, E.W.: A proof of the Kahn principle for input/output automata. Information and Computation 82, 81–92 (1989)
Magnussen, S.J.: Mechanizing the Transformation of Higher-Order Algebraic Specifications for the Development of Software Systems. Logos Verlag Berlin (2003)
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)
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)
Object Management Group (OMG). OMG Unified Modeling Language Specification, 3. UML Notation Guide, Part 9: Statechart Diagrams (March 2003)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley Object Technology Series. Addison-Wesley, Reading (1998)
Scholz, P.: Design of reactive systems and their distributed implementation with statecharts. PhD Thesis, TUM-I9821, Technische Universität München (August 1998)
Ştefănescu, G.: Network Algebra. Discrete Mathematics and Theoretical Computer Science. Springer, Heidelberg (2000)
Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997)
Stümpel, A.: Stream Based Design of Distributed Systems through Refinement. Logos Verlag Berlin (2003)
Wegner, P.: Why interaction is more powerful than algorithms. Communications of the ACM 40(5), 80–91 (1997)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)