31
Anwendungsbeispiele im SPL-Umfeld Universit¨ at Siegen 16.02.2015 Anwendungsbeispiele im SPL-Umfeld

Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Anwendungsbeispiele im SPL-Umfeld

Universitat Siegen

16.02.2015

Anwendungsbeispiele im SPL-Umfeld

Page 2: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Table of Contents

Philips Fernseher

Bosch Motorsteuerungssoftware

Heimautomation

Linux-Kernel

Anwendungsbeispiele im SPL-Umfeld

Page 3: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Einer der weltgroßten Elektronikkonzerne

Aus den Niederlanden

Sitz Amsterdam

Bietet Fernseher der 9000er Serie bis 3000er Serie an

Altere Modelle werden nicht mehr angeboten

Anwendungsbeispiele im SPL-Umfeld

Page 4: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Unterstutzung von verschiedenen Anschlussen, wie zB USB

Energiesparfunktion

Bildschirmformat anpassen

EasyLink

SmartTV

Ambilight

Anwendungsbeispiele im SPL-Umfeld

Page 5: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Anfangs mit Software-Komponentenmodell ”Koala”umgesetzt

Wiederverwendbare Komponenten auswahlen

Erhielt so neue Kombinationen

Koala sowohl Komponentenmodell, als auch architektonischeSprache

Kann Interfaces definieren und Verbindungen zwischen deneinzelnen Komponenten

Anwendungsbeispiele im SPL-Umfeld

Page 6: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Anwendungsbeispiele im SPL-Umfeld

Page 7: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Komponenten enthalten Required-Interfaces undProvided-Interfaces

Required-Interfaces definieren Funktionalitaten derKomponente

Provided-Interfaces definieren Funktionalitaten, die vonanderen Komponenten benotigt werden

Spezieller Typ von Required-Interface, sogenanntesDiversity-Interface

Beinhaltet Parameter bzw Funktionen

Definiert mithilfe einiger Konstrukte und ModulenVariationspunkte

Anwendungsbeispiele im SPL-Umfeld

Page 8: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Spater wurde Produktlinien-Architektur entwickelt

Legt Regeln und Grundsatze fest, welche von den individuellenProdukten eingehalten werden sollen

Beinhaltet einen Anfangsbestand an Komponenten, welcheeinige Features implementieren

Neue Features werden hinzugefugt, indem bereits vorhandene,wiederverwendbare Komponenten modifiziert werden und neueKomponenten hinzugefugt werden

Anwendungsbeispiele im SPL-Umfeld

Page 9: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Philips Fernseher

Unterteilung: kommerzielle Features - technische Features

Kommerzielle Features ware zB Ambilight

Technische Features sind fur die technische Umsetzung da

Kommerzielle Features konnen Vielzahl an technischerFeatures benotigen

Technisches Feature kann von Vielzahl an Komponentenimplementiert werden

Anwendungsbeispiele im SPL-Umfeld

Page 10: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Bosch ist ein fuhrender globaler Anbieter von Technologienund Dienstleistungen im Bereich der Automobiltechnologie

Motorsteuerung eingebettete, sehr komplexe Echtzeitsysteme

Softwaresysteme mussen einige Anforderungen erfullen

Extreme Variabilitat, permament wachsende Komplexitat,verteilte Entwicklung mit Autoherstellern, Einhaltung vonStandards

Anwendungsbeispiele im SPL-Umfeld

Page 11: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Figure: Motronic

Anwendungsbeispiele im SPL-Umfeld

Page 12: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Motronic kann Verbrennungsmotoren mit Benzin, Diesel,Erdgas, Ethanol und Hybridantriebe steuern

Standardisierte Kommunikationsschnittstellen undDatenformate ermoglichen Vernetzung der Antriebssysteme

Motronic muss Funktionen steuern

Kraftstoffversorgung, Luftsteuerung, Kraftstoffeinspritzung,Zundung und Abgasnachbehandlung

Variabel: Turbosteuerung, Motortemperatursteuerung,Kraftstofferwarmung und Funktionen fur Hybrid-Fahrzeuge

Anwendungsbeispiele im SPL-Umfeld

