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.
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
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)
Breitling, M., Philipps, J.: Step by step to histories. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 11–25. Springer, Heidelberg (2000)
Broy, M.: The specification of system components by state transition diagrams. Technical Report TUM-I9729, Technische Universität München (May 1997)
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)
Dendorfer, C.: Methodik funktionaler Systementwicklung. Herbert Utz, München (1996)
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)
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)
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)
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)
Eilenberg, S.: Automata, Languages, and Machines, vol. A. Academic Press, London (1974)
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)
Lynch, N.A., Stark, E.W.: A proof of the Kahn principle for input/output automata. Information and Computation 82, 81–92 (1989)
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)
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)
Object Management Group (OMG). OMG Unified Modeling Language Specification, 3. UML Notation Guide, Part 9: Statechart Diagrams (Mar. 2003)
Rumpe, B.: Formale Methodik des Entwurfs verteilter objektorientierter Systeme. Herbert Utz, München (1996)
Scholz, P.: Design of reactive systems and their distributed implementation with statecharts. PhD Thesis, TUM-I9821, Technische Universität München (Aug. 1998)
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, Berlin (2003)
Wechler, W.: Universal Algebra for Computer Scientists. EATCS Monographs on Theoretical Computer Science, vol. 25. Springer, Heidelberg (1992)
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, vol. 4 of Handbook of Logic in Computer Science, pp. 1–148. Oxford University Press, Oxford (1995)
Author information
Authors and Affiliations
Editor information
Rights 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)