Coordination Patterns for Reactive Services
MetadataVis full innførsel
In our everyday life we come across countless reactive systems. These are the systems that engage in stimulus-response behaviour. The development of distributed reactive systems is quite complex. Being able to rapidly develop and incrementally deploy new services, while avoiding interactions with existing ones, is a challenging task. In this thesis, service examples of a distributed reactive system are modeled using the service engineering approach proposed by Humberto Nicolás Castejón in his PhD thesis; Collaborations in Service Engineering: Modeling, Analysis and Execution. First, services are modeled as collaborations between roles. Thereafter, the behaviour of each system component is designed as a composition of the roles it plays in the different services. In many cases, a component may be requested to participate simultaneously in several occurrences of the same service, or of different services (e.g. a UserAgent representing a user in a telecommunication system may be requested to participate in several phone calls simultaneously). To address such problems, extra coordination functionality is introduced in this thesis to coordinate the roles or role instances that a system component may play at a given point in time. For this, another role is defined, which is external to the service roles and serves to coordinate role binding. This role is named as Controller . The Controller is designed to keep track of the resource status, assign the resource if it is free, and if it is not then respond to the service invitation requests according to the preferences of the actors that receive them. Depending upon how the Controller performs the coordination functionality, some coordination patterns have been investigated. Apart from modeling the service from scratch and investigating the coordination patterns for it, it has been explored in this thesis how this coordination functionality can be added into an existing service model in a modular way. Some solutions are discussed but these are the initial thoughts which can be further explored in depth. The general structure of the coordination patterns has also been identified, which further strengthened the generality of the coordination patterns.