Abstract
Today, service compositions often need to be assembled or changed on-the-fly, which leaves only little time for quality assurance. Moreover, quality assurance is complicated by service providers only giving information on their services in terms of domain specific concepts with only limited semantic meaning.
In this paper, we propose a method to construct service compositions based on pre-verified templates. Templates, given as workflow descriptions, are typed over a (domain-independent) template ontology defining concepts and predicates. Templates are proven correct using an abstract semantics, leaving the specific meaning of ontology concepts open, however, only up to given ontology rules. Construction of service compositions amounts to instantiation of templates with domain-specific services. Correctness of an instantiation can then simply be checked by verifying that the domain ontology (a) adheres to the rules of the template ontology, and (b) fulfills the constraints of the employed template.
This work was partially supported by the German Research Foundation (DFG) within the Collaborative Research Centre “On-The-Fly Computing” (SFB 901).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In expressive ontology languages and description logics, it is possible to express notions similar to sub-classing; as we restrict ourselves to a simple version of ontologies, we can assume our roles to be typed even with this simple type system.
- 2.
In combination also known as IOPE (Input/Output/Precondition/Effect) in SOA.
- 3.
Ontology languages provide dedicated constructs to specify different properties of predicates, e.g., transitivity or cardinality (“every restaurant has exactly one rating”). These constructs can be expressed using rules, but for simplicity, we omitted them in this example.
References
Apt, K., de Boer, F., Olderog, E.R.: Verification of Sequential and Concurrent Programs. Springer, London (2009)
Arbab, F., Rutten, J.J.M.M.: A coinductive calculus of component connectors. In: Wirsing, M., Pattinson, D., Hennicker, R. (eds.) WADT 2003. LNCS, vol. 2755, pp. 34–55. Springer, Heidelberg (2003)
Arbad, F.: Reo: a channel-based coordination model for component composition. Math. Struct. Comput. Sci. 14, 329–366 (2004)
Arifulina, S., Becker, M., Platenius, M.C., Walther, S.: SeSAME: modeling and analyzing high-quality service compositions. In: Proceedings of the 29th IEEE/ACM International Conference on Automated Software Engineering (ASE 2014), Tool Demonstrations. ACM, 15–19 September 2014, to appear
Baader, F., Horrocks, I., Sattler, U.: Description logics. In: Frank van Harmelen, V.L., Porter, B. (eds.) Foundations of Artificial Intelligence, vol. 3, pp. 135–179. Elsevier (2008)
Becker, M., Luckey, M., Becker, S.: Performance analysis of self-adaptive systems for requirements validation at design-time. In: QoSA, pp. 43–52. ACM (2013)
Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. J. Syst. Softw. 82(1), 3–22 (2009). Special Issue: Software Performance - Modeling and Analysis
Bures, T., Hnetynka, P., Plasil, F.: SOFA 2.0: balancing advanced features in a hierarchical component model. In: SERA, pp. 40–48 (2006)
Calinescu, R., Ghezzi, C., Kwiatkowska, M., Mirandola, R.: Self-adaptive software needs quantitative verification at runtime. Commun. ACM 55(9), 69–77 (2012)
Farahbod, R., Glässer, U., Vajihollahi, M.: Abstract operational semantics of the business process execution language for web services. Technical report (2005)
Franconi, E., Tessaris, S.: Rules and queries with ontologies: a unified logical framework. In: Ohlbach, H.J., Schaffert, S. (eds.) PPSWR 2004. LNCS, vol. 3208, pp. 50–60. Springer, Heidelberg (2004)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)
Gruber, T.R.: A translation approach to portable ontology specifications. Knowl. Acquisition 5(2), 199–220 (1993)
Guarino, N., Oberle, D., Staab, S.: What is an ontology? In: Staab, S., Studer, R. (eds.) Handbook on Ontologies: International Handbooks on Information Systems, pp. 1–17. Springer, Heidelberg (2009)
Hemer, D.: Semi-automated component-based development of formally verified software. In: Proceedings of the 11th Refinement Workshop (REFINE 2006), Electronic Notes in Theoretical Computer Science, vol. 187, pp. 173–188 (2007)
Hemer, D., Lindsay, P.: Reuse of verified design templates through extended pattern matching. In: Fitzgerald, J.S., Jones, C.B., Lucas, P. (eds.) FME 1997. LNCS, vol. 1313, pp. 495–514. Springer, Heidelberg (1997)
Holzmann, G.J.: The model checker SPIN. IEEE Trans. Softw. Eng. 23(5), 279–295 (1997)
Kovács, M., Gönczy, L.: Simulation and formal analysis of workflow models. Electron. Notes Theor. Comput. Sci. 211, 221–230 (2008)
Kumar, S.K., Harding, J.A.: Ontology mapping using description logic and bridging axioms. Comput. Ind. 64(1), 19–28 (2013)
Lindsay, P.A., Hemer, D.: An industrial-strength method for the construction of formally verified software. In: Australian Software Engineering Conference, p. 27 (1996)
Martin, D., Paolucci, M., McIlraith, S.A., Burstein, M., McDermott, D., McGuinness, D.L., Parsia, B., Payne, T.R., Sabou, M., Solanki, M., Srinivasan, N., Sycara, K.: Bringing semantics to web services: the OWL-S approach. In: Cardoso, J., Sheth, A.P. (eds.) SWSWPC 2004. LNCS, vol. 3387, pp. 26–42. Springer, Heidelberg (2005)
Noy, N.F.: Ontology mapping. In: Staab, S., Studer, R. (eds.) Handbook on Ontologies: International Handbooks on Information Systems, pp. 573–590. Springer, Heidelberg (2009)
OASIS: Web services business process execution language v2.0. http://docs.oasis-open.org/wsbpel/2.0/OS/wsbpel-v2.0-OS.pdf
Ouyang, C., Verbeek, E., van der Aalst, W.M.P., Breutel, S., Dumas, M., ter Hofstede, A.H.M.: Formal semantics and analysis of control flow in WS-BPEL. Sci. Comput. Program. 67(2–3), 162–198 (2007)
Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57 (1977)
Singh, M.P.: Formal aspects of workflow management - part 1: semantics (1997)
Walther, S., Wehrheim, H.: Knowledge-based verification of service compositions - an SMT approach. In: ICECCS, pp. 24–32 (2013)
Woodcock, J., Davies, J.: Using Z: Specification, Refinement, and Proof. Prentice Hall, Upper Saddle River (1996)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Walther, S., Wehrheim, H. (2015). Verified Service Compositions by Template-Based Construction. In: Lanese, I., Madelaine, E. (eds) Formal Aspects of Component Software. FACS 2014. Lecture Notes in Computer Science(), vol 8997. Springer, Cham. https://doi.org/10.1007/978-3-319-15317-9_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-15317-9_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-15316-2
Online ISBN: 978-3-319-15317-9
eBook Packages: Computer ScienceComputer Science (R0)