Abstract
We equip a recently developed model for the specification of service contracts with real-time constraints. Service contracts offer a means to define the behavioural compliance of a composition of services, typically dictated in a service-level agreement (SLA), as the fulfilment of all service requests through service offers. Depending on their granularity, SLAs vary according to the level of criticality of the involved services and also contain real-time aspects, like the services’ response or expiration time. A standard method to refine a spurious service composition into a compliant one is via the synthesis of a safe orchestration, in the form of the most permissive controller from supervisory control theory. Ideally, safe orchestrations solve competition among matching service requests and offers, in light of their criticalities and their timing constraints, in the best possible way. In this paper, we introduce timed service contract automata as a novel formal model for service contracts with real-time constraints on top of services with varying levels of criticality. We also define a means to efficiently compute their composition and their safe orchestration, using the concept of zones from timed games. The innovations of our contribution are illustrated by intuitive examples and by a preliminary evaluation.
Similar content being viewed by others
Notes
Our (service) contract automata are not to be confused with the homonym contract automata of [3], cf. the related work discussed below.
In this paper, there are no examples of greedy necessary actions.
References
Alur R, Dill DL (1994) A theory of timed automata. Theor Comput Sci 126(2):183–235. https://doi.org/10.1016/0304-3975(94)90010-8
Asarin E, Maler O, Pnueli A, Sifakis J (1998) Controller synthesis for timed automata. IFAC Proc Vol 31(18):447–452. https://doi.org/10.1016/S1474-6670(17)42032-5
Azzopardi S, Pace GJ, Schapachnik F, Schneider G (2016) Contract automata: an operational view of contracts between interactive parties. Artif Intell Law 24(3):203–243. https://doi.org/10.1007/s10506-016-9185-2
Bartoletti M, Cimoli T, Zunino R (2015) Compliance in behavioural contracts: a brief survey. In: Bodei C, Ferrari GL, Priami C (eds) Programming languages with applications to biology and security, vol 9465. Springer, Cham, pp 103–121. https://doi.org/10.1007/978-3-319-25527-9_9
Basile D, Degano P, Ferrari GL (2014) A formal framework for secure and complying services. J Supercomput 69(1):43–52. https://doi.org/10.1007/s11227-014-1211-0
Basile D, Degano P, Ferrari GL (2016) Automata for specifying and orchestrating service contracts. Log Methods Comput Sci 12(4:6):1–51. https://doi.org/10.2168/LMCS-12(4:6)2016
Basile D, Degano P, Ferrari GL, Tuosto E (2016) Playing with our CAT and communication-centric applications. In: Albert E, Lanese I (eds) Proceedings 36th IFIP WG 6.1 international conference on formal techniques for distributed objects, components, and systems (FORTE’16), vol 9688. Springer, LNCS, pp 62–73. https://doi.org/10.1007/978-3-319-39570-8_5
Basile D, ter Beek MH, Di Giandomenico F, Gnesi S (2017) Orchestration of dynamic service product lines with featured modal contract automata. In: Proceedings 21st international systems and software product line conference (SPLC’17), vol 2. ACM, pp 117–122. https://doi.org/10.1145/3109729.3109741
Basile D, Di Giandomenico F, Gnesi S (2017) FMCAT: supporting dynamic service-based product lines. In: Proceedings 21st international systems and software product line conference (SPLC’17), vol 2. ACM, pp 3–8. https://doi.org/10.1145/3109729.3109760
Basile D, Di Giandomenico F, Gnesi S, Degano P, Ferrari GL (2017) Specifying variability in service contracts. In: Proceedings 11th international workshop on variability modelling of software-intensive systems (VaMoS’17). ACM, pp 20–27. https://doi.org/10.1145/3023956.3023965
Basile D, ter Beek MH, Gnesi S (2018) Modelling and analysis with featured modal contract automata. In: Proceedings 22nd international systems and software product line conference (SPLC’18), vol 2. ACM, pp 11–16. https://doi.org/10.1145/3236405.3236408
Basile D, ter Beek MH, Legay A, Traonouez LM (2018) Orchestration synthesis for real-time service contracts. In: Atig MF, Bensalem S, Bliudze S, Monsuez B (eds) Proceedings 12th international conference on verification and evaluation of computer and communication systems (VECoS’18), vol 11181. Springer, LNCS, pp 31–47. https://doi.org/10.1007/978-3-030-00359-3_3
Behrmann G, David A, Larsen KG, Håkansson J, Pettersson P, Yi W, Hendriks M (2006) UPPAAL 4.0. In: Proceedings 3rd international conference on the quantitative evaluation of systems (QEST’06). IEEE, pp 125–126. https://doi.org/10.1109/QEST.2006.59
Behrmann G, Cougnard A, David A, Fleury E, Larsen KG, Lime D (2007) UPPAAL-Tiga: time for playing games! In: Damm W, Hermanns H (eds) Proceedings 19th international conference on computer aided verification (CAV’07), vol 4590. Springer, LNCS, pp 121–125. https://doi.org/10.1007/978-3-540-73368-3_14
Bouguettaya A, Singh M, Huhns M, Sheng QZ, Dong H, Yu Q, Neiat AG, Mistry S, Benatallah B, Medjahed B, Ouzzani M, Casati F, Liu X, Wang H, Georgakopoulos D, Chen L, Nepal S, Malik Z, Erradi A, Wang Y, Blake B, Dustdar S, Leymann F, Papazoglou M (2017) A service computing manifesto: the next 10 years. Commun ACM 60(4):64–72. https://doi.org/10.1145/2983528
Bouyer P, Markey N, Sankur O (2012) Robust reachability in timed automata: a game-based approach. In: Czumaj A, Mehlhorn K, Pitts AM, Wattenhofer R (eds) Proceedings 39th international colloquium on automata, languages, and programming (ICALP’12), vol 7392. Springer, LNCS, pp 128–140. https://doi.org/10.1007/978-3-642-31585-5
Cassandras CG, Lafortune S (2006) Introduction to discrete event systems. Springer, New York. https://doi.org/10.1007/978-0-387-68612-7
Cassez F, David A, Fleury E, Larsen KG, Lime D (2005) Efficient on-the-fly algorithms for the analysis of timed games. In: Abadi M, de Alfaro L (eds) Proceedings 16th international conference on concurrency theory (CONCUR’05), vol 3653. Springer, LNCS, pp 66–80. https://doi.org/10.1007/11539452_9
David A, Larsen KG, Legay A, Nyman U, Wąsowski A (2010) Timed I/O automata: a complete specification theory for real-time systems. In: Proceedings 13th international conference on hybrid systems: computation and control (HSCC’10). ACM, pp 91–100. https://doi.org/10.1145/1755952.1755967
David A et al (2017) UPPAAL DBM library. http://people.cs.aau.dk/~adavid/UDBM/ . Accessed 28 Aug 2019
de Alfaro L, Henzinger TA (2001) Interface automata. In: Proceedings 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on foundations of software engineering (ESEC/FSE’01). ACM, pp 109–120. https://doi.org/10.1145/503209.503226
Georgakopoulos D, Papazoglou MP (eds) (2008) Service-oriented computing. MIT Press, Cambridge
Hüttel H, Lanese I, Vasconcelos VT, Caires L, Carbone M, Deniélou PM, Mostrous D, Padovani L, Ravara A, Tuosto E, Torres Vieira H, Zavattaro G (2016) Foundations of session types and behavioural contracts. ACM Comput Surv 49(1):3:1–3:36. https://doi.org/10.1145/2873052
Křetínský J (2017) 30 years of modal transition systems: survey of extensions and analysis. In: Aceto L, Bacci G, Bacci G, Ingólfsdóttir A, Legay A, Mardare R (eds) Models, algorithms, logics and tools, vol 10460. LNCS, Springer, pp 36–74. https://doi.org/10.1007/978-3-319-63121-9_3
Larsen KG, Nyman U, Wąsowski A (2007) Modal I/O automata for interface and product line theories. In: De Nicola R (ed) Proceedings 16th European symposium on programming (ESOP’07), vol 4421. Springer, LNCS, pp 64–79. https://doi.org/10.1007/978-3-540-71316-6_6
Legay A, Traonouez LM (2013) PyEcdar: towards open source implementation for timed systems. In: Hung DV, Ogawa M (eds) Proceedings 11th international symposium on automated technology for verification and analysis (ATVA’13), vol 8172. Springer, LNCS, pp 460–463. https://doi.org/10.1007/978-3-319-02444-8_35, https://project.inria.fr/pyecdar/
Lynch NA, Tuttle MR (1989) An introduction to input/output automata. CWI Q 2(3):219–246
Milner R (1999) Communicating and mobile systems: the \(\pi \)-calculus. Cambridge University Press, New York
Ramadge PJ, Wonham WM (1987) Supervisory control of a class of discrete event processes. SIAM J Control Optim 25(1):206–230. https://doi.org/10.1137/0325013
ter Beek MH, Bucchiarone A, Gnesi S (2007) Web service composition approaches: from industrial standards to formal methods. In: Proceedings 2nd international conference on internet and web applications and services (ICIW’07). IEEE. https://doi.org/10.1109/ICIW.2007.71
ter Beek MH, Fantechi A, Gnesi S, Mazzanti F (2016) Modelling and analysing variability in product families: model checking of modal transition systems with variability constraints. J Log Algebr Methods Program 85(2):287–315. https://doi.org/10.1016/j.jlamp.2015.11.006
Yi Q, Liu X, Bouguettaya A, Medjahed B (2008) Deploying and managing web services: issues, solutions, and directions. VLDB J 17(3):537–572. https://doi.org/10.1007/s00778-006-0020-3
Acknowledgements
We would like to thank Louis-Marie Traonouez for his contribution to this paper’s conference publication. We would also like to thank the audience at VECoS 2019 for interesting questions and comments, which have led to the introduction of state invariants in our formalism, as presented in this paper. Finally, we would like to thank the anonymous reviewers for comments and suggestions that have improved the paper.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Basile, D., ter Beek, M.H. & Legay, A. Timed service contract automata. Innovations Syst Softw Eng 16, 199–214 (2020). https://doi.org/10.1007/s11334-019-00353-3
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11334-019-00353-3