Quality of Service-Oriented Software Systems ...

11 downloads 0 Views 146KB Size Report
(QUASOSS 2010). Heiko Koziolek1, Steffen Becker2 Jens Happe3, and Paul Pettersson4. 1 Industrial Software Systems, ABB Corporate Research Ladenburg, ...
Quality of Service-Oriented Software Systems (QUASOSS 2010) Heiko Koziolek1 , Steffen Becker2 Jens Happe3 , and Paul Pettersson4 1

Industrial Software Systems, ABB Corporate Research Ladenburg, Germany, [email protected] 2 University of Paderborn, Germany, [email protected] 3 SAP Research, Karlsruhe, Germany, [email protected] 4 M¨ alardalen University, Sweden, [email protected]

Abstract. The 2nd International Workshop on the Quality of ServiceOriented Software Systems (QUASOSS 2010) brought together researchers and practitioners to assess current approaches for analyzing the quality of service-oriented software systems. Due to the current maturation of model-driven methods for service-oriented systems, the declared goal of QUASOSS 2010 was to assess the state-of-the-art, report on successful or unsuccessful application of these methods, and to identify a research roadmap for future approaches. QUASOSS 2010 was attended by 25 participants. It featured a keynote by Prof. Dorina Petriu, 6 paper presentations, and a panel discussion.

1

Introduction

Service-oriented software systems are beginning to pervade many areas of the IT world and promise to deal with dynamically changing environments and strict quality-of-service requirements. Currently, platforms for software-as-a-service (SaaS) applications are emerging, which help to implement service-oriented systems on cloud infrastructures. Cloud-based environments have to offer strict service level agreements to be competitive (e.g. Windows Azure and Amazon EC2 guarantee 99.95% uptime). Methods for assessing service level agreements regarding extra-functional properties are often based on modeling approaches, which help to reduce the complexity of the problem, focus on specific attributes, and rely on sound mathematical foundations. Models can be used during all life-cycles stages, such as design, implementation, runtime, and system evolution to assess the quality of a system. Here, the term quality refers to extra-functional properties, such as reliability, maintainability, performance, security, usability, sustainability, etc. The 2nd International Workshop on the Quality of Service-Oriented Software Systems (QUASOSS 2010) brought together researchers and practitioners to assess current approaches for analyzing the quality of service-oriented software

systems. Due to the current maturation of model-driven methods for serviceoriented systems, the declared goal of QUASOSS 2010 was to assess the stateof-the-art, report on successful or unsuccessful application of these methods, and to identify a research roadmap for future approaches. The program committee accepted 6 papers that cover a variety of topics, including performance modeling, performance measurements, trade-off analyses between quality attributes, and monitoring service-oriented system at runtime. Approx. 25 participants attended the workshop. Besides a keynote and the paper presentations, the workshop featured a discussion session, where all participants provided their views on what would a good modeling language for the evaluating and improving the quality of software of service-oriented software systems. The remainder of this summary is structured as follows: Section 2 provides an overview of the keynote speech as well as the paper presentations and Section 3 summarizes the workshop discussions.

2 2.1

Workshop Contributions Keynote

The keynote speech was given by Prof. Dorina Petriu from Carleton University, Ottawa, Canada. Her talk was entitled ”Model-based Performance Analysis of Service-Oriented Systems” . The talk focused on performance analysis of UML models of service-oriented systems, starting early in the development process and continuing throughout the software life-cycle. In order to conduct quantitative performance analysis, an UML model extended with performance annotations is transformed into a performance model (such as queueing networks, Petri nets, stochastic process algebra, etc.), which can be solved with existing performance analysis tools. The ”UML Profile for Modeling and Analysis of Real-Time and Embedded systems (MARTE)” can be used for adding performance annotations to a given UML model The talk discussed at first the kind of performance annotations that need to be added to UML models and the principles for transforming annotated software models into performance models. Such a transformation must bridge a large semantic gap between the source and target model for two main reasons: performance models concentrate on resource usage and abstract away many details of the original software model, and the performance model requires platform information which is not contained in the software application model. Finally, the talk highlighted other research challenges, such as a) merging performance modeling and measurements; b) applying variability modeling to service-oriented systems, and c) use of SOA patterns for evaluating and improving the performance of service-oriented systems. 2.2

Paper presentations

6 papers were presented at the workshop, for the full workshop proceedings see [1]. A synopsis of each presentation is given below, extended versions of the papers [6] and [3] are included in this workshop reader.

– Using quality of service bounds for effective multi-objective software architecture optimization [6] Qais Noorshams, Anne Martens, Ralf Reussner The authors proposed an extension to a method for automatic quality improvement of service-oriented architectures using meta-heuristics. The extension takes bounds into account to optimize the meta-heuristic search process. – An integrated tool for trade-off analysis of quality-of-service attributes [4] Leo Hatvani, Anton Jansen, Cristina Seceleanu, Paul Pettersson This paper presented a tool based on the Analytical Hierachy Process method and the results from a architecture-based quality prediction tool for determining the tradeoffs between performance, reliability, and maintainability of a service-oriented system. – Using software performance curves for dependable and cost-efficient service hosting [7] Dennis Westermann, Christof Momm The authors introduced the idea of Software Performance Curves and described how they can be derived by a service provider hosting a multi-tenant system. – Performance-driven stepwise refinement of component-based architectures [5] Lucia Kapova, Barbora Buhnova Refining the concept of quality-related ”completions” for prediction models, the authors proposed a method to a identify and resolve conflicts between multiple applicable completions. – Model-based dynamic QoS-driven service composition [2] Antinisca Di Marco, Antonino Sabetta This paper proposed a model-based framework, called Smart, that automatically constructs complex services with guaranteed QoS. – Usage profile and platform independent automated validation of service behavior specifications [3] Henning Groenda The author showed how model-based testing can be applied to validate a quality specification’s accuracy and how the attachment of validation settings to specifications can ease validity assessments.

