TAS is an exemplar of a service-based system (SBS). SBSs are widely used in e-commerce, online banking, e-health and many other applications. In these systems, services offered by third-party providers are dynamically composed into workflows delivering complex functionality. SBSs increasingly rely on self-adaptation to cope with the uncertainties associated with third-party services, as the loose coupling of services makes online reconfiguration feasible.
Originally proposed by Baresi et al. in a 2007 IET Software paper , TAS is a technology service that provides care to elderly and chronically sick people, enabling them to continue to live in their own homes. TAS uses a combination of sensors embedded in a wearable device and remote services from healthcare, pharmacy and emergency service providers. As shown in the diagram below, TAS takes periodical measurements of the vital parameters of a patient and employs a third-party medical service for their analysis.
The analysis result may trigger the invocation of a pharmacy service to deliver new medication to the patient or to change the dose of his/her medication, or the invocation of an alarm service leading, for instance, to an ambulance being dispatched to the patient. The same alarm service can be invoked directly by the patient, by using a panic button on the wearable device.
In practice, a TAS instantiation will be subject to a variety of uncertainties. For example, services may fail, service response times may vary, or new services may become available. Users may even require new features or unanticipated services may need to be integrated to the system (e.g., in case of an alarm, relatives may need to be informed).
Different types of adaptations can be applied to deal with these uncertainties, such as switching between equivalent services, simultaneous invocations of several services for reliable execution of idempotent operations, or change of the workflow architecture. Adaptations should also be cost effective.
Relevance: Reliability under Uncertainty
Assistance systems such as TAS provide services to vulnerable people. Consequently, reliability is of primary concern. In other domains of service-based systems, such as e-commerce and online banking, reliability is also a primary concern.
The problems with the reliability of SBSs is grounded in the uncertainty of the environment, the system itself, and its goals. The TAS exemplar considers the following types of uncertainties for SBS:
- Unpredictable environment: service failure; variation of service response time
- Incomplete information: new service
- Changing requirements: new goal
- Inadequate design: wrong operation sequence
Each of these uncertainties may jeopardize the reliability of a SBS. In practice, it is important that the adaptations dealing with these uncertainties are performed automatically, without human intervention.
TAS has to deal with several types of requirements. The following table describes generic TAS adaptation scenarios.
For each type of uncertainty, the table lists the type of adaptation and the type of requirement that the adaptation is meant to handle. Within these scenarios, the exemplar allows the evaluation and comparison of different self-adaptation solutions based on quality attributes and metrics described in the table below.
TAS Download and Setup
A Java implementation of TAS is available for download. The implementation is based on the Research Service Platform (ReSeP) that offers reusable components to speed up the engineering of service-based system exemplars. The implementation offers a predefined service configuration with probes and effectors for experimentation and comparison of different adaptation strategies. Instructions for setting up TAS and a simple illustrative adaptation strategy are included in the distribution. The distribution and additional information can be found on the project website:
The ActivFORMS solution to self-adaptation uses an adaptation engine that executes formally specified MAPE models. The solution deals with Scenarios S1 (service failure) and S2 (variation of response time). The solution automatically switches to an equivalent service, ensuring the requirement is met and optimizing the cost. The solution offers assurance evidence provided by offline model checking for typical use case scenarios, complemented with runtime verification during system execution. The following figure shows a reliability graph for a run with ActivFORMS. Notice for instance the call of the alarm at invocation number 153: the service AlarmService2 is used to deal with a failure of AlarmService1 that itself was unable to “manage” a failure of AlarmService3. The ActivFORMS solution is available for download via the TAS website.
Successful service invocations are represented by small vertical green lines and failed invocations by larger red lines.
- L. Baresi, D. Bianculli, C. Ghezzi, S. Guinea, and P. Spoletini. Validation of web service compositions. IET Software, 1(6):219–232, December 2007.
- D. Weyns and R. Calinescu, Tele Assistance: A Self-Adaptive Service-Based System Examplar, Software Engineering for Adaptive and Self-Managing Systems, SEAMS 2015, IEEE. (Preprint)