Quality Assurance by Means of Feature Models



Similar documents
SPLConfig: Product Configuration in Software Product Line

VARIABILITY MODELING FOR CUSTOMIZABLE SAAS APPLICATIONS

Lecture Softwareengineering-Vertiefung

Improving Decision Making in Software Product Lines Product Plan Management

Model-based Test Case Generation for (Dynamic) Software Product Lines

Migrating to the Cloud: a Software Product Line based analysis

A PRODUCT METRICS TOOL INTEGRATED INTO

Debian Packages Repositories as Software Product Line Models. Towards Automated Analysis

Formal Concept Analysis used for object-oriented software modelling Wolfgang Hesse FB Mathematik und Informatik, Univ. Marburg

PLEDGE: A Product Line Editor and Test Generation Tool

Software Product Lines

Evaluating the Performance Engineering Process

An Approach to Detect the Origin and Distribution of Software Defects in an Evolving Cyber-Physical System

Software Construction

University of East London Institutional Repository:

Carrying Ideas from Knowledge-based Configuration to Software Product Lines

Using Feature Modelling and Automations to Select among Cloud Solutions

IT Customer Relationship Management supported by ITIL

17. Evolutionary Object-Oriented Software Development (EOS) An agile process based on PBS

A SURVEY ON THE AUTOMATED ANALYSES OF FEATURE MODELS

2.2 Netbeans. 2.3 Apache Struts. 2.1 Eclipse. 2.4 ArgoUML

SPLC 2011: Preliminary Session Allocation. Research Papers. Research 1: Product Line Automation. Research 2: Model-Driven Product Lines

RobbyDBMS A Case Study on Hardware/Software Product Line Engineering

Keywords: - Software Product Lines (SPLs), Product Line Engineering (PLE), Core Assets, Software Product Line Development.

Process-Family-Points

A Service Oriented Product Line Architecture for E- Government

A Reusable Software Architecture for Geographic Information Systems based on Software Product Line Engineering

Generating Highly Customizable SQL Parsers

Software Construction

TECHNISCHE BERICHTE TECHNICAL REPORTS

Fundamental Concepts and Models

MDE Opportunities in Multi-Tenant Cloud Applications

Generating Graphical User Interfaces for Software Product Lines: A Constraint-based Approach

TOWARDS AN AUTOMATED EVALUATION PROCESS FOR SOFTWARE ARCHITECTURES

Staged Configuration of Dynamic Software Product Lines with Complex Binding Time Constraints

15 Jahre Software-Produktlinien: Einführung und aktueller Stand

Extension of a SCA Editor and Deployment-Strategies for Software as a Service Applications

Variability in Service-Oriented Systems: An Analysis of Existing Approaches

FAME-DBMS: Tailor-made Data Management Solutions for Embedded Systems

Concern Driven Software Development

Please quote as: Kortler, S.; Helms, B.; Berkovich, M.; Lindemann, U.; Shea, K.; Leimeister, J. M. & Krcmar, H. (2010): Using MDM-methods in order to

SYLLABUS. Software Engineering

SoberIT Software Business and Engineering Institute

New Business Models for the Software Industry: The Emergence of Cloud Computing and Software Ecosystems

Organization. Introduction to Software Engineering

The use of Trade-offs in the development of Web Applications

(1) Schaefer, M. Wille (eds.): Proceedings of the 10 th Workshop on Automotive Software Engineering. Lecture Notes in Informatics, 2012.

Development of Tool Extensions with MOFLON

Product-Line Instantiation Guided By Subdomain Characterization: A Case Study

Business Information Systems

for High Performance Computing

Knowledge Based Method to Validate Feature Models

MODEL-DRIVEN DEVELOPMENT OF SOFTWARE CONFIGURATION MANAGEMENT SYSTEMS A Case Study in Model-driven Engineering

COUNTERACTING PHISHING THROUGH HCI: DETECTING ATTACKS AND WARNING USERS

An Agile Governance Method for Multi-tier Industrial Architecture

Project Presentation: Usability Optimization based. Monitoring. IWIST-KISTI-Workshop Workshop

A Practical Guideline to the Implementation of Online Shops

15. Evolutionary Object-Oriented Software Development (EOS) An agile process based on product-breakdown structure (PBS) Obligatory Literature

Maintainability assurance in Software Product Lines An Activity- Based Model

CMotion: A Framework for Migration of Applications into and between Clouds

