Variability Handling in Multi-Mode Service Composition Peteris Rudzajs and Marite Kirikova Institute for Applied Computer Systems Riga Technical University Riga, Latvia ABSTRACT Information services are designated for information processing intensive tasks and may require different levels of human involvement in their execution, e.g., in information processing and analysis. The handling of variability in information service systems incorporates the concern of human involvement in service execution or, as we denote it, functioning mode of service. The existence of different functioning modes of services raises a problem of multi- mode service composition. In the paper we propose the use and the extension of variability representation model to represent variability in the information service system and present the multi-mode service composition approach to derive consistent flows of both abstract and concrete services. Keywords: Information service system, multi-mode services, feature modeling, service composition INTRODUCTION In this paper we consider information services and information service systems. Information service provides information and is “a component of an information system representing a well defined business unit that offers capabilities to realize business activities and owns resources (data, rules, roles) to realize these capabilities”, whereas the information service system is a collection of interoperable information services (Ralyté, Khadraoui, & Léonard, 2013). In information service system the role of human actor is important because she/he can participate in service execution with different levels of involvement. To denote the level of human involvement, we use the term “functioning mode” of the service. We distinguish between the following three types of service functioning modes (Rudzajs, Kirikova, & Strazdina, 2013): • manual - the service is performed by human actor (perhaps, using some office software, but there are no specific software services or tools included in the service system for implementing this service). • automatic - the service is performed by dedicated software and/or hardware that does not require human actor intervention. • semi-automatic - the service is performed by dedicated software and/or hardware that requires human involvement, e.g., a human performer should provide the input data and review and approve data processed and/or generated by the tool. The term multi-mode service (Rudzajs et al., 2013) is used to characterize the service that can be instantiated in different functioning modes. The awareness and the use of different functioning modes in the service system raise the level of variability that should be handled when composing services. Variability in software engineering usually is defined as ability of software or software artifact (e.g. component) to be changed so that it fits a specific context