skip to main content
article

A formal model of services

Published: 01 February 2007 Publication History

Abstract

Service-oriented software systems rapidly gain importance across application domains: They emphasize functionality (services), rather structural entities (components), as the basic building block for system composition. More specifically, services coordinate the interplay of components to accomplish specific tasks. In this article, we establish a foundation of service orientation: Based on the Focus theory of distributed systems (see Broy and Stølen [2001]), we introduce a theory and formal model of services. In Focus, systems are composed of interacting components. A component is a total behavior. We introduce a formal model of services where, in contrast, a service is a partial behavior. For services and components, we work out foundational specification techniques and outline methodological development steps. We show how services can be structured and how software architectures can be composed of services and components. Although our emphasis is on a theoretical foundation of the notion of services, we demonstrate utility of the concepts we introduce by means of a running example from the automotive domain.

References

[1]
de Alfaro, L., and Henzinger, T. A. 2001. Interface Automata. In Proceedings of the 9th Annual Symposium on Foundations of Software Engineering (FSE) (Helsinki). 109--120.]]
[2]
AspectJ. 2005. AspectJ Eclipse project. http://eclipse.org/aspectj/.]]
[3]
Autosar. 2004. Automotive open system architecture. http://www.autosar.org.]]
[4]
Batory, D., Sarvela, J. N., and Rauschmayer, A. 2003. Scaling stepwise refinement. In Proceedings of the 25th International Conference on Software Engineering (ICSE) (Portland, OR). 187--197.]]
[5]
Broy, M., Hofmann, C., Krüger, I., and Schmidt, M. 1997. A graphical description technique for communication in software architectures. Tech. Rep. TUM-I9705, Technische Universität München, Institut für Informatik, München.]]
[6]
Broy, M. 1998. A functional rephrasing of the assumption/commitment specification style. Formal Methods Syst. Desi. 13, 1, 1411, 87--119.]]
[7]
Broy, M., and Krüger, I. 1998. Interaction interfaces, Towards a scientific foundation of a methodological usage of message sequence charts. In J. Staples et al., eds. Formal Engineering Methods. 2--15.]]
[8]
Broy, M. and Stølen, K. 2001. Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer Verlag, New York.]]
[9]
Broy, M. 2003. Modeling services and layered architectures. In Formal Techniques for Networked and Distributed Systems, H. König et al., eds. Lecture Notes in Computer Science, vol. 2767. 48--61.]]
[10]
Cockburn, A. 2000. Writing Effective Use Cases. Addison-Wesley, Boston.]]
[11]
Dijkstra, E. W. 1971. Notes on structured programming. In Structured Programming, O. Dahl et al., eds., No. 8 in A.P.I.C. Studies in Data Processing. Academic Press, London. 1--82.]]
[12]
Evans, E. 2003. Domain-Driven Design. Addison-Wesley, Boston.]]
[13]
Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston.]]
[14]
Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.]]
[15]
Garlan, D. and Shaw, M. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs, NJ.]]
[16]
Gibson, P. and Méry, D. 2000. Formal modelling of services for getting a better understanding of the feature interaction problem. In Perspectives of System Informatics. Lecture Notes in Computer Science, vol. 1755. Springer Verlag. 155--179.]]
[17]
Harel, D. 1987. Statecharts: A visual formalism for complex systems. In Science of Computer Programming, vol. 8, Elsevier Science. 231--274.]]
[18]
Herzberg, D. and Broy, M. 2005. Modelling layered distributed communication systems. Formal Aspects Comput. 17, 1, 1--18.]]
[19]
Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice-Hall, New York.]]
[20]
IBM. 2003. Business Process Execution Language for Web Services (BPEL4WS) Version 1.1. IBM developerWorks.]]
[21]
ISO. 1986. Information processing systems, open systems interconnection, basic reference model. ISO-7498. International Organization for Standardization, Geneva.]]
[22]
ITU-T. 1993. Criteria for the use and applicability of formal description techniques. Recommendation Z. 120, Message Sequence Chart (MSC). ITU-T (previously CCITT), Geneva, March 1993.]]
[23]
ITU-T. 1996. Recommendation Z.120 -- Message Sequence Chart (MSC 96). ITU-T, Geneva.]]
[24]
Jacobson, I. 1992. Object-Oriented Software Engineering. Addison-Wesley, Redwood City, CA.]]
[25]
Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison-Wesley, Boston.]]
[26]
JXTA. 2001. JXTA project homepage. http://jxme.jxta.org.]]
[27]
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., and Griswold, W. G. 2001. An overview of AspectJ. In Proceedings of the ECOOP 2001, Budapest, pp. 327--353, Springer Verlag.]]
[28]
Kosmas, N. and Turner, K. J. 1997. Requirements for service creation environments. In Proceedings of the 2nd International Workshop on Applied Formal Methods in System Design (Zagreb) 133--137.]]
[29]
Kotonya, G. and Sommerville, I. 1995. Requirements engineering with viewpoints. Tech. Rep. CSEG/10/1995, Cooperative Systems Engineering Group Computer Department, Lancaster University.]]
[30]
Krüger, I., Grosu, R., Scholz, P., and Broy, M. 1999. From MSCs to statecharts. In Distributed and Parallel Embedded Systems, Franz J. Rammig, ed. Kluwer Academic, 61--71.]]
[31]
Krüger, I. 2000. Distributed system design with message sequence charts. Dissertation, Technische Universität München, München.]]
[32]
Krüger, I. 2002. Specifying services with UML and UML-RT. Electron. Notes Theor. Comput. Sci. 65, 7, 1--17.]]
[33]
Krüger, I. 2003. Capturing overlapping, triggered, and preemptive collaborations using MSCs. In Proceedings of the Fundamental Approaches to Software Engineering, 6th International Conference (FASE). Lecture Notes in Computer Science vol. 2621. Springer Verlag. 387--402.]]
[34]
Krüger, I., Schätz, B., Broy, M., and Hussmann, H., eds. 2003. SBSE'03. Service-Based software engineering. In Proceedings of the FM2003 Workshop. Tech. Rep. TUM-I0315, Technische Universität München, München.]]
[35]
Krüger, I. and Mathew, R. 2004. Systematic development and exploration of service-oriented software architectures. In Proceedings of the 4th Working IEEE/IFIP Conference on Software Architecture (WICSA) (Oslo). 177--187.]]
[36]
Manna, Z. and Pnueli, A. 1992. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer Verlag, New York.]]
[37]
Milner, R. 1989. Communication and Concurrency. Prentice Hall, New York.]]
[38]
Nelson, E. C. and Prasad, K. V. 2003. Automotive Infotronics: An emerging domain for service-based architecture. In {Krüger et al. 2003}, pp. 3--14.]]
[39]
OMG. 1999. Realtime CORBA joint revised submission. Object Management Group (OMG), document orbos/99-02-12 ed., March 1999.]]
[40]
OMG. 2003. UML 2.0 infrastructure/superstructure final adopted specification. Object Management Group (OMG), documents ptc/03-09-15 and ptc/03-08-02.]]
[41]
Parlay Group. 2001. Parlay 3.0 specification - Call control, framework, content-based charging. http://www.parlay.org/specs/index.asp.]]
[42]
Parnas, D. 1972. On the criteria to be used to decompose systems into modules. Commun. ACM 15, 12, 1053--1058.]]
[43]
Peltz, C. 2003. Web services orchestration and choreography. IEEE Comput. 36, 10, 46--52.]]
[44]
Platt, D. S. and Ballinger, K. 2001. Introducing Microsoft .NET. Microsoft Press, Redmond, WA.]]
[45]
Prehofer, C. 1997. Feature oriented programming: A fresh look at objects. In Proceedings of the ECOOP, (Jyväskylä, Finland) Lecture Notes in Computer Science, vol. 1241, Springer Verlag, 419--443.]]
[46]
Prehofer, C. 2003. Plug-and-Play composition of features and feature interactions with statechart diagrams. In Proceedings of the 7th International Workshop on Feature Interactions in Telecommunications and Software Systems (Ottawa). 43--58.]]
[47]
SANCHO. 2003. Definition for the term “(software) service,” Sector Abbreviations and definitions for a telecommunications thesaurus oriented database, ITU-T. http://www.itu.int/sancho.]]
[48]
Selic, B., Gullekson, G., and Ward, P. T. 1994. Real-Time Object-Oriented Modeling. Wiley, New York.]]
[49]
Snell, J., Tidwell, D., and Kulchenko, P. 2002. Programming Web Services with SOAP. O'Reilly, Sebastopol, CA.]]
[50]
Sun. 2000. Jini architecture specification, version 1.1. Sun Microsystems, http://wwwwswest.sun.com/jini/specs/jini1_1.pdf.]]
[51]
Szyperski, C., Gruntz, D., and Murer, S. 2002. Component Software---Beyond Object-Oriented Programming, 2nd ed. Addison-Wesley, Boston.]]
[52]
Trowbridge, D., Roxburgh, U., Hohpe, G., Manolescu, D., and Nadhan, E. G. 2004. Integration patterns. patterns and practices. Microsoft. http://www.microsoft.com.]]
[53]
Turner, K. J. 1997. Relating services and features in the intelligent network. In Proceedings of the 4th International Conference on Telecommunications (Zagreb). 235--243.]]
[54]
W3C. 2002. Web Service Choreography Interface (WSCI) 1.0. World Wide Web Consortium (W3C), online specification. http://www.w3.org/TR/wsci, August 2002.]]
[55]
Zave, P. 2003. Feature interactions and formal specifications in telecommunications. IEEE Comput. 26, 8, 20--30.]]

