In this paper, we tackle the problem of controlling the behavior of independent, partially observable services so that they collectively achieve a desired behavior (specification). The solution consists of synthesizing… Click to show full abstract
In this paper, we tackle the problem of controlling the behavior of independent, partially observable services so that they collectively achieve a desired behavior (specification). The solution consists of synthesizing an orchestrator to coordinate the actions of the services, modeled as labeled transition systems, while having partial knowledge about their states. We show that an orchestrator exists only if the set of services is controllable where controllability is defined in terms of a set of message controllable relations. We present two algorithms to solve the problem, prove their correctness, and study their complexity. One of them is a novel backtracking algorithm that builds the solution incrementally, which makes it suitable as a starting point for developing heuristics to solve this hard problem. The results of the backtracking algorithm on a test case are promising.
               
Click one of the above tabs to view related content.