Bridging the Gap between Variability in Client Application and Database Schema

Winery A Modeling Tool for TOSCA-based Cloud Applications

Cloud Computing. P a n a g i o t i s F o u z a s I T S o l u t i o n s M a n a g e r

ADAPTIVE SOA INFRASTRUCTURE BASED ON VARIABILITY MANAGEMENT. Peter Graubmann, Mikhail Roshchin

Requirements Engineering for Cloud Computing

International Journal of Web & Semantic Technology (IJWesT) Vol.3, No.3, July Vishnuvardhan Mannava 1 and T. Ramesh 2

To the Cloud! Software Security Evolution at Adobe

Towards a Resource Elasticity Benchmark for Cloud Environments. Presented By: Aleksey Charapko, Priyanka D H, Kevin Harper, Vivek Madesi

Move to Usability SOA Arquitecture: Undo Process Implementation

A Model-driven Approach to Flexible Multi-Level Customization of SaaS Applications

How to Configure a Configuration Management System An Approach Based on Feature Modeling

Business Family Engineering: Does it make sense?

Literaturliste Software Engineering (wird ergänzt)

An Aspect-Oriented Product Line Framework to Support the Development of Software Product Lines of Web Applications

WISE-SPL: Bringing Multi-tenancy to the Weather InSights Environment System

Heymans, Patrick (Ed.); Kang, Kyo-chul (Ed.); Metzger, Andreas (Ed.); Pohl, Klaus (Ed.)

FRAUNHOFER INSTITUTE FOR EXPERIMENTAL SOFTWARE ENGINEERING IESE VARIATION MANAGEMENT: USER EXPERIENCE FOR EFFICIENCY IN PROVIDING SOLUTIONS

Test Modeling of Dynamic Variable Systems using Feature Petri Nets

Modeling Dependent Software Product Lines

Building a Customizable Business-Process-as-a-Service Application with current State-of-Practice

Data Analysis in E-Learning System of Gunadarma University by Using Knime

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

Flexibility in SOA Operations: The Need for a Central Service Component

A semantic extension of a hierarchical storage management system for small and medium-sized enterprises.

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

A Framework for Software Product Line Engineering

Using Performance Models to Support Load Testing in a Large SOA Environment Industrial Track

Deloitte and SuccessFactors Workforce Analytics & Planning for Federal Government

The Advantages of a Video Processing Software Portfolio

ITSM in the Cloud. An Overview of Why IT Service Management is Critical to The Cloud. Presented By: Rick Leopoldi RL Information Consulting LLC

Ontology based Recruitment Process

Automatic Topology Completion of TOSCA-based Cloud Applications

GRID ECONOMICS. Group: LOGO Nguyễn Thị Ái Anh Nguyễn Kim Ngân

Managing and Tracing the Traversal of Process Clouds with Templates, Agendas and Artifacts

Evolution of Interests in the Learning Context Data Model

Six Strategies for Building High Performance SOA Applications

Automation Systems and the IoT Industrial Internet

Model-Based Performance Evaluations in Continuous Delivery Pipelines

BeTTy: Benchmarking and Testing on the Automated Analysis of Feature Models

Copyright 2012, Oracle and/or its affiliates. All rights reserved.

Transcription:

Faculty of Computer Science, Institute of Software- and Multimedia-Technology, Chair for Software Technology Quality Assurance by Means of Feature Models David Gollasch FOSD Meeting 2014, Dagstuhl, 07.05.2014

Contents 1 2 3 Fundamentals SaaS Quality Assurance Quality Assurance by Means of Feature Models Quality as Attributes in Feature Models Structural Analysis of Feature Models Discussion 2 of 21

Motivation Modern business applications are getting increasingly distributed over the Internet as multi-tenant software as a service (SaaS). This leads to new challenges in terms of quality assurance when developing or maintaining such applications, because all customers are directly affected very often. Which effects do software changes have? How are those changes proactively determinable? How useful are feature models to face this? 3 of 21

1. Fundamentals SaaS Quality Assurance 4 of 21

[Schroeter et al. 2012] [Mietzner et al. 2011] [Linden 2007, p. 6 ff.] Multi-Tenant Software as a Service Applications can be seen as a special kind of SPL SaaS Instance Config. Config. Tenant Tenant Configurations possible through product lines (SPL) Config. Tenant Domain Engineering Application Engineering 5 of 21

