Abstract
Correct component models for distributed, reactive systems are difficult to construct. Typically, the services provided by such systems emerge from the interaction and collaboration of multiple components; each component, in general, contributes to multiple services. Consequently, services and their defining interaction patterns are key elements in the development process for distributed system: they contain the cross-cutting aspects of collaboration, which are only poorly captured on the component level. Typical modeling and development methods and associated notations, such as the UML, however, focus on the specification of complete information about components, instead of on the partial view provided by services. In this contribution, we give a precise definition of the term service, based on patterns of interaction. Using the CTAS case study, we demonstrate systematic development steps leading from service specifications to component implementations; we also show how to automatically synthesize prototypic state machines from interaction patterns defining services.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Broy, M., Krüger, I.: Interaction Interfaces- Towards a scientific foundation of a methodological usage of Message Sequence Charts. In: Staples, J., Hinchey, M.G., Liu, S. (eds.) Formal Engineering Methods (ICFEM 1998), vol. 1, pp. 2–15. IEEE Computer Society, Los Alamitos (1998)
Broy, M., Stølen, K.: Specification and Development of Interactive Systems: Focus on Streams, Interfaces and Refinement. Springer, New York (2001) ISBN 0-387-95073-7
The Action Semantics Consortium: Response to OMG RFP as/98-11-01. Action Semantics for the UML (2001)
ITU-TS. Recommendation Z.120: Message Sequence Chart (MSC). Geneva (1996)
Krüger, I.: Distributed System Design with Message Sequence Charts. PhD thesis, Technische Universität München (2000)
Ellsberger, J., Hogrefe, D., Sarma, A.: SDL. Formal Object-oriented Language for Communication Systems. Prentice-Hall, Englewood Cliffs (1998)
SCESM 2003 Case Study. In: 2nd international workshop on scenarios and state machines: Models, algorithms, and tools, CTAS Case Study Overview, Requirements (2002), http://www.doc.ic.ac.uk/~su2/SCESM/CS/requirements.pdf
Dagstuhl Seminar No. 03371, Scenarios: Models, Transformations and tools, Case Study (2003), http://tele.informatik.uni-freiburg.de/dagstuhl03371/CaseStudy.html
Finkbeiner, B., Krüger, I.: Using Message Sequence Charts for Component-Based Formal Verification. In: Specification and Verification of Component Based Systems (SAVCBS). Workshop at OOPSLA (2001)
Krüger, I., Grosu, R., Scholz, P., Broy, M.: From MSCs to statecharts. In: Rammig, F.J. (ed.) Distributed and Parallel Embedded Systems, pp. 61–71. Kluwer Academic Publishers, Dordrecht (1999)
Krüger, I., Prenninger, W., Sandner, R., Broy, M.: From Scenarios to Hierarchical Broadcasting Software Architectures using UML-RT. International Journal of Software Engineering and Knowledge Engineering, IJSEKE (April 2002)
Uchitel, S., Kramer, J., Magee, J.: Implied Scenario Detection in the Presence of Behavior Constraints. Electronic Notes in Theoretical Computer Science 65(7) (2002)
Harel, D., Kugler, H.: Synthesizing State-Based Object Systems from LSC specifications. In: Yu, S., Păun, A. (eds.) CIAA 2000. LNCS, vol. 2088, pp. 1–33. Springer, Heidelberg (2001)
Krüger, I., Mathew, R.: Systematic Development and Exploration of Service-Oriented Software Architectures. In: Proceedings of WICSA 2004 (2004)
Krüger, I.H., Gupta, D., Mathew, R., Moorthy, P., Phillips, W., Rittmann, S., Ahluwalia, J.: Towards a Process and Tool-Chain for Service-Oriented Automotive Software Engineering. In: Proceedings of SEAS Workshop at ICSE 2004 (2004)
Krüger, I.H.: Service Specification with MSCs and Roles. In: IASTED International Conference on Software Engineering, Innsbruck (2004)
Baresi, L., Heckel, R., Thne, S., Varr, D.: Modeling and Validation of Service-oriented Architectures: Application vs. Style. In: Proceedings of ESEC/FSE 2003 (2003)
Kristensen, B.B., May, D.C.M.: Activities: Abstractions for Collective Behavior. In: Cointe, P. (ed.) ECOOP 1996. LNCS, vol. 1098, pp. 472–501. Springer, Heidelberg (1996)
Paech, B.: A framework for interaction description with roles. Technical Report TUM-I9731, Technische Univerität München (1997)
AutoSAR, http://www.autosar.org/
Broy, M., Krüger, I.H. (eds.): Pre-Procceedings of the Automotive Software Workshop, San Diego, 2004 (2004), available at, http://tharkun.ucsd.edu/aswsd/
JXTA Project Homepage (2001), available at, http://jxme.jxta.org/
Platt, D.S., Ballinger, K.: Introducing Microsoft.NET. Microsoft Press, Redmond (2001)
Sun Microsystems, Inc.: Jini Architecture Specification, Version 1.1 (2000), available at, http://wwwwswest.sun.com/jini/specs/jini1_1.pdf
OMG: Real-Time CORBA Specification. Version 1.1, formal/02-08-02, available at (2002), http://www.omg.org/docs/formal/02-08-02.pdf
Zave, P.: Feature-oriented description, formal methods, and DFC. In: Proceedings of the FIREworks Workshop on Language Constructs for Describing Features, pp. 11–26. Springer, London (2001)
CTAS homepage, available at, http://www.ctas.arc.nasa.gov/
Ellsberger, J., Hogrefe, D., Sarma, A.: SDL. Formal Object-oriented Language for Communicating Systems. Prentice-Hall, Englewood Cliffs (1998)
Krüger, I.H.: Capturing overlapping, triggered, and preemptive collaborations using mSCs. In: Pezzé, M. (ed.) FASE 2003. LNCS, vol. 2621, pp. 387–402. Springer, Heidelberg (2003)
Snell, J., Tidwell, D., Kulchenko, P.: Programming Web Services with SOAP. O’Reilly, Sebastopol (2002)
Evans, E.: Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley, Reading (2003)
Trowbridge, D., Roxburgh, U., Hohpe, G., Manulescu, D., Nadhan, E.G.: Intergration Patterns. Patterns & Practices (2004), http://download.microsoft.com/download/a/c/f/acf079ca-670e-4942-8a53-e587a0959d75/IntPatt.pdf
Luckham, D.C., Kenney, J.J., Augustin, L.M., Vera, J., Bryan, D., Mann, W.: Specification and Analysis of System Architecture Using Rapide. IEEE Transactions on Software Engineering 21(4) (1995)
Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: 5th European Software Engineering Conference (1995)
Allen, A.J., Gralan, D.: A Formal Basis for Architectural Connection. ACM Transactions on Software Engineering and Methodology (1997)
Taylor, R.N., Medvidovic, N., Anderson, K.M., Whitehead, E.J., Robbins, J.E., Nies, K.A., Oreizy, P., Dubrow, D.L.: A Component and Messages Based Architectural Style for GUI Software. IEEE Transactions on Software Engineering 22(6), 390–406 (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Krüger, I.H., Mathew, R. (2005). Component Synthesis from Service Specifications. In: Leue, S., Systä, T.J. (eds) Scenarios: Models, Transformations and Tools. Lecture Notes in Computer Science, vol 3466. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11495628_14
Download citation
DOI: https://doi.org/10.1007/11495628_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-26189-6
Online ISBN: 978-3-540-32032-6
eBook Packages: Computer ScienceComputer Science (R0)