Controller synthesis of service contracts with variability

Abstract Service contracts characterise the desired behavioural compliance of a composition of services. Compliance is typically defined by the fulfilment of all service requests through service offers, as dictated by a given Service-Level Agreement (SLA). Contract automata are a recently introduced formalism for specifying and composing service contracts. Based on the notion of synthesis of the most permissive controller from Supervisory Control Theory, a safe orchestration of contract automata can be computed that refines a composition into a compliant one. To model more fine-grained SLA and more adaptive service orchestrations, in this paper we endow contract automata with two orthogonal layers of variability: (i) at the structural level, constraints over service requests and offers define different configurations of a contract automaton, depending on which requests and offers are selected or discarded, and (ii) at the behavioural level, service requests of different levels of criticality can be declared, which induces the novel notion of semi-controllability. The synthesis of orchestrations is thus extended to respect both the structural and the behavioural variability constraints. Finally, we show how to efficiently compute the orchestration of all configurations from only a subset of these configurations. A prototypical tool supports the developed theory.

[1]  Massimo Bartoletti,et al.  Compliance in Behavioural Contracts: A Brief Survey , 2015, Programming Languages with Applications to Biology and Security.

[2]  Jaejoon Lee,et al.  A feature-oriented approach for developing reusable product line assets of service-based systems , 2010, J. Syst. Softw..

[3]  Pierre-Yves Schobbens,et al.  Featured Transition Systems: Foundations for Verifying Variability-Intensive Systems and Their Application to LTL Model Checking , 2013, IEEE Transactions on Software Engineering.

[4]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[5]  Maurice H. ter Beek,et al.  Product Lines for Service Oriented Applications - PL for SOA , 2011, WWV.

[6]  Felicita Di Giandomenico,et al.  Specifying variability in service contracts , 2017, VaMoS.

[7]  Maurice H. ter Beek,et al.  Modelling and analysing variability in product families: Model checking of modal transition systems with variability constraints , 2016, J. Log. Algebraic Methods Program..

[8]  Athman Bouguettaya,et al.  Deploying and managing Web services: issues, solutions, and directions , 2008, The VLDB Journal.

[9]  Luca Padovani,et al.  On Global Types and Multi-Party Session , 2012, Log. Methods Comput. Sci..

[10]  Antonio Bucchiarone,et al.  Web Service Composition Approaches: From Industrial Standards to Formal Methods , 2007, Second International Conference on Internet and Web Applications and Services (ICIW'07).

[11]  Christos G. Cassandras,et al.  Introduction to Discrete Event Systems , 1999, The Kluwer International Series on Discrete Event Dynamic Systems.

[12]  Gian Luigi Ferrari,et al.  Automata for Specifying and Orchestrating Service Contracts , 2016, Log. Methods Comput. Sci..

[13]  Jaejoon Lee,et al.  Combining Service-Orientation with Product Line Engineering , 2010, IEEE Software.

[14]  Kim G. Larsen,et al.  20 Years of Modal and Mixed Specifications , 2008, Bull. EATCS.

[15]  P. Degano,et al.  Relating two automata-based models of orchestration and choreography , 2016, J. Log. Algebraic Methods Program..

[16]  Axel Legay,et al.  Quantitative variability modelling and analysis , 2019, International Journal on Software Tools for Technology Transfer.

[17]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[18]  Mariangiola Dezani-Ciancaglini,et al.  Sessions and Session Types: An Overview , 2009, WS-FM.

[19]  Gordon J. Pace,et al.  Contract automata , 2016, Artificial Intelligence and Law.

[20]  Thomas A. Henzinger,et al.  Interface automata , 2001, ESEC/FSE-9.

[21]  Paul McNamara,et al.  Deontic logic , 2006, Logic and the Modalities in the Twentieth Century.

[22]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[23]  An algebraic theory for web service contracts , 2015, Formal Aspects of Computing.

[24]  Luciano Baresi,et al.  Service-Oriented Dynamic Software Product Lines , 2012, Computer.

[25]  Abdelkarim Erradi,et al.  A service computing manifesto: the next 10 years , 2017, Commun. ACM.

[26]  P. Ramadge,et al.  Supervisory control of a class of discrete event processes , 1987 .

[27]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[28]  Axel Legay,et al.  Timed service contract automata , 2019, Innovations in Systems and Software Engineering.

[29]  Davide Basile Applying supervisory control synthesis to priced featured automata and energy problems , 2019, International Journal on Software Tools for Technology Transfer.

[30]  Kim G. Larsen,et al.  Modal I/O Automata for Interface and Product Line Theories , 2007, ESOP.

[31]  G. P. Henderson,et al.  An Essay in Modal Logic. , 1953 .

[32]  Erik P. de Vink,et al.  Supervisory Controller Synthesis for Product Lines Using CIF 3 , 2016, ISoLA.

[33]  Emilio Tuosto,et al.  Playing with Our CAT and Communication-Centric Applications , 2016, FORTE.

[34]  Roberto Bruni,et al.  Multiparty Sessions in SOC , 2008, COORDINATION.

[35]  R. L. Goodstein,et al.  An Essay in Modal Logic , 1953, The Mathematical Gazette.

[36]  Jan Kretínský,et al.  30 Years of Modal Transition Systems: Survey of Extensions and Analysis , 2017, Models, Algorithms, Logics and Tools.

[37]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[38]  Luca Padovani,et al.  A theory of contracts for Web services , 2007, TOPL.

[39]  Maurice H. ter Beek,et al.  Bridging the Gap Between Supervisory Control and Coordination of Services: Synthesis of Orchestrations and Choreographies , 2019, COORDINATION.

[40]  Mike Mannion Using First-Order Logic for Product Line Model Validation , 2002, SPLC.

[41]  Ivan Lanese,et al.  Foundations of Session Types and Behavioural Contracts , 2016, ACM Comput. Surv..

[42]  Thomas Leich,et al.  Mastering Software Variability with FeatureIDE , 2017, Springer International Publishing.

[43]  Krzysztof Czarnecki,et al.  Feature Diagrams and Logics: There and Back Again , 2007, 11th International Software Product Line Conference (SPLC 2007).

[44]  Klaus Pohl,et al.  Software Product Line Engineering , 2005 .

[45]  Gianluigi Zavattaro,et al.  Behavioural contracts with request-response operations , 2010, Sci. Comput. Program..

[46]  Maxime Cordy,et al.  All-at-once-synthesis of controllers from scenario-based product line specifications , 2015, SPLC.

[47]  Axel Legay,et al.  Orchestration Synthesis for Real-Time Service Contracts , 2018, VECoS.

[48]  Johan Montagnat,et al.  Imaging Services on the Grid as a Product Line: Requirements and Architecture , 2008, SPLC.

[49]  Koji Hashimoto,et al.  Dynamic software adaptation for service-oriented product lines , 2011, SPLC '11.

[50]  Pierre-Yves Schobbens,et al.  Simulation-based abstractions for software product-line model checking , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[51]  Don S. Batory,et al.  Feature Models, Grammars, and Propositional Formulas , 2005, SPLC.

[52]  Luca Padovani,et al.  On Global Types and Multi-party Sessions , 2011, FMOODS/FORTE.

[53]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[54]  Jean-Marc Jézéquel,et al.  Dynamic Software Product Lines for Service-Based Systems , 2009, 2009 Ninth IEEE International Conference on Computer and Information Technology.

[55]  Jaejoon Lee,et al.  Engineering Service-Based Dynamic Software Product Lines , 2012, Computer.

[56]  Elie Najm,et al.  Session types for safe Web service orchestration , 2013, J. Log. Algebraic Methods Program..