2017
Conference article  Open Access

Orchestration of dynamic service product lines with featured modal contract automata

Basile D., Ter Beek M. H., Di Giandomenico F., Gnesi S.

Services  Featured Modal Contract Automata  Product lines 

In Service-Oriented Computing, contracts provide a way to characterise the behavioural conformance of a composition of services, and to guarantee that the results do not lead to spurious compositions. Adding variability leads to a product line of services capable of adapting to customer requirements and to changes in the context in which they operate. To this aim, we extended a previously introduced formal model of service contracts. In particular, we included: (i) feature-based constraints and (ii) four classes of service requests to characterise different variants of service agreement. We then exploited Supervisory Control Theory to define an algorithm to synthesise an orchestration of services that satisfies: (i) all feature constraints of the service product line, and (ii) the maximal number of service requests for which an agreement can be reached. Moreover, such an orchestration of a service product line, whose number of products is potentially exponential in the number of features, can be synthesised from only a subset of its products. A prototypical tool supports the developed theory. In this short paper, we provide the intuition for our approach and illustrate it by means of a Hotel reservation service product line.

Source: SPLC'17 21st International Systems & Software Product Line Conference, pp. 117–122, Sevilla, Spain, 25-29 September 2017


Metrics



Back to previous page
BibTeX entry
@inproceedings{oai:it.cnr:prodotti:376406,
	title = {Orchestration of dynamic service product lines with featured modal contract automata},
	author = {Basile D. and Ter Beek M.  H. and Di Giandomenico F. and Gnesi S.},
	doi = {10.1145/3109729.3109741},
	booktitle = {SPLC'17 21st International Systems \& Software Product Line Conference, pp. 117–122, Sevilla, Spain, 25-29 September 2017},
	year = {2017}
}