[Sneed 2012, EVOL-21] Why to focus on quality assurance? Laws of software evolution (development of software in time) 1. Law of continous change 4. Law of diminishing productivity 2. Law of increasing complexity 5. Law of restricted growth 3. Law of decreasing quality key argument for quality assurance 6 of 21

How to assure quality in general? Take a quality goal and try to reach it due to further development Prioritize development process: Remove unnecessary features to avoid wasting time and money. X exclusive G Q gradual quantized analyse product structure 7 of 21

2. Quality Assurance by Means of Feature Models Quality as Attributes in Feature Models Structural Analysis of Feature Models 8 of 21

Qualities as Attributes in Feature Models Steps to analyze quality goals: 1. Classification as X, G or Q goal Type Quality Goal Question/Interpretation X goal Capabilities Are the requirements fulfilled? 2. Find metric or heuristics G goal Q goal Efficiency Resource usage How efficient is the feature or configuration? How much memory needs the calculation? 3. Consolidation for configuration 9 of 21

Example: Comparing Configurations (Summation as Consolidation) Measurement on feature 300 200 100 Consolidation Configuration 1 Configuration 2 300 500 200 100 200 300 300 < 500 10 of 21

Consolidation Methods simple approach for X goals: binary (achieved/not achieved) ex: If there is one sub feature which does not achieve the X goal, the whole configuration does not achieve the goal.! simple arithmetic operations for Q/G goals: e.g. summation! complex consolidation method with dependencies, because not every feature set allows a simple summation of the quality values, e.g. in terms of memory consumption. If FA and FB multiply sum with 0.5. 11 of 21

[Siegmund et al. 2012] [Lettner et al. 2011] Further Measurement Approaches Not every quality goal can be measured easily, e.g. safety properties!! Quality measurement at a concrete software instance respectively configuration! usage of Benchmarks usage of model and code! Quality determination by means of a business approach Assigning costs to each feature Negotiation of total costs for a configuration according to economical principles (discounts, price increase,...) 12 of 21

Structural Similarity of Configurations When does comparing configurations make sense? Comparison of similar configurations as a lead for further investigations Configurations are similar, if there are commonalities that can be identified. This does not necessarily refer to the selection of equal features. Similarity also involves structural commonalities. (derived definition) same parent feature 13 of 21

Structural Similarity of Configurations When does comparing configurations make sense? Comparison of similar configurations as a lead for further investigations Configurations are similar, if there are commonalities that can be identified. This does not necessarily refer to the selection of equal features. Similarity also involves structural commonalities. (derived definition) same parent feature same group 13 of 21

Structural Similarity of Configurations When does comparing configurations make sense? Comparison of similar configurations as a lead for further investigations Configurations are similar, if there are commonalities that can be identified. This does not necessarily refer to the selection of equal features. Similarity also involves structural commonalities. (derived definition) same parent feature same group same features of a group 13 of 21

Structural Similarity of Configurations When does comparing configurations make sense? Comparison of similar configurations as a lead for further investigations Configurations are similar, if there are commonalities that can be identified. This does not necessarily refer to the selection of equal features. Similarity also involves structural commonalities. (derived definition) same parent feature same group same features of a group same features of a parent feature 13 of 21

Structural Similarity of Configurations When does comparing configurations make sense? Comparison of similar configurations as a lead for further investigations Configurations are similar, if there are commonalities that can be identified. This does not necessarily refer to the selection of equal features. Similarity also involves structural commonalities. (derived definition) same parent feature same group same features of a group same attributes same features of a parent feature 13 of 21

Draw Conclusions (1) Quality change due to software evolution 14 of 21

Draw Conclusions (2) Quality difference of similar configurations and its change due to software evolution 15 of 21

