1st Workshop on Variability for Qualities in Software Architecture (VAQUITA)

For this year’s European Conference on Software Architecture (ECSA), paluno is organizing the 1st International Workshop on Variability for Qualities in Software Architecture (VAQUITA) in collaboration with Prof. Uwe Zdun. Although variability is a key factor of most systems, there is a research gap regarding variability, software qualities and software architecture. VAQUITA offers researchers and practitioners a platform for exchanging ideas and experiences, discussing open problems and proposing promising solutions.

The VAQUITA workshop will take place on September 7, 2015 in conjunction with ECSA 2015 in Dubrovnik/Cavtat, Croatia. Submissions are possible until May 10, 2015 (abstracts) and May 17, 2015 (papers).

For more information please see http://vaquita-workshop.org.

Project Overview

The aim of GenEDA (Generation and Evaluation of Design Alternatives for Software Architectures) is to examine how non-functional requirements can be used for systematic generation of design alternatives for software system architectures. In particular, the project focuses on performance, scalability, security, and reliability in this context. Methods shall be developed not just for generating but also for evaluating design alternatives based on those non-functional requirements. These methods respect the deployment environment (domain knowledge) and are based on patterns, i.e. on problem patterns as well as solution patterns. A case study is used for evaluating the results.

In the successor project, we aim at deepening and broadening our current methodology by taking into account two new dimensions, namely evolvability and variability, and two new methodical extensions, namely interaction and trade-off analysis as well as optimization. Since most software projects do not develop new software from scratch but are based on existing software, evolvability is highly important in practice. Therefore, one of the goals of the successor project is to additionally consider evolvability as a quality attribute and integrate it into our methodology from the predecessor project. As many software products do not exist in only one variant but in several variants, software product lines (SPLs) are of great practical relevance. SPLs mostly focus on functional or technical variability. In the context of investigating quality requirements and their interplay with software architecture, we aim at integrating quality considerations into software product line engineering. Generating valid architecture alternatives requires a set of conflict-free functional and quality requirements. Therefore, we plan to extend our methodology from the predecessor project by providing support for finding and resolving undesirable interactions between quality requirements or between quality requirements and functional requirements. We want to provide better decision support for software engineers when choosing among different design alternatives. For this purpose, we want to set up optimization problems and use state-of-the-art techniques to automatically generate architectures, which are optimal with respect to a certain fitness function. Finally, the GenEDA approach will be consolidated to an overall method with tool support. The validation of the method will be conducted by applying it to real-life case studies.

Projektübersicht

In dem GenEDA-Projekt (Generation and Evaluation of Design Alternatives for Software Architectures) soll untersucht werden, wie bei der Softwareentwicklung Qualitätziele (insbesondere Performanz/Skalierbarkeit, Sicherheit und teilweise Gebrauchstauglichkeit) benutzt werden können, um strukturiert und systematisch unterschiedliche Designalternativen für zu entwickelnde Softwaresysteme zu erzeugen. Konkret sollen Verfahren entwickelt werden, die es erlauben, aufgrund von Qualitätszielen verschiedene Designalternativen zu nicht nur erzeugen, sondern auch zu bewerten. Diese Verfahren sollen zum Einen die Eigenschaften der Einsatzumgebung berücksichtigen (Domänenwissen) und zum Anderen auf dem Gebrauch von Mustern (sowohl für Probleme als auch für Lösungen) aufbauen. Die entwickelten Konzepte sollen anhand einer aussagekräftigen Fallstudie praktisch erprobt werden.

Das Ziel des Nachfolgeprojekts besteht darin, unsere gegenwärtige Methodik zu vertiefen und zu erweitern, indem wir zwei neue Dimensionen, Evolvierbarkeit und Variabilität, mitberücksichtigen, sowie auch zwei neue methodische Erweiterungen, Interaktion- und Trade-Off-Analyse, und die Optimierung in den Blick nehmen. Da neue Software in den meisten Software-Projekten nicht von Grund auf entwickelt wird, sondern auf bereits existierende Software aufbaut, ist die Evolvierbarkeit in der Praxis äußerst bedeutsam. Demnach ist es ein Ziel des Nachfolgeprojekts, dass die Evolvierbarkeit zusätzlich als ein Qualitätsmerkmal betrachtet und in die Methodik unseres Vorgängerprojektes integriert wird. Da von den meisten Softwareprodukten nicht nur eine, sondern mehrere Varianten existieren, haben Softwareproduktlinien (SPL) in der Praxis eine große Relevanz. Der Schwerpunkt dieser SPL liegt hauptsächlich auf der funktionalen und technischen Variabilität. Im Zusammenhang mit der Erforschung von Qualitätsanforderungen und deren Zusammenwirken mit der Softwarearchitektur streben wir das Ziel an, Qualitätserwägungen in die technische Entwicklung von Softwareproduktlinien mit einzubeziehen. Um valide Architekturalternativen generieren zu können, wird ein Satz von konfliktfreien funktionalen Anforderungen und Qualitätsanforderungen vorausgesetzt. Demzufolge planen wir die Methodik unseres Vorgängerprojekts dahingehend zu erweitern, dass wir Unterstützung bieten, durch welche negative Interaktionen zwischen Qualitätsanforderungen oder zwischen Qualitätsanforderungen und Funktionalen Anforderungen aufgedeckt und aufgelöst werden können. Für die Entscheidung zwischen verschiedenen Designalternativen wollen wir für Softwareingenieure eine bessere Entscheidungshilfe zur Verfügung stellen. Hierfür werden wir Optimierungsprobleme aufstellen und modernste Techniken verwenden, die automatisch die Architekturen erzeugen, die in Bezug auf eine gewisse Fitnessfunktion optimal sind. GenEDA–Ansatz wird schließlich mit Werkzeugunterstützung zu einer allumfassenden Methode vereinigt. Die Validierung dieser Methode wird unter der Verwendung von real existierenden Fallstudien durchgeführt.