Advertisement

Software & Systems Modeling

, Volume 12, Issue 3, pp 597–617 | Cite as

On the realizability of collaborative services

  • Humberto Nicolás Castejón
  • Gregor von Bochmann
  • Rolv Bræk
Regular Paper

Abstract

This paper considers compositional specifications of services using UML 2 collaborations, activity and interaction diagrams, and addresses the realizability problem for such specifications: given a global specification, can we construct a set of communicating system components whose joint behavior is precisely the specified global behavior? We approach the problem by looking at how the sequencing of collaborations and local actions may be described using UML activity diagrams. We identify the realizability problems for each of the sequencing operators, such as strong and weak sequence, choice of alternatives, loops, and concurrency. The nature of these realizability problems and possible solutions are discussed. This brings a new look at already known problems: we show that given some conditions, certain problems can already be detected at an abstract level, without looking at the detailed interactions of the collaborations, provided that we know the components that initiate and terminate the different collaborations.

Keywords

Service composition Compositional specification of collaborations Realizability of distributed implementations Distributed system design Design guidelines Deriving component behavior from global specifications Workflow for collaborations UML activity diagrams Service oriented architecture 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Lamport, L., Wolper, P.: Realizable and unrealizable specifications of reactive systems. In: Proceedings of 16th International Colloquium on Automata, Languages and Programming (ICALP’89). Springer, London, pp. 1–17 (1989)Google Scholar
  2. 2.
    Alur R., Holzmann G.J., Peled D.: An analyzer for message sequence charts. Softw. Concepts Tools 17(2), 70–77 (1996)Google Scholar
  3. 3.
    Alur, R., Yannakakis, M.: Model checking of message sequence charts. In: Proceedings of 10th International Conference on Concurrency Theory (CONCUR’99), LNCS, vol. 1664, pp. 114–129. Springer, Berlin (1999)Google Scholar
  4. 4.
    Alur, R., Etessami, K., Yannakakis, M.: Inference of message sequence charts. In: Proceedings of 22nd International Conference on Software Engineering (ICSE’00) (2000)Google Scholar
  5. 5.
    Alur R., Etessami K., Yannakakis M.: Realizability and verification of MSC graphs. Theor. Comput. Sci. 331(1), 97–114 (2005)MathSciNetMATHCrossRefGoogle Scholar
  6. 6.
    Amyot D.: Introduction to the user requirements notation: learning by example. Comput. Netw. 42(3), 285–301 (2003)CrossRefGoogle Scholar
  7. 7.
    Baker, P., Bristow, P., Jervis, C., King, D., Thomson, R., Mitchell, B., Burton, S.: Detecting and resolving semantic pathologies in UML sequence diagrams. In: Proceedings of 10th ESEC/13th ACM SIGSOFT FSE Conference, pp. 50–59. ACM Press, New York (2005)Google Scholar
  8. 8.
    Baudru, N., Morin, R.: Safe implementability of regular message sequence chart specifications. In: Proceedings of ACIS 4th International Conference on Software Engineering, Artificial Intelligence, Networking and Parallel/Distributed Computing (SNPD’03), pp. 210–217 (2003)Google Scholar
  9. 9.
    Ben-Abdallah, H., Leue, S.: Syntactic detection of process divergence and non-local choice in message sequence charts. In: Proceedings of 2nd International Workshop on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’97) (1997)Google Scholar
  10. 10.
    Bochmann G.: Finite state description of communication protocols. Comput. Netw. 2, 361–372 (1978)Google Scholar
  11. 11.
    Bravetti, M., Zavattaro, G.: Contract compliance and choreography conformance in the presence of message queues. In: Proceedings of 7th International Workshop on Web Services and Formal Methods, LNCS, vol. 5387. Springer, Berlin (2009)Google Scholar
  12. 12.
    Bræk, R.: Unified system modeling and implementation. In: Proceedings of International Switching Symposium (ISS), Paris, May (1979)Google Scholar
  13. 13.
    Bræk, R.: Using roles with types and objects for service development. In: Proceedings of IFIP 5th International Conference on Intelligence in Networks (SMARTNET’99), IFIP Conference Proceedings, vol. 160. Kluwer, Dordrecht (1999)Google Scholar
  14. 14.
    Broy, M., Krüger, I.H., Meisinger, M.: A formal model of services. ACM Trans. Softw. Eng. Methodol. (TOSEM), 16(1) (2007)Google Scholar
  15. 15.
    Castejón, H.N.: Collaborations in service engineering: modeling, analysis and execution, PhD thesis. Norwegian University of Science and Technology (NTNU) (2008)Google Scholar
  16. 16.
    Castejón, H.N., Bræk, R.: A collaboration-based approach to service Specification and detection of implied scenarios. In: Proceedings of 5th ICSE International Workshop on Scenarios and State Machines: Models, Algorithms and Tools (SCESM’06). ACM Press, New York (2006)Google Scholar
  17. 17.
    Castejón, H.N., Bræk, R.: Formalizing collaboration goal sequences for service choreography. In: Proceedings of 26th IFIP WG 6.1 International Conf. on Formal Methods for Networked and Distributed Systems (FORTE’06), LNCS, vol. 4229, Springer, Berlin (2006)Google Scholar
  18. 18.
    Castejón, H.N., von Bochmann, G., Bræk, R.: Investigating the realizability of collaboration-based service specifications, Technical report, Avantel 3/2007 (NTNU). ISSN 1503–4097 (2007)Google Scholar
  19. 19.
    Castejón, H.N., von Bochmann, G., Bræk, R.: Direct realizability, Unpublished technical report (2009). http://www.site.uottawa.ca/~bochmann/dsrg/PublicDocuments/Publications/Cast09.pdf
  20. 20.
    Chen, C.-A., Kalvala, S., Sinclair, J.: Race conditions in message sequence charts. In: Proceedings of 3rd Asian Symposium on Programming Languages and Systems (APLAS’05), LNCS, vol. 3780, pp. 195–211. Springer, Berlin (2005)Google Scholar
  21. 21.
    Decker, G., Weske, M.: Local enforceability in interaction Petri nets. In: Proceedings of 5th International Conference on Business Process Management. Springer, Berlin (2007)Google Scholar
  22. 22.
    Erl, T.: Service Oriented Architecture: Concepts, Technology and Design. Prentice Hall, Upper Saddle River. ISBN 0-13-185858-0Google Scholar
  23. 23.
    Fisler, K., Krishnamurthi, S.: Modular verification of collaboration-based software designs. In: Proceedings of 8th European Software Engineering Conference. ACM Press, New York (2001)Google Scholar
  24. 24.
    Fournet, C., Hoare, T., Rajamani, S.K., Rehof, J.: Stuck-free Conformance. In: Proceedings of 16th International Conference on Computer Aided Verification (CAV’04), LNCS, vol. 3114. Springer, Berlin (2004)Google Scholar
  25. 25.
    Genest B., Muscholl A., Seidl H., Zeitoun M.: Infinite-state high-level MSCs: model-checking and realizability. J. Comput. Syst. Sci. 72(4), 617–647 (2006)MathSciNetMATHCrossRefGoogle Scholar
  26. 26.
    Gouda M.G., Yu Y.-T.: Synthesis of communicating finite state machines with guaranteed progress. IEEE Trans. Commun. Com-32(7), 779–788 (1984)CrossRefGoogle Scholar
  27. 27.
    Haugen, Ø., Husa, K.E., Runde, R.K., Stølen, K.: Why Timed Sequence Diagrams Require Three-Event Semantics, Research report 309. University of Oslo (2006)Google Scholar
  28. 28.
    Hélouët, L., Jard, C.: Conditions for synthesis of communicating automata from HMSCs. In: Proceedings of 5th International Workshop on Formal Methods for Industrial Critical Systems (FMICS’00), Berlin, GMD FOKUS (2000)Google Scholar
  29. 29.
    Hélouët, L.: Some pathological message sequence charts, and how to detect them. In: Proceedings of 10th International SDL Forum, LNCS, vol. 2078, pp. 348–364. Springer, Berlin (2001)Google Scholar
  30. 30.
    IUT-T: Specification and Description Language (SDL), Recommendation Z.100 (2000)Google Scholar
  31. 31.
    IUT-T: Message Sequence Charts (MSC), Recommendation Z.120 (1998)Google Scholar
  32. 32.
    Kant C., Higashino T., von Bochmann G.: Deriving protocol specifications from service specifications written in LOTOS. Distributed Comput. 10(1), 29–47 (1996)CrossRefGoogle Scholar
  33. 33.
    Kathayat, S.B., Bræk, R., Le, H.N.: Automatic derivation of components from choreographies—a case study. In: Proceedings of Annual International Conference on Software Engineering (2010)Google Scholar
  34. 34.
    Kathayat, S.B., Bræk, R.: From flow-global choreography to component types. In: Proceedings of 7th Workshop on System Analysis and Modeling, LNCS, vol. 6598, Springer, Berlin (2011)Google Scholar
  35. 35.
    Khendek, F., Zhang, X.J.: From MSC to SDL: overview and an application to the autonomous shuttle transport system. In: Proceedings of 2003 Dagstuhl Workshop on Scenarios: Models, Transformations and Tools, LNCS, vol. 3466 (2005)Google Scholar
  36. 36.
    Kraemer F.A., Såtten V., Herrmann P.: Tool support for the rapid composition, analysis and implementation of reactive services. J. Syst. Softw. 82(12), 2068–2080 (2009)CrossRefGoogle Scholar
  37. 37.
    Krüger, I.: Capturing overlapping, triggered and preemptive collaborations using MSCs. In: Proceedings of 6th International Conference on Fundamental Approaches to Software Engineering (FASE’03), LNCS, vol. 2621, Springer, Berlin (2003)Google Scholar
  38. 38.
    Krüger, I., Mathew, R.: Component synthesis from service specifications. In: Proceedings of International Dagstuhl Workshop on Scenarios: Models, Transformations and Tools, LNCS, vol. 3466. Springer, Berlin(2003)Google Scholar
  39. 39.
    Laamarti, F.: Derivation of component designs from global specifications, Master Thesis, SITE, University of Ottawa (2010). http://www.site.uottawa.ca/~bochmann/dsrg/Docs/Master-theses/Laamarti%20-%20Derivation-of-Component-Designs-from-Global-Specifications.pdf
  40. 40.
    Lohmann, N., Wolf, K.: Realizability is controllability. In: Proceedings of 6th International Conference on Web Services and Formal Methods, Springer, Berlin (2010)Google Scholar
  41. 41.
    Lohrey M.: Realizability of high-level message sequence charts: closing the gaps. Theor. Comput. Sci. 309(1–3), 529–554 (2003)MathSciNetMATHCrossRefGoogle Scholar
  42. 42.
    Magee J., Kramer J.: Concurrency: State Models & Java Programs, 2nd edn. Wiley, New York (2006)Google Scholar
  43. 43.
    Mitchell B.: Resolving race conditions in asynchronous partial order scenarios. IEEE Trans. Softw. Eng. 31(9), 767–784 (2005)CrossRefGoogle Scholar
  44. 44.
    Mooij, A.J., Goga, N., Romijn, J.: Non-local choice and beyond: intricacies of MSC choice nodes. In: Proceedings of International Conference on Fundamental Approaches to Software Engineering (FASE’05), LNCS, vol. 3442, Springer, Berlin (2005)Google Scholar
  45. 45.
    Mooij, A.J., Romijn, J., Wesselink, W.: Realizability criteria for compositional MSC. In: Proceedings of 11th International Conference on Algebraic Methodology and Software Technology (AMAST’06), LNCS, vol. 4019, Springer, Berlin (2006)Google Scholar
  46. 46.
    Mousavi, A., et al.: Strong safe realizability of message sequence chart specifications. In: Proceedings of International Symposium on Fundamentals of Software Engineering, LNCS, vol. 4767. Springer, Berlin (2007)Google Scholar
  47. 47.
    Mukund, M., Kumar, K.N., Sohoni, M.A.: Synthesizing distributed finite-state systems from MSCs. In: Proceedings of 11th International Conference on Concurrency Theory (CONCUR’00), LNCS, vol. 1877, pp. 521–535. Springer, Berlin (2000)Google Scholar
  48. 48.
    Object Management Group: UML 2.2 Superstructure Specification, February (2009). http://www.omg.org/cgi-bin/doc?formal/09-02-02.pdf
  49. 49.
    Object Management Group: UML 2.0 Superstructure Specification, July (2005) http://www.omg.org/spec/UML/2.0/Superstructure/PDF/
  50. 50.
    Qiu, Z., Zhao, X., Cai, C., Yang, H.: Towards the theoretical foundation of choreography. In: Proceedings of 16th International Conference on World Wide Web (2007)Google Scholar
  51. 51.
    Reenskaug T., Andersen E.P., Berre A.J., Hurlen A., Landmark A., Lehne O.A., Nordhagen E., Ness-Ulseth E., Oftedal G., Skaar A.L., Stenslet P.: OORASS: seamless support for the creation and maintenance of object-oriented systems. J. Object Oriented Programm. 5(6), 27–41 (1992)Google Scholar
  52. 52.
    Reenskaug T., Wold P., Lehne O.A.: Working With Objects: The OOram Software Engineering Method. Prentice Hall, Upper Saddle River (1995)Google Scholar
  53. 53.
    Roohi, N., Salaün, G.: Realizability and dynamic reconfiguration of chor specifications. Informatica (2011, in press)Google Scholar
  54. 54.
    Uchitel S., Kramer J., Magee J.: Incremental elaboration of scenario-based specifications and behavior models using implied scenarios. ACM Trans. Softw. Eng. Methodol. (TOSEM) 13(1), 37–85 (2004)CrossRefGoogle Scholar
  55. 55.
    von Bochmann, G., Gotzhein, R.: Deriving protocol specifications from service specifications. In: Proceedings of ACM SIGCOMM Symposium, pp. 148–156 (1986)Google Scholar
  56. 56.
    von Bochmann, G.: Deriving component designs from global requirements. In: Proceedings of International Workshop on Model Based Architecting and Construction of Embedded Systems (ACES), Toulouse, Sept. (2008)Google Scholar

Copyright information

© Springer-Verlag 2011

Authors and Affiliations

  • Humberto Nicolás Castejón
    • 1
    • 3
  • Gregor von Bochmann
    • 2
  • Rolv Bræk
    • 3
  1. 1.Telenor ASATrandheimNorway
  2. 2.School of Information Technology and Engineering (SITE)University of OttawaOttawaCanada
  3. 3.Department of TelematicsNorwegian University of Science and TechnologyTrondheimNorway

Personalised recommendations