Formal Aspects of Computing

, Volume 26, Issue 6, pp 1077–1113 | Cite as

A formal framework for service modeling and prototyping

  • Elvinia RiccobeneEmail author
  • Patrizia Scandurra
Original Article


Service-oriented Computing is rapidly gaining importance across several application domains due to its capability of composing autonomous and loosely-coupled services. In order to support the engineering of service-oriented software applications, foundational theories, service modeling notations, evaluation techniques fully integrated in a pragmatic software engineering approach are required. This article introduces a framework for modeling and prototyping service-oriented applications. The framework consists of a precise and executable language, SCA-ASM, for model-based design, and of a tool for early and quick design evaluation of service assemblies. The language combines the OASIS/OSOA standard Service Component Architecture (SCA) capability of modeling and assembling heterogeneous service-oriented components in a technology agnostic way, with the rigor of the Abstract State Machine (ASM) formal method able to model notions of service behavior, interactions, orchestration, compensation and context-awareness in an abstract but executable way. The tool is based on existing execution environments for ASM models and SCA applications. An SCA-ASM model of a service-oriented component, possibly not yet implemented in code or available as off-the-shelf, can be (i) simulated and evaluated offline, i.e. in isolation from the other components; or (ii) executed as abstract implementation (or prototype) together with the other components implementations according to the chosen SCA assembly. As proof of concept, a case study taken from EU research projects has been considered to show the functionalities and potentialities of the proposed framework.