Structural Analysis of Feature Models Comparisons only based on a feature model and existing derived configurations. Complete automation possible! Conceptual implementation in Java as Eclipse plugin within the extfm-tooling project (https://github.com/ extfm/extfm-tooling/) 16 of 21

3. Discussion Possible starting points for further research Analysis of the shown methods without the SaaS context Further research in attributed feature models Extension of analysis tools Integration of the prototypical implementation in a practically usable tool Combination of attributed and structural analysis Empirical investigation in practicability in real projects 17 of 21

(References on next slides) Faculty of Computer Science, Institute of Software- and Multimedia-Technology, Chair for Software Technology Thank you for your attention! 1 2 3 Fundamentals SaaS Quality Assurance Quality Assurance by Means of Feature Models Quality as Attributes in Feature Models Structural Analysis of Feature Models Discussion FOSD Meeting 2014, Dagstuhl, 07.05.2014

References (1) Illustrationen von www.freedigitalphotos.net [Buxmann et al. 2008] Peter Buxmann, Thomas Hess und Sonja Lehmann. Software as a Service. In: Wirtschaftsinformatik 50.6 (2008), S. 500 503. [Blaisdell 2012] Rick Blaisdell. Mandantenfähigkeit in der Cloud: Die Vorteile verstehen. Blog. Juli 2012. url: http://www.enterprisecioforum.com/de/blogs/rickblaisdell/mandantenf%c3%a4higkeit-der-cloud-dievorteil (besucht am 06.07.2013). [Böckle et al. 2004] Günter Böckle, Peter Knauber und Klaus Pohl. Software-Produktlinien: Methoden, Einführung und Praxis. Hrsg. von Klaus Schmid. Heidelberg: Dpunkt.verlag, 2004. [Kang et al. 1990] K. C. Kang, S. G. Cohen, J. A. Hess, W. E. Novak und A. S. Peterson. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Techn. Ber. Carnegie-Mellon University Software Engineering Institute, Nov. 1990. [Linden 2007] Frank van der Linden. Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Berlin, New York: Springer, 2007. [Benavides et al. 2009] David Benavides, Sergio Segura und Antonio Ruiz-Cortés. Automated Analysis of Feature Models: A Detailed Literature Review. Techn. Ber. ISA-09-TR-04. Seville, Spain: Applied Software Engineering Research Group, University of Seville, 2009. 19 of 21

References (2) [Benavides et al. 2005] David Benavides, Pablo Trinidad und Antonio Ruiz-Cortés. Automated Reasoning on Feature Models. In: LNCS, Advanced Information Systems Engineering: 17th International Conference, CAISE 2005. Springer, 2005. [Sneed 2012] Harry Sneed. Software Product Management. Blockvorlesung. Technische Universität Dresden, Fakultät Informatik, Okt. 2012. [VÖRBY 2013] VÖRBY. Datei:ISO 9126 Grafik.png. Page Version ID: 113618779. Juli 2013. url: http:// de.wikipedia.org/w/index.php?title=datei:iso 9126Grafik.png&oldid=113618779 (besucht am 02. 08. 2013). [Balzert 1998] Helmut Balzert. Lehrbuch der Software-Technik-2 : Software-Management, Software- Qualitätssicherung, Unternehmensmodellierung. Heidelberg, Berlin: Spektrum Akad. Verl., 1998. [Mohmood, Hill 2011] Zaigham Mahmood und Richard Hill. Cloud Computing for Enterprise Architectures. Computer Communications and Networks. London, Dordrecht, Heidelberg, New York: Springer, 2011. [Gumzej, Halang 2010] Roman Gumzej und Wolfgang A. Halang. Real-time Systems Quality of Service. London, Dordrecht, Heidelberg, New York: Springer, 2010. [Siegmund et al. 2012] Norbert Siegmund, Marko Rosenmüller, Martin Kuhlemann, Christian Kästner, Sven Apel und Gunter Saake. SPL Conqueror: Toward optimization of non-functional properties in software product lines. In: Software Quality Journal 20.3-4 (2012), S. 487 517. 20 of 21

References (3) [Mietzner et al. 2011] Ralph Mietzner, Frank Leymann & Tobias Unger (2011) Horizontal and vertical combination of multi-tenancy patterns in service-oriented applications, Enterprise Information Systems, 5:1, 59-77 [Schroeter et al. 2012] Julia Schroeter, Peter Mucha, Marcel Muth, Kay Jugel, and Malte Lochau. Dynamic Configuration Management of Cloud-based Applications. In: Proceedings of the 16th International Software Product Line Conference (SPLC'12), Volume 2, SCArVeS Workshop, ACM, September 2012 [Lettner et al. 2011] Daniela Lettner, Daniel Thaller, Michael Vierhauser, Rick Rabiser, Paul Grünbacher, Wolfgang Heider: Supporting business calculations in a product line engineering tool suite. SPLC Workshops 2011: 26 [Roos-Frantz et al. 2011] Fabricia Roos-Frantz, David Benavides, Antonio Ruiz-Cortés, André Heuer, Kim Lauenroth. Quality-aware analysis in product line engineering with the orthogonal variability model. Springer Science+Business Media, LLC 2011 21 of 21