3

Discussion Summary

After the paper presentations of the QUASOSS workshop, the participants joined for a 90-minute discussion session on the topic: ”What is the best modeling language for quality of service in service-oriented systems?”. Many researchers have proposed modeling languages for service-oriented systems during the last decade, yet a consensus on an industry standard has not been reached. Some participants pointed out that the UML modeling language is the defacto standard for modeling and should also be used for modeling service-oriented systems. There are UML profiles for modeling service-oriented systems (i.e., Service oriented architecture Modeling Language, SoaML) and QoS properties (i.e., Modeling and Analysis of Real Time Systems, MARTE), which could be used especially for the modeling tasks discussed during the workshop.

The benefits of using UML were then briefly discussed. Reusing and extending an existing industry standard provides the opportunity to reuse and annotate existing models and thus save time and efforts for modeling. Rich tool support exists for creating UML models and there are even some performance or reliability prediction tools based on model transformations from UML. Domain-specific features or particularities of any QoS prediction approach can be integrated into the UML using the standard mechanism of profiles. However, some participants also pointed out the drawbacks of the UML. The complexity of UML and the MARTE profile with several thousand pages of specification scares many developers from developing more formal models. The semantics of many concepts are not formally defined, thus different tool vendors have different implementations of the standard. The MARTE profile is currently hardly used in industry. This partially stems from the fact that MARTE has been released only one year ago. However, its predecessor, the SPT profile, released eight years ago was also not broadly adopted in industry, thus hinting at some deeper underlying issues. Special tool support for these profiles has always been a concern. For example entering the complicated performance annotations should be assisted in structured manner, whereas current tools simply rely on free text fields that easily lend themselves to user input errors. Other participants favored domain-specific modeling languages, such as service modeling languages or components models that can be used to model service-oriented systems. There are already several component model supporting the specification of extra-functional properties, which could be used to analyze service-oriented systems. Applying quality-oriented component models for service-oriented systems might be even simpler than for component-based systems, because the degree of freedom for deploying a service is usually not present for service-oriented systems. Some members of the discussion group pointed out that the question of the best modeling language is related to the question of the best programming language, which was debated often in former times. Modeling languages shift the level of abstraction higher, in the same manner as higher-level programming languages raised the abstraction level from assembly code. The vision for modeling and analyzing QoS properties in service-oriented systems was sketched by the workshop participants as follows: – Interoperable tooling: more emphasis should be put on the interoperability of modeling tools. Any new modeling language should provide semi-automatic conversion or migration tools. – Domain focus: there is a need for domain-specific modeling languages for QoS properties which focus on restricted aspects and are therefore easy to learn. – Tool support for QoS annotations: QoS modeling tools should provide special support for creating QoS annotations (e.g., if text-based, there should be automatic syntax checking, syntax highlighting, auto-completion, etc.).

– Modeling languages for runtime analysis: very expressive modeling languages might not allow live QoS analyses during service operation, because they might require long simulation runs. Thus, there should be specially restricted languages, whose instances can be used for quick analysis and system reconfiguration during runtime. – Future UML standards: future UML standards or profiles should focus on a smaller number of concepts and define these more formally. There is the need for involving strong industry partners in any standardization efforts so that the specification are applied and resource for tool development are given.

Acknowledgment The QUASOSS organizers would like to thank all participants of the workshop for their lively discussions, the program committee members for their insightful reviews, and especially our keynote speaker Prof. Dorina Petriu for her valuable contribution. The workshop was supported by the European Union Projects Q-ImPrESS and SLA@SOI.

References 1. QUASOSS ’10: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. ACM, New York, NY, USA (2010), http://portal.acm.org/citation.cfm?id=1858263 2. Di Marco, A., Sabetta, A.: Model-based dynamic qos-driven service composition. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 5:1–5:6. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858270 3. Groenda, H.: Usage profile and platform independent automated validation of service behavior specifications. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 6:1–6:6. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858271 4. Hatvani, L., Jansen, A., Seceleanu, C., Pettersson, P.: An integrated tool for trade-off analysis of quality-of-service attributes. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 2:1–2:6. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858266 5. Kapova, L., Buhnova, B.: Performance-driven stepwise refinement of componentbased architectures. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 4:1–4:7. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858269 6. Noorshams, Q., Martens, A., Reussner, R.: Using quality of service bounds for effective multi-objective software architecture optimization. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 1:1–1:6. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858265 7. Westermann, D., Momm, C.: Using software performance curves for dependable and cost-efficient service hosting. In: Proceedings of the 2nd International Workshop on the Quality of Service-Oriented Software Systems. pp. 3:1–3:6. QUASOSS ’10, ACM, New York, NY, USA (2010), http://doi.acm.org/10.1145/1858263.1858267