Service formal modeling Service model prototyping Service Component Architecture Abstract State Machines 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. AAA06.
    Attiogbé C, André P, Ardourel G (2006) Checking component composability. In: Löwe W, Südholt M (eds) Software composition. Lecture notes in computer science, vol 4089. Springer, Berlin, pp 18–33Google Scholar
  2. AAA08.
    André P, Ardourel G, Attiogbé C (2008) Composing components with shared services in the Kmelia model. In: Pautasso C, Tanter É (eds) Software composition. LNCS, vol 4954. Springer, Berlin, pp 125–140Google Scholar
  3. AAS12.
    Ameur YA, Aït-Sadoune I (2012) Stepwise development of formal models for web services compositions: modelling and property verification. In: Liddle SW, Schewe K-D, Tjoa AM, Zhou X (eds) DEXA (1). Lecture notes in computer science, vol 7446. Springer, Berlin, p 9Google Scholar
  4. ACKM04.
    Alonso G, Casati F, Kuno HA, Machiraju V (2004) Web Services—concepts, architectures and applications. Data-centric systems and applications. Springer, BerlinGoogle Scholar
  5. AFL08.
    Altenhofen M, Friesen A, Lemcke J (2008) ASMs in service oriented architectures. J Univers Comput Sci 14(12):2034–2058 Google Scholar
  6. AGR10a.
    Arcaini P, Gargantini A, Riccobene E (2010) Asmetasmv: A way to link high-level ASM models to low-level NuSMV specifications. In: Frappier M, Glässer U, Khurshid S, Laleau R, Reeves S (eds), ASM. Lecture notes in computer science, vol 5977. Springer, Berlin, pp 61–74Google Scholar
  7. AGR10b.
    Arcaini P, Gargantini A, Riccobene E (2010) Automatic review of Abstract State Machines by meta property verification. In: Muñoz C (ed) NASA formal methods. NASA conference proceedings, vol NASA/CP-2010-216215, pp 4–13Google Scholar
  8. AGR11.
    Arcaini P, Gargantini A, Riccobene E (2011) Coma: conformance monitoring of java programs by Abstract State Machines. In: Khurshid S, Sen K (eds) RV. Lecture notes in computer science, vol 7186. Springer, Berlin, pp 223–238Google Scholar
  9. AGR13.
    Arcaini P, Gargantini A, Riccobene E (2013) Combining model-based testing and runtime monitoring for program testing in the presence of nondeterminism. In: Proceedings of the 9th workshop on advances in model based testing (A-MOST 2013)Google Scholar
  10. AGRS11.
    Arcaini P, Gargantini A, Riccobene E, Scandurra P (2011) A model-driven process for engineering a toolset for a formal method. Softw Pract Exp 41(2): 155–166CrossRefGoogle Scholar
  11. AMFG09.
    Abreu J, Mazzanti F, Fiadeiro JL, Gnesi S (2009) A model-checking approach for service component architectures. In: Lee D, Lopes A, Poetzsch-Heffter A (eds) FMOODS/FORTE. LNCS, vol 5522. Springer, Berlin, pp 219–224Google Scholar
  12. Asm11.
    The ASMETA toolset website (2011)
  13. BB05.
    Barros AP, Börger E (2005) A compositional framework for service interaction patterns and interaction flows. In: Lau K-K, Banach R (eds) ICFEM. LNCS, vol 3785. Springer, Berlin, pp 5–35Google Scholar
  14. BBBB08.
    Börger E, Butler MJ, Bowen JP, Boca P (eds) (2008) In: Proceedings of the Abstract State Machines, B and Z, first international conference, ABZ 2008, London, UK, September 16–18, 2008. Lecture notes in computer science, vol 5238. Springer, BerlinGoogle Scholar
  15. BBG07.
    Ter Beek MH, Bucchiarone A, Gnesi S (2007) Formal methods for service composition. Ann Math Comput Teleinform 1(5): 1–10Google Scholar
  16. BBNL08.
    Boreale M, Bruni R, De Nicola R, Loreti M (2008) Sessions and pipelines for structured service programming. In: Barthe G, de Boer FS (eds) FMOODS. LNCS, vol 5051. Springer, Berlin, pp 19–38Google Scholar
  17. BGRS11.
    Brugali D, Gherardi L, Riccobene E, Scandurra P (2011) Coordinated execution of heterogeneous service-oriented components by Abstract State Machines. In: Arbab F, PeterCsaba n++lveczky (eds) FACS. Lecture notes in computer science, vol 7253. Springer, Berlin, pp 331–349Google Scholar
  18. BGS11.
    Brugali D, Gherardi L, Scandurra P (2011) A robotics task coordination case study. In: Workshop on software development and integration in robotics (SDIR), 9 May 2011Google Scholar
  19. BH06.
    Bussler C, Haller A (eds) (2006) Business process management workshops, BPM 2005 international workshops, BPI, BPD, ENEI, BPRM, WSCOBPM, BPS, Nancy, France, September 5, 2005, vol 3812. Revised Selected PapersGoogle Scholar
  20. BLJM08.
    Bieberstein N, Laird R, Jones K, Mitra T (2008) Executing SOA: a practical guide for the service-oriented architect. Addison-Wesley, ReadingGoogle Scholar
  21. BLPT09.
    Banti F, Lapadula A, Pugliese R, Tiezzi F (2009) Specification and analysis of SOC systems using COWS: a finance case study. Electr Notes Theor Comput Sci 235: 71–105CrossRefGoogle Scholar
  22. Bör07.
    Börger E (2007) Modeling workflow patterns from first principles. In: Parent C, Schewe K-D, Storey VC, Thalheim B (eds) ER. Lecture notes in computer science, vol 4801. Springer, Berlin, pp 1–20Google Scholar
  23. BPM10.
    OMG Business Process Model and Notation (BPMN) 2.0. (2010).
  24. BPZ09.
    Bernardo M, Padovani L, Zavattaro G (eds) (2009) Formal methods for web services. In: 9th International school on formal methods for the design of computer, communication, and software systems, SFM 2009, Bertinoro, Italy, June 1–6, 2009, Advanced lectures. LNCS, vol 5569. Springer, BerlinGoogle Scholar
  25. BRI.
    EU project BRICS (Best Practice in Robotics).
  26. Bru09.
    Bruni R (2009) Calculi for Service-Oriented Computing. In: Bernardo et al. [BPZ09], pp 1–41Google Scholar
  27. BS03.
    Börger E, Stärk R (2003) Abstract State Machines: a method for high-level system design and analysis. Springer, BerlinGoogle Scholar
  28. BS10.
    Brugali D, Shakhimardanov A (2010) Component-based robotic engineering (part II): systems and models. Robotics XX(1):1–12Google Scholar
  29. BST09.
    Börger E, Sörensen O, Thalheim B (2009) On defining the behavior of or-joins in business process models. J Univ Comput Sci 15(1): 3–32Google Scholar
  30. BT08.
    Börger E, Thalheim B (2008) Modeling workflows, interaction patterns, web services and business processes: the ASM-based approach. In: Börger et al. [BBBB08], pp 24–38Google Scholar
  31. CdLG+09.
    Cheng BHC, de Lemos R, Giese H, Inverardi P, Magee J (eds) (2009) Software engineering for self-adaptive systems [outcome of a Dagstuhl Seminar]. Lecture notes in computer science, vol 5525. Springer, BerlinGoogle Scholar
  32. CGRS08.
    Carioni A, Gargantini A, Riccobene E, Scandurra P (2008) A scenario-based validation language for ASMs. In: Börger et al. [BBBB08], pp 71–84Google Scholar
  33. CS10.
    Chandy M, Schulte R (2010) McGraw-HillGoogle Scholar
  34. DCL08.
    Ding Z, Chen Z, Liu J (2008) A rigorous model of service component architecture. Electr Notes Theor Comput Sci 207: 33–48CrossRefGoogle Scholar
  35. DLC08.
    Du D, Liu J, Cao H (2008) A rigorous model of contract-based service component architecture. In: CSSE (2). IEEE Computer Society, pp 409–412Google Scholar
  36. EMF08.
    Eclipse Modeling Framework (2008).
  37. FGT12.
    Filieri A, Ghezzi C, Tamburrelli G (2012) A formal approach to adaptive software: continuous assurance of non-functional requirements. Form Asp Comput 24(2): 163–186MathSciNetCrossRefzbMATHGoogle Scholar
  38. FLB11.
    Fiadeiro JL, Lopes A, Bocchi L (2011) An abstract model of service discovery and binding. Form Asp Comput 23(4): 433–463CrossRefGoogle Scholar
  39. FLBA11.
    Fiadeiro JL, Lopes A, Bocchi L, Abreu J (2011) The sensoria reference modelling language. In: Wirsing M, Hölzl MM (eds) Results of the SENSORIA project. Lecture notes in computer science, vol 6582. Springer, Berlin, pp 61–114Google Scholar
  40. FR05.
    Fahland D, Reisig W (2005) ASM-based semantics for BPEL: the negative control flow. In: Proceedings of the 12th international workshop on Abstract State Machines, pp 131–151Google Scholar
  41. GGV04.
    Glässer U, Gurevich Y, Veanes M (2004) Abstract communication model for distributed systems. IEEE Trans Softw Eng 30(7): 458–472CrossRefGoogle Scholar
  42. GLG+06.
    Guidi C, Lucchi R, Gorrieri R, Busi N, Zavattaro G (2006) : A calculus for service oriented computing. In: Dan A, Lamersdorf W (eds) ICSOC. LNCS, vol 4294. Springer, Berlin, pp 327–338Google Scholar
  43. GR01.
    Gargantini A, Riccobene E (2001) ASM-based testing: coverage criteria and automatic test sequence. J UCS 7(11): 1050–1067Google Scholar
  44. GRR03.
    Gargantini A, Riccobene E, Rinzivillo S (2003) Using spin to generate tests from ASM specifications. In: Börger E, Gargantini A, Riccobene E (eds) Abstract State Machines. Lecture notes in computer science, vol 2589. Springer, Berlin, pp 263–277Google Scholar
  45. GRS08.
    Gargantini A, Riccobene E, Scandurra P (2008) A metamodel-based language and a simulation engine for Abstract State Machines. J UCS 14(12): 1949–1983Google Scholar
  46. GT05.
    Gurevich Y, Tillmann N (2005) Partial updates. Theor Comput Sci 336(2–3): 311–342MathSciNetCrossRefzbMATHGoogle Scholar
  47. HSS05.
    Hinz S, Schmidt K, Stahl C (2005) Transforming BPEL to Petri nets. In: Proceedings of the international conference on business process management (BPM2005). Lecture notes in computer science, vol 3649. Springer, Berlin, pp 220–235Google Scholar
  48. LGK+11.
    Louhichi S, Graiet M, Kmimech M, Bhiri MT, Gaaloul W, Cariou E (2011) MDE approach for the generation and verification of sca model. In: Proceedings of the 13th international conference on information integration and web-based applications and services, iiWAS ’11, New York, NY, USA. ACM, pp 317–320Google Scholar
  49. LMVR07.
    Lanese I, Martins F, Vasconcelos VT, Ravara A (2007) Disciplining orchestration and conversation in service-oriented computing. In: SEFM’07. IEEE, pp 305–314Google Scholar
  50. LPT07.
    Lapadula A, Pugliese R, Tiezzi F (2007) A calculus for orchestration of web services. LNCS. Springer, Berlin, pp 33–47Google Scholar
  51. mata.
    EU project BRICS (2011) Technical Report. A coordination use case.
  52. matb.
    OMG. Service oriented architecture Modeling Language (SoaML) (2009) ptc/2009-04-01.
  53. MM06.
    Martens A, Moser S (2006) Diagnosing SCA components using wombat. In: Dustdar S, Fiadeiro JL, Sheth AP (eds) Business process management. Lecture notes in computer science, vol 4102. Springer, Berlin, pp 378–388Google Scholar
  54. MSK08.
    Mayer P, Schroeder A, Koch N (2008) A model-driven approach to service orchestration. In: IEEE SCC (2), pp 533–536Google Scholar
  55. MSKK09.
    Mayer P, Schroeder A, Koch N, Knapp A (2009) The UML4SOA profile. Technical Report, LMU MuenchenGoogle Scholar
  56. NAS11.
    Laws S, Combellack M, Feng R, Mahbod H, Nash S (2011) Tuscany SCA in action. Manning PublicationsGoogle Scholar
  57. NuS.
    NuSMV: a new symbolic model checker.
  58. PEP.
    The PEPA stochastic analyzer.
  59. RPS12.
    Riccobene E, Potena P, Scandurra P (2012) Reliability prediction for Service Component Architectures with the sca-asm component model. In: Cortellessa V, Muccini H, Demirörs O (eds) EUROMICRO-SEAA. IEEE Computer Society, pp 125–132Google Scholar
  60. RS10a.
    Riccobene E, Scandurra P (2010) An ASM-based executable formal model of service-oriented component interactions and orchestration. In: BM-MDA’10: workshop on behavior modeling in model-driven architecture. ACMGoogle Scholar
  61. RS10b.
    Riccobene E, Scandurra P (2010) Specifying formal executable behavioral models for structural models of service-oriented components. In: van Sinderen M, Sapkota B (eds) ACT4SOC. SciTePress, pp 29–41Google Scholar
  62. RSA11a.
    Riccobene E, Scandurra P, Albani F (2011) An Eclipse-based SCA design framework to support coordinated execution of services. In: Online proceedings of the 6th workshop of the Italian eclipse community (Eclipse-IT’2011)Google Scholar
  63. RSA11b.
    Riccobene E, Scandurra P, Albani F (2011) A modeling and executable language for designing and prototyping service-oriented applications. In: EUROMICRO-SEAA. IEEE, pp 4–11Google Scholar
  64. S-c.
    EU project S-Cube.
  65. SBS04.
    Salaün G, Bordeaux L, Schaerf M (2004) Describing and reasoning on web services using process algebra. In: Proceedings of the IEEE international conference on web services, ICWS ’04, Washington, DC, USA. IEEE Computer Society, p 43Google Scholar
  66. SCAa.
    OASIS/OSOA. Service Component Architecture (SCA).
  67. SCAb.
  68. SCAc.
    SCA Service Component Architecture Assembly Model Specification—Extensions for Event Processing and Pub/Sub (2009).
  69. SCAd.
  70. SENa.
    EU project SENSORIA.
  71. SENb.
    The SENSORIA Approach: White Paper October 17th, 2007.
  72. SOM.
    The Service-Oriented Modeling Framework in Enterprise Architect.
  73. tBBG07.
    ter Beek MH, Bucchiarone A, Gnesi S (2007) Web service composition approaches: From industrial standards to formal methods. In: ICIW. IEEE Computer Society, p 15Google Scholar
  74. Tus.
  75. vdABvH+06.
    van der Aalst WMP, Beisiegel M, van Hee KM, König D, Stahl C (2006) A SOA-based architecture framework. In: Leymann F, Reisig W, Thatte SR, van der Aalst WMP (eds) The role of business processes in service oriented architectures. Dagstuhl seminar proceedings, vol 06291. Internationales Begegnungs- und Forschungszentrum fuer Informatik (IBFI), Schloss Dagstuhl, GermanyGoogle Scholar
  76. vdAMSW09.
    van der Aalst WMP, Mooij AJ, Stahl C, Wolf K Service interaction: patterns, formalization, and analysis. In: Bernardo et al. [BPZ09], pp 42–88Google Scholar
  77. Ver05.
    Verbeek HMW, van der Aalst WMP (2005) Analyzing BPEL processes using Petri nets. In: Proceedings of the Second International Workshop on Applications of Petri Nets to Coordination, Workflow and Business Process Management. Florida International University, Miami, Florida, USA, pp 59–78Google Scholar
  78. VRMCL08.
    Vaquero LM, Rodero-Merino L, Caceres J, Lindner M (2008) A break in the clouds: towards a cloud definition. SIGCOMM Comput Commun Rev 39(1): 50–55CrossRefGoogle Scholar
  79. WS-07.
    OASIS Standard WS-BPEL 2.0 (2007).

Copyright information

© British Computer Society 2013

Authors and Affiliations

  1. 1.Computer Science DepartmentUniversità degli Studi di MilanoCremaItaly
  2. 2.Engineering DepartmentUniversità degli Studi di BergamoDalmineItaly

Personalised recommendations