Branch-and-Bound und Varianten Kapitel 3 Branch-and-Bound ...
Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität...
Transcript of Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität...
![Page 1: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/1.jpg)
© author(s) of these slides 2015 including research results of the research network ES and TU Darmstadt otherwise as specified at the respective slide 30.07.2018
Software Product Lines Concepts, Analysis and Implementation
PD Dr. Malte [email protected]
Motivation, Basics, Examples
![Page 2: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/2.jpg)
2 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
I. Einführung Motivation und Grundlagen Feature-orientierte Produktlinien
II. Produktlinien-Engineering Feature-Modelle und Produktkonfiguration Variabilitätsmodellierung im Lösungsraum Programmierparadigmen für Produktlinien
III. Produktlinien-Analyse Feature-Interaktion SAT-Solving Testen von Produktlinien Verifikation von Produktlinien
IV. Fallbeispiele und aktuelle Forschungsthemen
Inhalt Motivation und Einführende
Beispiele Grundkonzepte des SPL
Engineering Durchgängiges Beispiel „BCS“
![Page 3: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/3.jpg)
3 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
1826Austauschbare Teile(John Hall)
1901Fließband(Ransom Olds/Henry Ford)
1980sAutomatische Fließbänder(erster Industrieroboter 1961bei General Motors)
[Czarnecki & Eisenecker 2000]
Industrielle Revolution
![Page 4: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/4.jpg)
4 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Produktlinien in der Industrie
![Page 5: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/5.jpg)
5 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Auto-Produktlinie
![Page 6: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/6.jpg)
6 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
„Varianten sind ein wesentlicher Hebel für das Unternehmensergebnis“— Franz Decker, Leiter Programm Variantenmanagement, BMW Group
Variantenvielfalt
![Page 7: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/7.jpg)
7 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
PKW-Produktlinien vor 20 Jahren
● Auswahl beschränkte sich auf Autotyp und ggf. noch wenige Extras wie alternativer Kassettenrekorder oder Dachgepäckträger
● Eine Variante (Audi 80, 1.3l, 55PS) machte 40% des Umsatzes aus
![Page 8: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/8.jpg)
8 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
PKW-Produktlinien heute• 1020 mögliche Varianten eines Audi; 1032 mögliche
Varianten eines BMW• Allein 100 verschiedene Bodengruppen für ein
Modell, je nach Motor und Ausstattung• 50 verschiedene Lenkräder (3 vs. 4 Speichen, Holz
vs. Kunststoff vs. Leder, Heizung, Farben)
Kaum ein Auto verlässt heute das Werk identischzu einem Vorherigen!
![Page 9: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/9.jpg)
9 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Weitere Produktlinien
![Page 10: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/10.jpg)
10 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Weitere Produktlinien
![Page 11: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/11.jpg)
11 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Weitere Produktlinien
![Page 12: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/12.jpg)
12 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Weitere Produktlinien
![Page 13: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/13.jpg)
13 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
![Page 14: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/14.jpg)
14 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Massenproduktion
![Page 15: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/15.jpg)
15 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Generische Strategien
![Page 16: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/16.jpg)
16 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Und bei Software?● Moderne Anwendungssoftwaresysteme sind Eier-legende
Wollmilchsäue– Bsp.: Windows OS, Open Office, Oracle, SAP myERP, Adobe
Photoshop, Eclipse, …● Spezialisierte Software und Software für eingebettete
Systeme wird immer wichtiger– Bsp.: PDA, Handy, Sensornetze, Mikrowelle, Fernseher, Wetterstation,
Auto, Chipkarten, Bordcomputer, Router, Ubiquitious Computing– 98% aller im Einsatz befindlichen Rechnersysteme sind eingebettete
Systeme– Ressourcenbeschränkung und heterogene Hardware erfordert
maßgeschneiderte Lösungen– Häufige Neuimplementierungen, lange Entwicklungszeiten, hohe
Entwicklungskosten
![Page 17: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/17.jpg)
17 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Warum maßgeschneiderte Software?
● Ressourcenbeschränkte Systeme– Kosten, Energie, Platz, ….
● Individuelle Systeme versus individuelle Nutzung– Ungenutzte Funktionalität als Risiko – Wartungs- / Kontroll- / Testaufwand wächst mit
Funktionsumfang● Marketing / Preisdiskriminierung● Schnellere Reaktion auf Marktveränderungen
![Page 18: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/18.jpg)
18 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Features in Microsoft Office
![Page 19: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/19.jpg)
19 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Linux-Kernel
ca. 6.000.000 Zeilen Quelltext Sehr weitgehend konfigurierbar > 10.000 Konfigurationsoptionen! (x86, 64bit, …) Fast der gesamte Quelltext ist „optional“
![Page 20: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/20.jpg)
20 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Datenbanken
● Ständig wachsendes Datenaufkommen
● Häufige Einbettung mit Ressourcenbeschränkungen
![Page 21: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/21.jpg)
21 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Drucker-Firmware
![Page 22: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/22.jpg)
22 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Spiele
![Page 23: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/23.jpg)
23 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Softwareproduktlinien in der Industrie● HP: Druckertreiber/Firmware● Nokia: Mobiltelefon-Software, Browser● Phillips: High-End TVs, Medizintechnik, …● TomTom: eingebettete Navigationssysteme● Cummins: Dieselmotoren-Steuerungssoftware● LG: Aufzugsteuerungssoftware● Ericsson: Telecommunication switches● General Motors: Powertrains● Viele weitere: Gasturbinen, train control, ship control,
frequency converter, internet payment gateway, helicopter avionics software, …
![Page 24: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/24.jpg)
24 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Ziel der Vorlesung● Techniken für die Entwicklung maßgeschneiderter
Software, die genau die benötigte Funktionalität enthält– Varianten für verschiedene Anwendungsfälle– Neue Varianten können leicht hinzugefügt werden; schnelle
Entwicklung; Wiederverwendung bewährter Funktionalität– Kundenindividuelle Fertigung; Spezialisierung– Anpassung an verfügbare Ressourcen
● Softwareproduktlinien (SPL): Konfiguration durch Auswahl von Features (deutsch: Merkmale)
![Page 25: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/25.jpg)
25 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Schätzung
Circa 80% aller Softwaresysteme sind Softwareproduktlinien bzw. können von
Softwareproduktlinientechnologie profitieren.
![Page 26: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/26.jpg)
26 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Variabilität = Komplexität
![Page 27: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/27.jpg)
27 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Challenges
![Page 28: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/28.jpg)
28 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
eine maßgechneiderte Variante fürjeden Menschen auf dem Planeten
33 Featuresoptionale, unabhängige
![Page 29: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/29.jpg)
29 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
320 Features
mehr Varianten als esAtome im Universum gibt!
optionale, unabhängige
![Page 30: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/30.jpg)
30 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
![Page 31: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/31.jpg)
31 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Korrektheit?
![Page 32: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/32.jpg)
32 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Alle Kombinationen sinnvoll?
![Page 33: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/33.jpg)
33 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Wiederverwendung bei der Implementierung?
Wo Fehler korrigieren?
![Page 34: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/34.jpg)
34 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Idee: Systematische Entwicklung von Softwareproduktlinien
● Jeweils neu programmieren ist sowohl unwirtschaftlich als auch gefährlich
● Daher maßgeschneiderte Software auf Basis von Softwareproduktlinien
– Aus wiederverwendbaren Teilen– Die alternative Implementierungen haben können– Anpassbar für spezielle Anwendungsfälle– Nutzbar auch unter extremer Ressourcenbeschränkung
![Page 35: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/35.jpg)
35 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Entwurf und Implementierung von FeaturesD
omai
n En
g.Ap
plic
atio
n En
g.
Feature-Auswahl
Feature-Modell WiederverwendbareImplementierungs-artefakte
Generator Fertiges Program
![Page 36: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/36.jpg)
36 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Nicht-funktionale Eigenschaften
● Begrenzungen und Optimierung● Optimiert für geringen Stromverbrauch● Optimiert für Performance● Optimiert für minimalen Footprint● Spezielle Implementierung (z. B. kein RAM, wenig Schreibzugriffe)
![Page 37: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/37.jpg)
37 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
#ifndef _DB_MUTEX_INT_H_#define _DB_MUTEX_INT_H_
#ifdef HAVE_MUTEX_PTHREADS#include <pthread.h>
#define MUTEX_FIELDSpthread_mutex_t mutex; /* Mutex. */pthread_cond_t cond; /* Condition variable. */
#endif
#ifdef HAVE_MUTEX_UI_THREADS#include <thread.h>#endif
#ifdef HAVE_MUTEX_SOLARIS_LWP#include <synch.h>
#define MUTEX_FIELDSlwp_mutex_t mutex; /* Mutex. */lwp_cond_t cond; /* Condition variable. */
#endif
#ifdef HAVE_MUTEX_UI_THREADS#include <thread.h>#include <synch.h>
#define MUTEX_FIELDSmutex_t mutex; /* Mutex. */cond_t cond; /* Condition variable. */
#endif
#ifdef HAVE_MUTEX_AIX_CHECK_LOCK#include <sys/atomic_op.h>typedef int tsl_t;
#ifdef LOAD_ACTUAL_MUTEX_CODE#define MUTEX_INIT(x) 0#define MUTEX_SET(x) (!_check_lock(x, 0, 1))#define MUTEX_UNSET(x) _clear_lock(x, 0)#endif#endif …
Implementierung: State of the Art
● Wenn überhaupt Variantenmanagement, dann mit #ifdef, Templates, make, CVS
● Beispiel: Berkeley DB (mutex_int.h)
![Page 38: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/38.jpg)
38 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Implementierung und Wartbarkeit?
class Stack {void push(Object o
#ifdef SYNC, Transaction txn
#endif) {if (o==null
#ifdef SYNC|| txn==null
#endif) return;
#ifdef SYNCLock l=txn.lock(o);
#endifelementData[size++] = o;
#ifdef SYNCl.unlock();
#endiffireStackChanged();
}}
![Page 39: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/39.jpg)
39 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
SPL-Implementierung● Verschiedene Wege SPLs zu implementieren● In dieser Vorlesung betrachten wir u.a.
– Präprozessoren– Komponenten– Frameworks/Plugins– Feature-orientierte Programmierung– Aspekt-orientierte Programmierung
![Page 40: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/40.jpg)
40 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Wieviel Variabilität ist sinnvoll?
EntwicklungskostenInvestitionskostenWartungskostenLogistikkostenFertigungskosten (geringe Stückz.)
![Page 41: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/41.jpg)
41 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Schwerpunkte Maßgeschneiderte Software als Ziel
Feature als zentrales Konzept
Modellierung, Analyse und Implementierung von Features steht im Vordergrund
Konkreter Quelltext, diverse Paradigmen und Sprachen
![Page 42: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/42.jpg)
42 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Fallstudie BCS Produktlinie
Durchgängiges Fallbeispiel aus dem Automotive Bereich „Body Comfort System“
![Page 43: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/43.jpg)
43 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Ursprung
• HMI-Steuergerät (Display und Statusanzeige, Komforteinstellungen, ...)• Türsteuergerät (Fensterheber, Spiegelverstellung, Spiegelblinker, ...)• Zentralverriegelungssteuergerät (Funkmodul, Schlossaktorik,Türkontakte, ...)• Alarmanlagensteuergerät (Innenraumüberwachung, Türüberwachung, ...)
• Zur Demonstration eines neuen, modellbasierten Entwicklungsansatzes erstellt• Ausschnitt aus modernem PKW System• Besteht aus 4 per CAN vernetzten Steuergeräten
![Page 44: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/44.jpg)
44 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Weiterentwicklung der Fallstudie
• Weiterentwicklung zur Software Produktlinie
• Teile der Funktionalitäten sind optional
• Featuremodell mit• 27 Features• 5 cross-tree constraints
![Page 45: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/45.jpg)
45 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Architekturmodell
Beschreibt die Verknüpfung der Komponenten und den Signalfluss
![Page 46: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/46.jpg)
46 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Automaten-Modell
• Beispielkomponente: Manueller Fensterheber• Beschreibung des Verhaltens als Automat
![Page 47: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/47.jpg)
47 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Testmodell
• 150% Modellenthält alle Produktkonfigurationen
![Page 48: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/48.jpg)
48 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Partielle Testmodelle
• 125% Modell
![Page 49: Software Product Lines - es.tu-darmstadt.de · Software, die genau die benötigte Funktionalität enthält Varianten für verschiedene Anwendungsfälle Neue Varianten können leicht](https://reader030.fdocuments.in/reader030/viewer/2022041202/5d4d7be588c993ca718b8a15/html5/thumbnails/49.jpg)
49 | 30.07.2018 | Software Product Lines - Concepts, Analysis and Implementation
Referenzen (Auswahl) Müller et al. : A comprehensive Description of a Model-based, continuous
Development Process for AUTOSAR Systems with integrated Quality Assurance, Technical Report, Braunschweig, 2009.
Sebastian Oster, Marius Zink, Malte Lochau, and Mark Grechanik:Pairwise feature-interaction testing for spls: potentials and limitations.In Proceedings of the 15th International Software Product Line Conference, Volume 2, SPLC ’11, pages 6:1–6:8, New York, NY, USA, 2011. ACM.
Marius Zink: Anwendung von Moso-Polite in einer Automotive SPL. Masterarbeit, Technische Universität Darmstadt, June 2011.
Sascha Lity, Remo Lachmann, Malte Lochau, Ina Schaefer: Delta-oriented Software Product Line Test Models - The Body Comfort System Case StudyTechnical Report 2012-07, TU Braunschweig, 2013.
etc.