Existing software engineering techniques for automatic synthesis of event-based controllers have various limitations. In the context of the world/machine approach such limitations can be seen as restrictions in the expressiveness of the controller goals and domain model specifications or in the relation between the controllable and monitorable actions. In this thesis we aim to provide techniques that overcome such limitations, e.g. supporting more expressive goal specifications, distinguishing controllable from monitorable actions or guaranteeing achievement of the desired goals, among others. Hence, improving the state of the art in the synthesis of event-based controllers. Moreover, we plan to provide efficient tools supporting the developed techniques and evaluate them by modelling known case studies from the software engineering literature. Ultimately, showing that by allowing more expressiveness of controller goals and domain model specifications, and explicitly distinguishing controllable and monitorable actions such case studies can be more accurately modelled and solutions guaranteeing satisfaction of the goals can be achieved.
Keywords-controller synthesis; behavioural modelling
I. RESEARCH PROBLEMRequirements Engineering (RE) has a key role in eliciting, elaborating, analysing, specifying and documenting the goals of the desired system. One of the most influential approaches for RE is the Goal Oriented Requirements Engineering (GORE) approach [1] which states that the requirements R for the interface between the machine and the world [2] together with the domain description D must entail the machine goals G. Formally, R, D |= G.The problem of generating an operational description that guarantees the entailment, given a set of descriptive assumptions on the environment behaviour and a set of goals for the machine, can be seen as a synthesis problem.Controller synthesis [3], [4] is a well studied problem that attempts to automatically generate an operational behaviour model of the system-to-be such that when deployed in a given domain model that behaves according to specified assumptions satisfies a given goal. Controller synthesis techniques have been used in several domains such as synthesis of glue code and component adaptors in order to achieve safe composition at the architecture level [5], also in particular in service oriented architectures [6], or to synthesise adaptation strategies in self-adaptive systems [7].Existing software engineering techniques for automatic synthesis of event-based controllers have various limitations.In the context of the world/machine approach such limitations can be seen as restrictions in the expressiveness of the controller goals and domain model specifications, the relation between the controllable and monitorable actions, or scalability problems.Most SE techniques restrict controller goals and environment assumptions to safety properties. Hence, synthesis can be posed as a backward error propagation variant where a behaviour model is pruned by disabling controllable...