skip to main content
article

A formal model of services

Published:01 February 2007Publication History
Skip Abstract Section

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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. AspectJ. 2005. AspectJ Eclipse project. http://eclipse.org/aspectj/.]]Google ScholarGoogle Scholar
  3. Autosar. 2004. Automotive open system architecture. http://www.autosar.org.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  6. Broy, M. 1998. A functional rephrasing of the assumption/commitment specification style. Formal Methods Syst. Desi. 13, 1, 1411, 87--119.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Broy, M. and Stølen, K. 2001. Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer Verlag, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  10. Cockburn, A. 2000. Writing Effective Use Cases. Addison-Wesley, Boston.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Evans, E. 2003. Domain-Driven Design. Addison-Wesley, Boston.]]Google ScholarGoogle Scholar
  13. Fowler, M., Beck, K., Brant, J., Opdyke, W., and Roberts, D. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Gamma, E., Helm, R., Johnson, R., and Vlissides, J. 1995. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading, MA.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Garlan, D. and Shaw, M. 1996. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall, Englewood Cliffs, NJ.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Harel, D. 1987. Statecharts: A visual formalism for complex systems. In Science of Computer Programming, vol. 8, Elsevier Science. 231--274.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Herzberg, D. and Broy, M. 2005. Modelling layered distributed communication systems. Formal Aspects Comput. 17, 1, 1--18.]] Google ScholarGoogle ScholarCross RefCross Ref
  19. Hoare, C. A. R. 1985. Communicating Sequential Processes. Prentice-Hall, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. IBM. 2003. Business Process Execution Language for Web Services (BPEL4WS) Version 1.1. IBM developerWorks.]]Google ScholarGoogle Scholar
  21. ISO. 1986. Information processing systems, open systems interconnection, basic reference model. ISO-7498. International Organization for Standardization, Geneva.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  23. ITU-T. 1996. Recommendation Z.120 -- Message Sequence Chart (MSC 96). ITU-T, Geneva.]]Google ScholarGoogle Scholar
  24. Jacobson, I. 1992. Object-Oriented Software Engineering. Addison-Wesley, Redwood City, CA.]] Google ScholarGoogle Scholar
  25. Jacobson, I., Booch, G., and Rumbaugh, J. 1999. The Unified Software Development Process. Addison-Wesley, Boston.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. JXTA. 2001. JXTA project homepage. http://jxme.jxta.org.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  29. Kotonya, G. and Sommerville, I. 1995. Requirements engineering with viewpoints. Tech. Rep. CSEG/10/1995, Cooperative Systems Engineering Group Computer Department, Lancaster University.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Krüger, I. 2000. Distributed system design with message sequence charts. Dissertation, Technische Universität München, München.]]Google ScholarGoogle Scholar
  32. Krüger, I. 2002. Specifying services with UML and UML-RT. Electron. Notes Theor. Comput. Sci. 65, 7, 1--17.]]Google ScholarGoogle ScholarCross RefCross Ref
  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.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  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.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Manna, Z. and Pnueli, A. 1992. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer Verlag, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Milner, R. 1989. Communication and Concurrency. Prentice Hall, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle Scholar
  39. OMG. 1999. Realtime CORBA joint revised submission. Object Management Group (OMG), document orbos/99-02-12 ed., March 1999.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  41. Parlay Group. 2001. Parlay 3.0 specification - Call control, framework, content-based charging. http://www.parlay.org/specs/index.asp.]]Google ScholarGoogle Scholar
  42. Parnas, D. 1972. On the criteria to be used to decompose systems into modules. Commun. ACM 15, 12, 1053--1058.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Peltz, C. 2003. Web services orchestration and choreography. IEEE Comput. 36, 10, 46--52.]]Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Platt, D. S. and Ballinger, K. 2001. Introducing Microsoft .NET. Microsoft Press, Redmond, WA.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  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.]]Google ScholarGoogle ScholarCross RefCross Ref
  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.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  48. Selic, B., Gullekson, G., and Ward, P. T. 1994. Real-Time Object-Oriented Modeling. Wiley, New York.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  49. Snell, J., Tidwell, D., and Kulchenko, P. 2002. Programming Web Services with SOAP. O'Reilly, Sebastopol, CA.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. Sun. 2000. Jini architecture specification, version 1.1. Sun Microsystems, http://wwwwswest.sun.com/jini/specs/jini1_1.pdf.]]Google ScholarGoogle Scholar
  51. Szyperski, C., Gruntz, D., and Murer, S. 2002. Component Software---Beyond Object-Oriented Programming, 2nd ed. Addison-Wesley, Boston.]] Google ScholarGoogle ScholarDigital LibraryDigital Library
  52. Trowbridge, D., Roxburgh, U., Hohpe, G., Manolescu, D., and Nadhan, E. G. 2004. Integration patterns. patterns and practices. Microsoft. http://www.microsoft.com.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  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.]]Google ScholarGoogle Scholar
  55. Zave, P. 2003. Feature interactions and formal specifications in telecommunications. IEEE Comput. 26, 8, 20--30.]] Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. A formal model of services

                                              Recommendations

                                              Comments

                                              Login options

                                              Check if you have access through your login credentials or your institution to get full access on this article.

                                              Sign in

                                              Full Access

                                              • 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

                                                Copyright © 2007 ACM

                                                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: 1 February 2007
                                                Published in tosem Volume 16, Issue 1

                                                Permissions

                                                Request permissions about this article.

                                                Request Permissions

                                                Check for updates

                                                Qualifiers

                                                • article

                                              PDF Format

                                              View or Download as a PDF file.

                                              PDF

                                              eReader

                                              View online with eReader.

                                              eReader