Page 13: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Bei Benzin-Direkteinspritzung undBenzin-Saugrohreinspritzung sorgt Motronic fur zentraleSteuerung der Leistungserzeugung

Abhangig von Parameter: Drehzahl, Lastzustand, Betriebs-und Lufttemperatur

Motorsteuerung fur Flex Fuel und Flexstart basiert aufBenzin-Saugrohreinspritungssteuerung

Einspritzung, Ventilsteuerzeiten und Zundung wird anEthanolanteil angepasst

Bifuel-Steuerung fur Erdgas vereint Motormanagement furBenzin- und Erdgasbetrieb

Hybrid kombiniert Verbrennungsmotor mit elektrischenMaschine

Fur Diesel gibt es elektronische Motorsteuerung

Anwendungsbeispiele im SPL-Umfeld

Page 14: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Produktlinie mit Architektur umgesetzt

Unterteilt sich in 3 Haupt-Cluster

Gemeinsame Basissoftware, gemeinsameAnwendungssoftwarekomponenten, dritte Teil besteht aus 2Satzen spezifischer Motorsteuerungskomponenten

Grundaufbau wird erweitert durch Schichtenmodell, umHardware und Geratekapselung zu unterstutzen

Anwendungsbeispiele im SPL-Umfeld

Page 15: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Figure: Architecture

Anwendungsbeispiele im SPL-Umfeld

Page 16: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Um Variabilitat zu handhaben, wir Feature-Modell erzeugt,um festzustellen, wo Variationspunkte definiert sind

Architektur muss Designvariabilitat erfassen

Architektonische Variabilitat reprasentiert alternativeDesignoptionen, die nicht bei Architekturmodellierunggebunden werden konnten

Variabilitat wird durch architektonische Variationspunkteverdeutlicht

”Wie und wann angewendet” charakterisiert Variationspunkt

Anwendungsbeispiele im SPL-Umfeld

Page 17: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Bosch Motorsteuerungssoftware

Durch bestimmtes Komponentendesign oder bestimmteCode-Konstrukte kann Variabilitat aus der architektonischenSicht ausgekapselt werden

Codeverschlusselung, um unautorisierte Anderungen zuverhindern

Laufzeitdatenkompression, um Speicher effizienter nutzen zukonnen

Variabilitat aus den Feature-Modellen werden inarchitektonischen Variationspunkten umgesetzt

Features werden explizit zu dem zugehorigenarchitektonischen Variationspunkt gemapped

Anwendungsbeispiele im SPL-Umfeld

Page 18: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Hauptvorteil ist Moglichkeit, ein einziges Verwaltungssystembereit zu stellen

Interaktion mit einzelnen Geraten kann uber ein einzigesInterface geschehen

Heimautomationssystem stellt Vielzahl von Funktionalitatenzur Verfugung

Lichtsteuerungssystem, abhangig von anwesenden Personen,Geschehen im Raum, individuelle Anforderungen

Tur- und Fenstersteuerungssystem, uberwacht Status vonTuren und Fenster, Turen konnen automatisch geschlossenund geoffnet werden

Anwendungsbeispiele im SPL-Umfeld

Page 19: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Feuer- und Raucherkennungssystem benutzt Sensoren undThermometer und kann beispielsweise automatisch Feuerwehrbenachrichtigen

Audio- und Videosteuerungssystem steuert Audio- bzwVideogerate, evtl ist Kommunikation mitLichtsteuerungssystem notwendig, fur zB Fernseher

Variabel: Userinterface, lokal: grafisches TV-Interface,remote: Internet

Sensoren, Wettersensor kann automatisch Rollladen offnen,um Schaden bei Unwetter zu vermeiden

Feueralarm kann manuell oder automatisch abgeschaltetwerden, Authentizierung

Anwendungsbeispiele im SPL-Umfeld

Page 20: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Technische Umsetzung geschieht mittels Architektur

Architektur wird in unterschiedliche Schichten furverschiedene Komponenten eingeteilt

Fur jede Schicht werden Frameworks erstellt

Komponenten konnen durch Interfaces verbunden werden

Komponenten werden durch Plug-Ins spezialisiert, umverschiedene Varianten zu erhalten

