ConfigMate is a tool for the automated synthesis of a service operation from a set of given service operations. Service operations are encapsulated functionalities, which are functionally described in terms of inputs, outputs, preconditions and effects. Queries that can be sent to the system are described in the same way. In addition, ConfigMate considers the price and the retention time of an operation as its non-functional properties. ConfigMate comes with a GUI frontend that allows to import composition tasks and to observe the progress of the configuration process. A seamless integration with other tools is enabled by a file-based command line interface.

The BackwardSearch algorithm of ConfigMate is also integrated into the Market Demonstrator.


ConfigMate comes with three composition algorithms:

  • TemplateInstantiation: This algorithm tries to identify a template that could be used in order to solve the composition problem. If such a template exists, the composition task reduces to a template instantiation problem. The algorithm tries to find all instantiations that satisfy the non-functional properties of the query.
  • ForwardSearch: ForwardSearch is a search based composition algorithm that starts with an empty composition and stepwise appends new applicable service operation calls to the existing composition. In order to cope with the complexity of the task, it simplifies the search space by invoking the same service operation twice only if the inputs significantly deviate from the ones of earlier calls. If a solution has been found, it checks if eventually unnessecary service operations were built in and removes them from the result. The search space simplification allows for very fast compositions but also implies incompletenes of the algorithm; there could be a solution, even if this algorithm does not find any.
  • BackwardSearch: BackwardSearch is a search based composition algorithm that starts with an empty composition and that stepwise prepends service operation calls that contribute to the effects of the desired service operation. Prepending these service operation calls removes some of the desired effects but also adds the preconditions of the prepended service operation call as an additional goal. BackwardSearch is a complete algorithm, so it eventually finds a solution if one exists. The algorithm is comparable with a planning algorithm for planning domains with an infinite number of objects.


Will be available in February 2015


ConfigMate has been developed in the subprojct B2. For more information, please contact Felix Mohr.