Cited By

View all
  • (2021)Model-based resource analysis and synthesis of service-oriented automotive software architecturesSoftware and Systems Modeling10.1007/s10270-021-00896-9Online publication date: 5-Sep-2021
  • (2020)Model-Based Design of Service-Oriented Architectures for Reliable Dynamic ReconfigurationSAE International Journal of Advances and Current Practices in Mobility10.4271/2020-01-13642:5(2938-2947)Online publication date: 14-Apr-2020
  • (2020)Domain engineering approach of software requirements analysisPROBLEMS IN PROGRAMMING10.15407/pp2020.02-03.164(164-172)Online publication date: Sep-2020
  • Show More Cited By

Index Terms

  1. A formal model of services

                                              Recommendations

                                              Comments

                                              Information & Contributors

                                              Information

                                              Published In

                                              cover image ACM Transactions on Software Engineering and Methodology
                                              ACM Transactions on Software Engineering and Methodology  Volume 16, Issue 1
                                              February 2007
                                              116 pages
                                              ISSN:1049-331X
                                              EISSN:1557-7392
                                              DOI:10.1145/1189748
                                              Issue’s Table of Contents
                                              Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                                              Publisher

                                              Association for Computing Machinery

                                              New York, NY, United States

                                              Publication History

                                              Published: 01 February 2007
                                              Published in TOSEM Volume 16, Issue 1

                                              Permissions

                                              Request permissions for this article.

                                              Check for updates

                                              Author Tags

                                              1. Components
                                              2. assumption/commitment specifications
                                              3. service engineering
                                              4. services
                                              5. software architecture

                                              Qualifiers

                                              • Article

                                              Contributors

                                              Other Metrics

                                              Bibliometrics & Citations

                                              Bibliometrics

                                              Article Metrics

                                              • Downloads (Last 12 months)20
                                              • Downloads (Last 6 weeks)1
                                              Reflects downloads up to 21 Sep 2024

                                              Other Metrics

                                              Citations

                                              Cited By

                                              View all
                                              • (2021)Model-based resource analysis and synthesis of service-oriented automotive software architecturesSoftware and Systems Modeling10.1007/s10270-021-00896-9Online publication date: 5-Sep-2021
                                              • (2020)Model-Based Design of Service-Oriented Architectures for Reliable Dynamic ReconfigurationSAE International Journal of Advances and Current Practices in Mobility10.4271/2020-01-13642:5(2938-2947)Online publication date: 14-Apr-2020
                                              • (2020)Domain engineering approach of software requirements analysisPROBLEMS IN PROGRAMMING10.15407/pp2020.02-03.164(164-172)Online publication date: Sep-2020
                                              • (2020)Development Processes in Automotive Service-oriented Architectures2020 9th Mediterranean Conference on Embedded Computing (MECO)10.1109/MECO49872.2020.9134175(1-7)Online publication date: Jun-2020
                                              • (2020)Agile Latency Estimation for a Real-time Service-oriented Software ArchitectureIFAC-PapersOnLine10.1016/j.ifacol.2020.12.161953:2(5795-5800)Online publication date: 2020
                                              • (2020)Seamless Model-Based System Development: FoundationsEngineering Trustworthy Software Systems10.1007/978-3-030-55089-9_1(1-9)Online publication date: 1-Aug-2020
                                              • (2019)Investigating Attack Propagation in a SoS via a Service Decomposition2019 IEEE World Congress on Services (SERVICES)10.1109/SERVICES.2019.00017(9-14)Online publication date: Jul-2019
                                              • (2019)Model-Based Resource Analysis and Synthesis of Service-Oriented Automotive Software Architectures2019 ACM/IEEE 22nd International Conference on Model Driven Engineering Languages and Systems (MODELS)10.1109/MODELS.2019.000-8(128-138)Online publication date: Sep-2019
                                              • (2019)A Dynamic Service-Oriented Software Architecture for Highly Automated Vehicles2019 IEEE Intelligent Transportation Systems Conference (ITSC)10.1109/ITSC.2019.8916841(2101-2108)Online publication date: Oct-2019
                                              • (2019)On the Nature of Automotive Service Architectures2019 IEEE International Conference on Software Architecture Companion (ICSA-C)10.1109/ICSA-C.2019.00017(53-60)Online publication date: Mar-2019
                                              • Show More Cited By

                                              View Options

                                              Get Access

                                              Login options

                                              Full Access

                                              View options

                                              PDF

                                              View or Download as a PDF file.

                                              PDF

                                              eReader

                                              View online with eReader.

                                              eReader

                                              Media

                                              Figures

                                              Other

                                              Tables

                                              Share

                                              Share

                                              Share this Publication link

                                              Share on social media