Service-Oriented Systems Engineering: Specification and Design of Services and Layered Architectures

  • Manfred Broy
Part of the NATO Science Series book series (NAII, volume 195)


Based on the FOCUS theory of distributed systems (see [Broy and Stølen, 2001]) that are composed of interacting components we introduce a formal model of services and of layered architectures. In FOCUS a component is a total behavior. In contrast, a service is a partial behavior. A layer in a layered architecture is a component or a service with two service interfaces, an import and an export interface. A layered architecture is a stack of several layers. For this model of services and service layers we work out specification and design techniques for layers and layered architectures. We study the application of the notions of a service and service layer and its relation to object orientation. Finally we discuss more specific aspects of layered architectures such as refinement and error handling as well as layer models in telecommunication.


Service Engineering Assumption/Commitment Specifications Software Architectures Layered Architecture Import/Export Specifications Protocol-Stack 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Baeten and Bergstra, 1992]
    Baeten, J. and Bergstra, J. (1992). Process algebras with signals and conditions. In Broy, M., editor, Programming and Mathematical Method, volume 88 of NATO ASI Series, Series F: Computer and System Sciences, pages 273–324. Springer.Google Scholar
  2. [Berry and Gonthier, 1988]
    Berry, G. and Gonthier, G. (1988). The esterel synchronous programming language: Design, semantics, implementation. Research Report 842, INRIA.Google Scholar
  3. [Booch, 1991]
    Booch, G. (1991). Object Oriented Design with Applications. Benjamin Cummings, Redwood City, CA.Google Scholar
  4. [Booch et al., 1997]
    Booch, G., Rumbaugh, J., and Jacobson, I. (1997). The unified modeling language for object-oriented development, version 1.0. Technical report, RATIONAL Software Cooperation.Google Scholar
  5. [Broy, 1991]
    Broy, M. (1991). Towards a formal foundation of the specification and description language SDL. Formal Aspects of Computing, 3:21–57.CrossRefzbMATHGoogle Scholar
  6. [Broy, 1997]
    Broy, M. (1997). Refinement of time. In Bertran, M. and Rus, T., editors, Transformation-Based Reactive System Development. ARTS’97, volume 1231 of Lecture Notes in Computer Science, pages 44–63. To appear in TCS.Google Scholar
  7. [Broy, 1998]
    Broy, M. (1998). A functional rephrasing of the assumption/commitment specification style. Formal Methods in System Design, 13(1):87–119.CrossRefGoogle Scholar
  8. [Broy et al., 1993]
    Broy, M., Facchi, C., Hettler, R., Hußmann, H., Nazareth, D., Regensburger, F., Slotosch, O., and Stølen, K. (1993). The requirement and design specification language Spectrum. An informal introduction. Version 1.0. Part I/II. Technical Report TUM-I9311 / TUM-I9312, Technische Universität München, Institut füur Informatik.Google Scholar
  9. [Broy et al., 1997]
    Broy, M., Hofmann, C., Krüger, I., and Schmidt, M. (1997). A graphical description technique for communication in software architectures. Technical Report TUMI9705, Technische Universität München, Institut für Informatik. URL: Also in: Joint 1997 Asia Pacific Software Engineering Conference and International Computer Science Conference (APSEC’97/ICSC’97).Google Scholar
  10. [Broy and Krüger, 1998]
    Broy, M. and Krüger, I. (1998). Interaction interfaces — towards a scientific foundation of a methodological usage of message sequence charts. In Staples, J., Hinchey, M., and Liu, S., editors, Formal Engineering Methods, pages 2–15, Brisbane. IEEE Computer Society.Google Scholar
  11. [Broy and Stølen, 2001]
    Broy, M. and Stølen, K. (2001). Specification and Development of Interactive Systems: Focus on Streams, Interfaces, and Refinement. Springer.Google Scholar
  12. [Harel, 1987]
    Harel, D. (1987). Statecharts: A visual formalism for complex systems. Science of Computer Programming, 8:231–274.CrossRefzbMATHMathSciNetGoogle Scholar
  13. [Herzberg and Broy,]
    Herzberg, D. and Broy, M. Modelling layered distributed communication systems. To appear.Google Scholar
  14. [Hettler, 1994]
    Hettler, R. (1994). Zur Übersetzung von E/R-Schemata nach Spectrum. Technischer Bericht TUM-I9409, TU München.Google Scholar
  15. [Hinkel, 1998]
    Hinkel, U. (1998). Formale, semantische Fundierung und eine darauf abgestützte Verifikationsmethode fr SDL. Dissertation, Fakultät für Informatik, Technische Universität München.Google Scholar
  16. [Hoare, 1985]
    Hoare, C. (1985). Communicating Sequential Processes. Prentice Hall.Google Scholar
  17. [Hoare et al., 1981]
    Hoare, C., Brookes, S., and Roscoe, A. (1981). A theory of communicating sequential processes. Technical Monograph PRG-21, Oxford University Computing LaboratoryGoogle Scholar
  18. [Jacobsen, 1992]
    Jacobsen, I. (1992). Object-Oriented Software Engineering. Addison-Wesley, ACM Press.Google Scholar
  19. [Kahn, 1974]
    Kahn, G. (1974). The semantics of a simple language for parallel processing. In Rosenfeld, J., editor, Information Processing 74. Proc. of the IFIP Congress 74, pages 471–475, Amsterdam. North Holland.Google Scholar
  20. [Krüger et al., 1999]
    Krüger, I., Grosu, R., Scholz, P., and Broy, M. (1999). From MSCs to statecharts. In Proceedings of DIPES’98. Kluwer.Google Scholar
  21. [Milner, 1980]
    Milner, R. (1980). A Calculus of Communicating Systems, volume 92 of Lecture Notes in Computer Science. Springer.Google Scholar
  22. [MSC, 1993]
    MSC (1993). Criteria for the Use and Applicability of Formal Description Techniques. Recommendation Z. 120, Message Sequence Chart (MSC). ITU-T (previously CCITT). 35 pages.Google Scholar
  23. [MSC, 1995]
    MSC (1995). Recommendation Z.120, Annex B: Algebraic Semantics of Message Sequence Charts. ITU-Telecommunication Standardization Sector, Geneva, Switzerland.Google Scholar
  24. [Müller and Scholz, 1997]
    Müller, O. and Scholz, P. (1997). Functional specification of realtime and hybrid systems. In HART’97, Proc. of the 1st Int. Workshop on Hybrid and Real-Time Systems, volume 1201 of Lecture Notes in Computer Science, pages 273–286.Google Scholar
  25. [Park, 1980]
    Park, D. (1980). On the semantics of fair parallelism. In Bjørner, D., editor, Abstract Software Specification, volume 86 of Lecture Notes in Computer Science, pages 504–526. Springer.Google Scholar
  26. [Park, 1983]
    Park, D. (1983). The “fairness” problem and nondeterministic computing networks. In Proc. 4th Foundations of Computer Science, volume 159 of Mathematical Centre Tracts, pages 133–161. Mathematisch Centrum Amsterdam.Google Scholar
  27. [Parnas, 1972]
    Parnas, D. (1972). On the criteria to be used to decompose systems into modules. Comm. ACM, 15:1053–1058.Google Scholar
  28. [Rumbaugh, 1991]
    Rumbaugh, J. (1991). Object-Oriented Modeling and Design. Prentice Hall, Englewood Cliffs: New Jersey.Google Scholar
  29. [Rumpe, 1996]
    Rumpe, B. (1996). Formale Methodik des Entwurfs verteilter objektorientierter Systeme. Ph. d. thesis, Technische Universität München, Fakultät für Informatik. Published by Herbert Utz Verlag.Google Scholar
  30. [SDL, 1988] SDL (1988). Specification and Description Language (SDL), Recommendation Z.100. CCITT. Technical Report.Google Scholar
  31. [Selic et al., 1994]
    Selic, B., Gullekson, G., and Ward, P. (1994). Real-time Object-Oriented Modeling. Wiley, New York.Google Scholar
  32. [Zave and Jackson, 1997]
    Zave, P. and Jackson, M. (1997). Four dark corners of requirements engineering. ACM Transactions on Software Engineering and Methodology.Google Scholar

Copyright information

© Springer 2005

Authors and Affiliations

  • Manfred Broy
    • 1
  1. 1.Institut fur InformatikTechnische Universitat MunchenMunchenGermany

Personalised recommendations