Abstract
In the service-oriented approach to software engineering, interactive components offer contracted services through public interfaces. Over time a component receives a stream of service requests and generates a stream of responses. In general, a component is only prepared to serve a subset of possible requests in each situation — services are partial behaviours. On the specification level, we model services by stream functions defined on a restricted service domain. For the state-based implementation of services we introduce partial state machines. We present a transformation how to systematically implement a service by a partial state machine. The transformation exploits history abstractions to relate service histories with machine states. We illustrate the formal method with three characteristic applications, viz. an interactive stack, a bounded buffer and a server with registration.
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
Allen, R., Garlan, D.: A formal basis for architectural connection. ACM Transactions on Software Engineering and Methodology 6(3), 213–249 (1997)
Alonso, G., Casati, F., Kuno, H., Machiraju, V.: Web Services: Concepts, Architectures and Applications. Springer, Heidelberg (2004)
Benatallah, B., Casati, F., Toumani, F., Hamadi, R.: Conceptual modeling of web service conversations. In: Eder, J., Missikoff, M. (eds.) CAiSE 2003. LNCS, vol. 2681, pp. 449–467. Springer, Heidelberg (2003)
Berardi, D., de Rosa, F., de Santis, L., Mecella, M.: Finite state automata as conceptual model for E-services. Journal of Integrated Design & Process Science 8(2), 105–121 (2004)
Broy, M.: A functional rephrasing of the assumtion/commitment specification style. Formal Methods in System Design 13(1), 87–119 (1998)
Broy, M., Krüger, I.H., Meisinger, M.: A formal model of services. ACM Transactions on Software Engineering and Methodology 16(1) (2007)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Monographs in Computer Science. Springer, Heidelberg (2001)
Bultan, T., Fu, X., Hull, R., Su, J.: Conversation specification: A new approach to design and analysis of E–service composition. In: 12th International Conference on World Wide Web, pp. 403–410. ACM, New York (2003)
Dosch, W., Hu, G.: On irregular behaviours of interactive stacks. In: Latifi, S. (ed.) Proceedings of the Fourth International Conference on Information Technology: New Generations (ITNG 2007), pp. 693–700. IEEE Computer Society Press, Los Alamitos (2007)
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, Athens, GA (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., Stümpel, A.: Deriving state–based implementations of interactive components with history abstractions. In: Virbitskaite, I., Voronkov, A. (eds.) PSI 2006. LNCS, vol. 4378, pp. 180–194. Springer, Heidelberg (2007)
Dosch, W., Stümpel, A.: Extending the service domain of an interactive bounded queue. In: Castillo, O., Xu, L., Ao, S.-I. (eds.) Trends in Intelligent Systems and Computer Engineering, ch. 41. Lecture Notes in Electrical Engineering, vol. 6, pp. 599–618. Springer, Heidelberg (2008)
Erl, T.: Service Oriented Architecture: Concepts, Technology, and Design. Prentice-Hall, Englewood Cliffs (2005)
Stephens, R.: A survey of stream processing. Acta Informatica 34(7), 491–541 (1997)
Stølen, K., Dederichs, F., Weber, R.: Specification and refinement of networks of asynchronously communicating agents using the assumption/commitment paradigm. Formal Aspects of Computing 8(2), 127–161 (1996)
Stoltenberg-Hansen, V., Lindström, I., Griffor, E.R.: Mathematical Theory of Domains. Cambridge Tracts in Theoretical Computer Science, vol. 22. Cambridge University Press, Cambridge (1994)
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)
Wirsing, M., Pepper, P., Partsch, H., Dosch, W., Broy, M.: On hierarchies of abstract data types. Acta Informatica 20(1), 1–33 (1983)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dosch, W., Stümpel, A. (2009). Implementing Services by Partial State Machines. In: Nielsen, M., Kučera, A., Miltersen, P.B., Palamidessi, C., Tůma, P., Valencia, F. (eds) SOFSEM 2009: Theory and Practice of Computer Science. SOFSEM 2009. Lecture Notes in Computer Science, vol 5404. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-95891-8_24
Download citation
DOI: https://doi.org/10.1007/978-3-540-95891-8_24
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-95890-1
Online ISBN: 978-3-540-95891-8
eBook Packages: Computer ScienceComputer Science (R0)