Subproject B3(old)

Service Composition Analysis in Partially Unknown Contexts

Subproject B3 researches analysis methods for service compositions that evaluate the fulfilments of functional and non-functional requirements. The focus is on functional properties like protocol correctness and non-functional properties like performance, reliability and scalability. The main challenge lies in the distribution of the service-provisioning tasks on several roles in the OTF scenario. Therefore, we can not assume to get all the relevant information, but have to deal with partial information to respect inherent uncertainties. 

The central approach of this project is the use of model transformations to transform the initial composition into various formal models (process calculi, queuing networks, Markov chains etc.) which can be handled by existing analysis tools.

Functional requirements

Service compositions proposed by subproject B2 as an OTF configurator have to fulfill various functional requirements. Due to the complexity of their analysis, it can not be done during the service selection. Our subproject supports subproject B2 by providing feedback on properties like protocol compatibility, deadlock freedom, and adherence to semantic requirements, modeled by pre- and post conditions.

Services within the composition can belong to different functional layers, such as the application, platform, infrastructure, etc., which reflects the SaaS, PaaS and IaaS service forms originating from the cloud computing. These layers need to be flexibly woven to allow transformation and compositional analysis of the given service composition. 

We develop a modular model  transformation process based on the model weaving technique. After independently transforming individual layers, we connect their analysis models by means of glue code obtained from the weaving model. This way we can (re-) use model transformation definitions as well as their results for individual layers. 

The spectrum of analysis model we use includes process algebras like CSP (Communicating Sequential Processes) supported by tools like FDR2 (Failures-Divergence Refinement), process specifications like Promela for the SPIN model chcker, and probabilistic reactive modules supported by PRISM (Probabilistic Symbolic Model Checker). For domain specific modeling and reasoning, we employ ontologies and SMT (Satisfiability Modulo Theroies) solvers like Z3

Non-functional requirements

In general, we can distinguish between two different non-functional property classes: external quality properties and internal quality properties. External quality properties, like performance, reliability, or scalability, directly influence the user experience. Internal quality properties, like maintainability and reusability, may only have indirect influence on the user experience. Our focus in subproject B3 is on the analysis of external quality properties, e.g. performance, of services composed on-the-fly upon user request.

We predict the performance of a service composition and check whether its service level agreements will hold. To this end, we transform knowledge about the composition into analysis models, e.g. queuing networks, which we can analyze. For this analysis context of the composition, like the available hardware resources at run-time and the frequency service calls, is required. However, this context information may not be complete or not available at all.

Figure 1 illustrates our approach. We are developing an engineering method that supports service providers to model resource-efficient and elastic self-adaptive multi-resource systems. The method also helps in identifying and deciding quality trade-offs. Multiple relevant quality metrics can be predicted such that design deficiencies in the software architecture and self-adaptation capabilities that limit resource-efficiency and elasticity can be identified. These results are then fed back into the matching, developed in Subproject B1.

For the analysis we reuse the software performance engineering tool Palladio, which is actively developed at the University of PaderbornTechnische Universität ChemnitzKarlsruhe Institute of Technology (KIT), and FZI Research Center for Information Technology

Model Transformations

The sub-project B3 of the CRC "On-The-Fly Computing" is concerned with the model-based analysis of functional and non-functional properties of service compositions created by sub-project B2. Since different formalisms like layered queueing networks and process algebras are used to analyze these properties, B3 has to develop multiple complex transformations of service composition models into these formalisms.

To address this issue, we have proposed a model transformation development approach, which allows simplifying and improving the quality of the developed transformations via the exploitation of the languages’ structures. The approach is based on context-free graph grammars, used for the definition of modeling languages, and transformations, defined by pairing productions of these source and target grammars in a certain way. We have shown that model transformations defined using this approach and conforming to its requirements, exhibit three important characteristics: they are sound, complete, and deterministic.

To be able to re-use the developed quality model transformation in the cases where service compositions are modeled at different levels of abstraction (e.g., with or without platform/infrastructure services models), we have proposed a modular approach based on weaving models. This approach allows modeling of inter-service interactions in a non-invasive way, as weavings. Furthermore, by subjecting weaving models to a separate model transformation, it enables re-use of existing model transformations for the individual woven models.

Further information

For further information about, please consult our publications or contact our researchers.