Skip to main content
Log in

Style-based modeling and refinement of service-oriented architectures

A graph transformation-based approach

  • Special Issue Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Service-oriented architectures (SOA) provide a flexible and dynamic platform for implementing business solutions. In this paper, we address the modeling of such architectures by refining business-oriented architectures, which abstract from technology aspects, into service-oriented ones, focusing on the ability of dynamic reconfiguration (binding to new services at run-time) typical for SOA.

The refinement is based on conceptual models of the platforms involved as architectural styles, formalized by graph transformation systems. Based on a refinement relation between abstract and platform-specific styles we investigate how to realize business-specific scenarios on the SOA platform by automatically deriving refined, SOA-specific reconfiguration scenarios.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall (1996)

  2. Hofmeister, C., Nord, R., Soni, D.: Applied Software Architecture. Addison-Wesley (2000)

  3. Miller, J., Mukerji, J.: MDA Guide Version 1.0.1. Object Management Group, 2003. http://www.omg.org/docs/omg/03-06-01.pdf.

  4. Abowd, G.D., Allen, R., Garlan, D.: Using style to understand descriptions of software architectures. ACM Software Engineering Notes 18(5), 9–20 (1993)

    Article  Google Scholar 

  5. Di Nitto, E., Rosenblum, D.: Exploiting ADLs to specify architectural styles induced by middleware infrastructures. In: Proc. of the 21st International Conference on Software Engineering, ICSE 99, pp. 13–22. IEEE Computer Society Press (1999)

  6. Baresi, L., Heckel, R., Thöne S., Varró, D.: Modeling and validation of service-oriented architectures: Application vs. style. In: Proc. ESEC/FSE 03 European Software Engineering Conference and ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 68–77. ACM Press (2003)

  7. Baresi, L., Heckel, R., Thöne S., Varró, D.: Style-based refinement of dynamic software architectures. In: Proc. WICSA4—4th Working IEEE/IFIP Conference on Software Architecture, pp. 155–164. IEEE Computer Society (2004)

  8. Heckel, R., Lohmann, M., Thöne, S.: Towards a UML profile for service-oriented architectures. In: Proc. of Workshop on Model Driven Architecture: Foundations and Applications (MDAFA), CTIT Technical Report TR-CTIT-03-27. University of Twente, Enschede, The Netherlands (2003)

  9. Champion, M., Ferris, C., Newcomer, E., Orchard, D.: Web Service Architecture, W3C Working Draft, 2002. http://www.w3.org/TR/2002/WD-ws-arch-20021114/

  10. Corradini, A., Montanari, U., Rossi, F.: Graph processes. Fundamenta Informaticae, 26(3/4), 241–265 (1996)

    MathSciNet  MATH  Google Scholar 

  11. Object Management Group. UML 2.0 OCL Final Adopted Specification, 2003. http://www.omg.org/cgi-bin/doc?ptc/2003-10-14

  12. Ehrig, H., Pfender, M., Schneider, H.J.: Graph grammars: an algebraic approach. In: 14th Annual IEEE Symposium on Switching and Automata Theory, pp. 167–180. IEEE (1973)

  13. Object Management Group. UML 2.0 Superstructure Final Adopted specification, 2003. http://www.omg.org/cgi-bin/ doc?ptc/2003-08-02

  14. Medvidovic, N., Rosenblum, D.S., Redmiles, D.F., Robbins, J.E.: Modeling software architectures in the Unified Modeling Language. ACM Transactions on Software Engineering and Methodology (TOSEM) 11(1), 2–57 (2002)

    Article  Google Scholar 

  15. Robbins, J.E., Medvidovic, N., Redmiles, D.F., Rosenblum, D.S.: Integrating architecture description languages with a standard design method. In: Proc. of the 20 th International Conference on Software Engineering, ICSE 98, pp. 209–218. IEEE Computer Society (1998)

  16. Abi-Antoun, M., Medvidovic, N.: Enabling the refinement of a software architecture into a design. In: Proc. UML 99—The Unified Modeling Language, vol. 1723 of LNCS, pp. 17–31. Springer (1999)

  17. Moriconi, M., Qian, X., Riemenschneider, R.A.: Correct architecture refinement. IEEE Transactions on Software Engineering 21(4), 356–372 (1995)

    Article  Google Scholar 

  18. Object Management Group. XMI: XML Metadata Interchange, v2.0, 2003. http://www.omg.org/cgi-bin/doc?formal/2003-05-02

  19. Schürr, A., Winter, A.J., Zündorf, A.: The PROGRES approach: Language and environment. In Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) Handbook on Graph Grammars and Computing by Graph Transformation, vol. 2. Applications, Languages and Tools. World Scientific (1999)

  20. Winter, A., Kullbach, B., Riediger, V.: An overview of the GXL graph exchange language. In Diehl, S. (ed.) Software Visualization: International Seminar, Dagstuhl Castle, Germany, May 20–25, 2001. Revised Papers, vol. 2269 of LNCS, pp. 324–336. Springer (2002)

  21. Varró, D.: Towards symbolic analysis of visual modeling languages. In Proc. GT-VMT 2002—Int. Workshop on Graph Transformation and Visual Modeling Techniques, vol. 72 of ENTCS, pp. 57–70. Elsevier (2002)

  22. Varró, D.: Automated formal verification of visual modeling languages by model checking. Journal of Software and Systems Modeling 3(2), 85–113 (2004)

    Article  Google Scholar 

  23. Holzmann, G.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  24. Rensink, A.: Canonical graph shapes. In: Schmidt, D.A. (eds.) Programming Languages and Systems—European Symposium on Programming (ESOP), vol. 2986 of LNCS, pp. 401–415. Springer (2004)

  25. Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Nagl, M., Pfalz, J., Böhlen, B. (eds.) Proc. Application of Graph Transformations with Industrial Relevance (AGTIVE'03), vol. 3062 of LNCS, pp. 479–485. Springer (2003)

  26. Rensink, A., Schmidt, Á., Varró, D.: Model checking graph transformations: A comparison of two approaches. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) Proc. 2nd International Conference on Graph Transformation, ICGT 2004, vol. 3256 of LNCS, pp. 226–241. Springer (2004)

  27. Luckham, D., Kenney, J., Augustin, L., Vera, J., Bryan, D., Mann, W.: Specification and analysis of system architecture using rapide. IEEE Transactions on Software Engineering 21(4), 336–355 (1995)

    Article  Google Scholar 

  28. Allen. R.: A Formal Approach to Software Architecture. PhD thesis, School of Computer Science, Carnegie Mellon University (1997)

  29. Magee, J., Dulay, N., Eisenbach, S., Kramer, J.: Specifying Distributed Software Architectures. In: Proc. ESEC 95–5th European Software Engineering Conference, vol. 989 of LNCS, pp. 137–153. Springer (1995)

  30. Hirsch, D.: Graph transformation models for software architecture styles. PhD thesis, Departamento de Computación, Universidad de Buenos Aires (2003)

  31. Hirsch, D., Montanari, U.: Synchronized hyperedge replacement with name mobility. In: Proc. CONCUR 2001—Concurrency Theory, vol. 2154 of LNCS, pp. 121–136. Springer (2001)

  32. Le Métayer, D.: Software architecture styles as graph grammars. In: Proc. 4th ACM SIGSOFT Symposium on the Foundations of Software Engineering, vol. 216 of ACM Software Engineering Notes, pp. 15–23. ACM Press (1996)

  33. Taentzer, G., Goedicke, M., Meyer, T.: Dynamic change management by distributed graph transformation: Towards configurable distributed systems. In: Proc. TAGT'98—Theory and Application of Graph Transformations, vol. 1764 of LNCS, pp. 179–193. Springer (2000)

  34. Wermelinger, M., Fiadeiro, J.L.: A graph transformation approach to software architecture reconfiguration. Science of Computer Programming 44(2), 133–155 (2002)

    Article  MATH  Google Scholar 

  35. Engels, G., Hausmann, J.H., Heckel, R., St. Sauer. Dynamic meta modeling: A graphical approach to the operational semantics of behavioral diagrams in UML. In: Proc. UML 2000—The Unified Modeling Language, vol. 1939 of LNCS, pp. 323–337. Springer (2000)

  36. Lilius, J., Paltor, I.P.: vUML: a tool for verifying UML models. In Proceedings of the 14th IEEE International Conference on Automated Software Engineering (ASE), pp. 255–258 (1999)

  37. Compton, K., Gurevich, Y., Huggins, J., Shen, W.: An automatic verification tool for UML. Technical Report CSE-TR-423-00, University of Michigan, EECS Department (2000)

  38. Gnesi, S., Latella, D., Massink, M.: Model checking UML statecharts diagrams using JACK. In: Proceedings of the 4th IEEE International Symposium on High Assuarance Systems Enginering (HASE), pp. 46–55. IEEE Press (1999)

  39. Schäfer, T., Knapp, A., Merz, S.: Model checking UML state machines and collaborations. Electronic Notes in Theoretical Computer Science 55(3), 13 (2001)

    Article  Google Scholar 

  40. Garlan, D., Khersonsky, S., Kim, J.S.: Model checking publish-subscribe systems. In: Proceedings of the 10th SPIN Workshop, vol. 2648 of LNCS (2003)

  41. Hatcliff, J., Deng, W., Dwyer, M.B., Jung, G., Ranganath, V.: Cadena: An integrated development, analysys, and verification environment for component-based systems. In: Proceedings of the 25th International Conference on Software Engineering, pp. 160–172, (2003)

  42. Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. In: Proc. ICSE 2003—Int. Conference on Software Engineering, pp. 187–197. IEEE (2003)

  43. Garlan, D.: Style-based refinement for software architecture. In: Proc. ISAW-2, 2nd Int. Software Architecture Workshop on SIGSOFT '96, pp. 72–75. ACM Press (1996)

  44. Canal, C., Pimentel, E., Troya, J.M.: Specification and refinement of dynamic software architectures. In: Proc. WICSA1, First Working IFIP Conference on Software Architecture, vol. 140 of IFIP Conference Proceedings, pp. 107–126. Kluwer (1999)

  45. Denford, M., O'Neill, T., Leaney, J.: Architecture-based design of computer based systems. In: Proc. StraW03, Int. Workshop From Software Requirements to Architectures, 2003. se.uwaterloo.ca/straw03/

  46. Bolusset, T., Oquendo, F.: Formal refinement of software architectures based on rewriting logic. In Proc. RCS 02 Int. Workshop on Refinement of Critical Systems, 2002. http://www-lsr.imag.fr/zb2002/.

  47. Heckel, R., Thöne, S.: Behavior-preserving refinement relations between dynamic software architectures. In Proc. of the 17th Int. Workshop on Algebraic Development Techniques, WADT 2004, LNCS. Springer, 2004 (to appear)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Luciano Baresi.

Additional information

Communicated by Bernhard Schätz and Ingolf Krüger

Research partially supported by the European Research Training Network SegraVis (on Syntactic and Semantic Integration of Visual Modelling Techniques)

Rights and permissions

Reprints and permissions

About this article

Cite this article

Baresi, L., Heckel, R., Thöne, S. et al. Style-based modeling and refinement of service-oriented architectures. Softw Syst Model 5, 187–207 (2006). https://doi.org/10.1007/s10270-006-0001-4

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0001-4

Keywords

Navigation