Frameworks legen fest, welche Interfaces benutzt werden

Ein Interface kann von mehreren Komponenten benutztwerden

Anwendungsbeispiele im SPL-Umfeld

Page 21: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Figure: Architekturausschnitt am Beispiel der Turverriegelung

Anwendungsbeispiele im SPL-Umfeld

Page 22: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Ein Interface spezifiziert Funktionalitaten, welche vonKomponenten bereitgestellt bzw benotigt werden

Variabilitat entsteht durch unterschiedliche Konfigurationen

Komponentenentwickler bestimmt Auswahl anKonfigurationsparametern, um richtige Komponentenvarianteauszuwahlen

Konfiguration sollte so entworfen werden, wie das InterfaceFunktionalitaten bereitstellt

Anwendungsbeispiele im SPL-Umfeld

Page 23: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Heimautomation

Beispielkonfiguration:

bool: Door lock electronic

bool: Door authentication

bool: Auto close

string: Authentication algorithm

int: Auto close delay

Anwendungsbeispiele im SPL-Umfeld

Page 24: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Kern jedes Linux-Betriebssystems

Finne Linus Torvald 1991 begonnen

Modularer, monolithischer Betriebssystemkern

Monolithischer Kernel hat im Vergleich großerenFunktionsumfang

Treiber sind zB bereits vorhanden

Geschwindigkeitsgewinn, aber auch fehleranfalliger undweniger stabil

Wenn ein Treiber absturzt, ist das ganze System betroffen

Anwendungsbeispiele im SPL-Umfeld

Page 25: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Speicherverwaltung, Kernel verwaltet physischen Speicher undvirtuellen Adressraum

Verwaltung der laufenden Prozesse

Multitasking-Fahigkeit, mehrere Task gleichzeitig abarbeiten

Lastverteilung, zB Taskverteilung bei mehreren Prozessoren

Benutzerverwaltung

Rechteverwaltung

Ein-/Ausgabe Operationen mussen realisiert werden

Anwendungsbeispiele im SPL-Umfeld

Page 26: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Es gibt verschiedene Features:

Unterstutzung zusatzlicher Gerate ermoglichen

Spezielle Kernel-, bzw Treiberfunktionen ein- und ausschalten

Debugfunktionen bereitstellen

API zum Programmieren

Implementieren spezieller Protokolle

Meisten Features sind Treiber fur Gerate und Protokolle

Anwendungsbeispiele im SPL-Umfeld

Page 27: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Kernel kann Features in dynamisch hinzu ladbare Moduleauslagern

Macht Kernel sehr flexibel

Zur Kompilierung kann man festlegen: ja, nein, Modul

Module konnen geladen werden und auch wieder entferntwerden

Spart Speicherplatz

Anwendungsbeispiele im SPL-Umfeld

Page 28: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Realisiert mithilfe des Annotationsansatzes, also mitPraprozessoranweisungen

Um Kompilierungsprozess zu konfigurieren, verwendet man dieSprache Kconfig

Ermoglicht Spezifizierung Konfigurationsoptionen(sog.”Configs”) und Anhangigkeiten

Configs sind Namen mit Typ: boolean, tristate, integer, string

Boolean Configs: ein(y) oder aus(n)

Tristate Configs: Ahnlich zu boolean, aber (m) bedeutet, dassder Code als Modul kompiliert werden sollte

Anwendungsbeispiele im SPL-Umfeld

Page 29: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Integer Configs: Fur numerische Optionen, wie zBPuffergroßen

String Configs: Spezifizieren Namen fur zB Dateien

Xconfig Configurator benutzt diese Configs

User legt fest, welche Features kompiliert werden sollen undwelche evtl als Modul

Anwendungsbeispiele im SPL-Umfeld

Page 30: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

Figure: XconfigAnwendungsbeispiele im SPL-Umfeld

Page 31: Anwendungsbeispiele im SPL-Umfeldpi.informatik.uni-siegen.de/Mitarbeiter/dreuling/teaching/ws1415/spls/downloads/...Table of Contents Philips Fernseher Bosch Motorsteuerungssoftware

Linux-Kernel

ENDE

Anwendungsbeispiele im SPL-Umfeld