OptiMAM: Optimising Model-Driven Service Design via Stochastic Analysis Methods

Lead Research Organisation: Imperial College London
Department Name: Computing

Abstract

The project focuses on performance analysis and optimisation algorithms for Services Computing. Services Computing is a inter-disciplinary area at the interface between IT and business management that aims at maximising the business efficiency of IT service technologies. Over the last decade, enterprises have embraced services computing through the notion of service-orientation, a design pattern where business functions are organised into self-contained services. Service-orientation is now common, thanks to advancements in web services technologies and languages for business process modelling (e.g., BPMN) and their execution (e.g., WS-BPEL).

Although service-oriented architectures and business process management have been extensively adopted, the ability to optimise the design of the underlying activity workflows remains computationally challenging. As the complexity and layering of services grows, it becomes extremely challenging to establish the correct schedule of operations and the optimal dependencies between resources, activities and services. It is also difficult to understand the sensitivity of the solutions found to variability in execution times and costs, which are unavoidable due to resource contention, design-time uncertainty over the parameters, and potential involvement of humans in the processes.

The project will first develop a model-to-model transformation from a high-level workflow specification (e.g., BPMN) to layered queueing network (LQN) models, a class of stochastic models used for performance analysis. LQNs allow to mathematically analyse the relationships between resources, services and processes. Once in LQN form, the design plan will be analyzed using new stochastic analysis techniques to be developed within the project. Such techniques, which will be the main scientific innovation of the project, will apply for the first time matrix-analytic methods (MAM) to LQN analysis. MAM are queueing analysis techniques that allow to describe complex queueing systems, where service at resources can evolve in phases, similarly to the sequence of activities that are used in the workflows underpinning business processes and service-oriented architectures. Quite surprisingly, MAM techniques have never been applied to performance analysis problems in services computing, to the best of our knowledge. The goal of applying MAM to LQNs is to increase both the efficiency and accuracy of the evaluation of a single design scenario for a service-oriented system design, providing an efficient and accurate analysis method that can be coupled with optimisation for search purposes.

Planned Impact

The project has both academic and industrial beneficiaries.

Academic beneficiaries

- This research will directly lead to production of knowledge in the areas of service-oriented computing, performance evaluation, optimisation and applied probability. These would benefit the academic communities working in these fields.
- The project will also contribute to the training of the RA on service-oriented systems and BPMN modelling. These technologies are widely popular on the job market and could help the RA acquire a research position in industry after the end of the project. We plan to involve the RA in both research and dissemination activities, particularly through presentations in conferences or seminars.
- We will also organise 3 invited seminars at Imperial College London with invited experts from EU on service-oriented systems and matrix geometric methods. We will advertise the seminars internally and to targeted colleagues in UK and Europe, particularly in across the performance engineering community where the PI has an established network.

Industrial beneficiaries

- Our research could impact on the optimisation of service-oriented architectures and business processes in industry, thus promoting in the medium term heightened business efficiency and performance. There is a strong demand for such business process management solutions in the UK and internationally.
- Project partner is BOC, a company leader in service-oriented architectures, business process management and related software modelling technologies. BOC's main product is ADONIS, a business process analysis tool for analysis, simulation and evaluation of BPMN models. The tool is adopted in several companies in UK and EU for service-oriented system modelling. As stated in the support letter, BOC is willing to examine the project output for possible integration of our open source algorithms (as external royalty-free libraries) in ADONIS.
- Since we plan to release our results as open source, any company could integrate our results in a business process management or service engineering solution. Contributing to business process management would impact on operational and organisational change. BPMN models can describe various forms of human activities and therefore tools to optimise process structure would immediately foster better organisations. Conversely, contributing to service engineering would mainly impact on technological advancement of services computing.
- Beyond the area of service-oriented systems, the project could benefit the design of component-based software. This is because Line is integrated with the Palladio framework developed by KIT, a popular environment in the model-driven engineering community. This would benefit software architects and process engineers.

Further details, including dissemination and communication plans, are given in the Pathways to impact document.
 
Description This 1-year project has delivered methodological and applied contributions to the optimization of service design. Our technical approach involves the generation of queueing models to predict performance of a given design of a system or process. Queueing models are then used to reason about the design and optimize it, e.g., to minimize cost. The main challenge is to efficiently obtain performance metrics from the underpinning queueing models, which can include a rich variety of queues that are not amenable to analytical treatment, and to parameterize these models from empirical data, such as datasets obtained in early experiments.

The project has contributed several novel results that help analyzing queueing network models of service systems:
1) QD-AMVA, a new algorithm that simplifies the analysis of multi-server queues.
2) DRA, a new method to analyze models with first-come first-served queues. This scheduling policy is notoriously difficult to analyze in the presence of multiple types of users.
3) Novel Markov-modulated stochastic processes to help users fit our models to arrival times and service times measured in real systems.
4) Novel optimization methods to guide analysis and refactoring of cloud software systems, driven by our queueing network models.

We have released several of the above results in the open source domain, primarily via our LINE software tool (http://line-solver.sf.net).

The project has also applied the above methods in real-world case studies:
CS1) We have shown in a case study developed with Tata Consulting Services Mumbai that QD-AMVA enhances the performance analysis of multi-tier e-commerce systems.
CS2) We have applied the optimization methods we developed to software systems that use cloud spot virtual machines (Amazon EC2 spot VMs).
CS3) We have shown that thanks to our LINE tool extensions it is possible to analyze the performance an on-demand cloud database services based on Amazon RDS.
CS4) We have integrated in LINE the processing of BPMN models and demonstrated its applicability to real-world instances provided by our project partner BOC Systems.
Exploitation Route Most of our results are integrated in the LINE solver (line-solver.sf.net) a publicly available tool for queueing network analysis. Our publications also provide links to code and datasets developed within the project.
Sectors Digital/Communication/Information Technologies (including Software)

 
Description We have collaborated with a number of organizations to spread the use of our methods for queueing network model analysis in performance engineering practices, for example through a number of visits to Tata Consulting Services (TCS), Mumbai Research Lab, with which we have developed and published jointly analysis methods that can be used by TCS researchers in computer performance engineering projects. Our techniques have also been integrated in the LINE software too, which is used by software engineers engaged in the Palladio component model community (www.palladio-simulator.com/science/palladio_component_model/model_solvers/). The open source LINE solver (http://line-solver.sf.net) was also integrated into MODAClouds, a FP7 platform for multi-cloud software engineering (http://multiclouddevops.com/byproducts.html#MODACloudsForPalladio). LINE also received further funding from EPSRC (EP/M009211/1) and Horizon 2020 (DICE 644869, RADON 825040) that led to new releases and received the best demo award at ACM/SPEC ICPE 2019.
Sector Digital/Communication/Information Technologies (including Software)
Impact Types Economic

 
Title LINE 
Description Line is a solver for layered queueing network models. It allows a software engineering or business analyst to predict performance metrics for a model-based specification of a service-oriented system or business process. For example, it allows to forecast the expected response times and utilization levels for each resource. The project started in 2013, but in 2015 thanks to the OptiMAM project we introduced several innovations, such as the ability to process business models and novel solution algorithms. 
Type Of Technology Software 
Year Produced 2015 
Open Source License? Yes  
Impact The tool has generated interest in the Palladio software engineering community. It is now listed among the official solvers of PCM: https://sdqweb.ipd.kit.edu/wiki/Palladio_Solvers_and_Simulation We have demonstrated and transferred the tool to our industrial partners (BOC Systems). 
URL http://line-solver.sourceforge.net/