Upload
others
View
5
Download
0
Embed Size (px)
Citation preview
Anwendungsbeispiele im SPL-Umfeld
Universitat Siegen
16.02.2015
Anwendungsbeispiele im SPL-Umfeld
Table of Contents
Philips Fernseher
Bosch Motorsteuerungssoftware
Heimautomation
Linux-Kernel
Anwendungsbeispiele im SPL-Umfeld
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
Philips Fernseher
Unterstutzung von verschiedenen Anschlussen, wie zB USB
Energiesparfunktion
Bildschirmformat anpassen
EasyLink
SmartTV
Ambilight
Anwendungsbeispiele im SPL-Umfeld
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
Philips Fernseher
Anwendungsbeispiele im SPL-Umfeld
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
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
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
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
Bosch Motorsteuerungssoftware
Figure: Motronic
Anwendungsbeispiele im SPL-Umfeld
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
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
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
Bosch Motorsteuerungssoftware
Figure: Architecture
Anwendungsbeispiele im SPL-Umfeld
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
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
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
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
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
Heimautomation
Figure: Architekturausschnitt am Beispiel der Turverriegelung
Anwendungsbeispiele im SPL-Umfeld
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
Heimautomation
Beispielkonfiguration:
bool: Door lock electronic
bool: Door authentication
bool: Auto close
string: Authentication algorithm
int: Auto close delay
Anwendungsbeispiele im SPL-Umfeld
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
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
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
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
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
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
Linux-Kernel
Figure: XconfigAnwendungsbeispiele im SPL-Umfeld
Linux-Kernel
ENDE
Anwendungsbeispiele im SPL-Umfeld