37
1 (Aktuelle Forschungsfragen der eingebetteten Systemsoftware) Betriebssystemtechnik Domänenentwurf und Referenzarchitektur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~os/ http://ess.cs.tu-dortmund.de/DE/Teaching/WS2008/BST/

(Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

11

(Aktuelle Forschungsfragen der eingebetteten Systemsoftware)

BetriebssystemtechnikDomänenentwurf und Referenzarchitektur

Olaf SpinczykArbeitsgruppe Eingebettete Systemsoftware

Lehrstuhl für Informatik 12TU Dortmund [email protected]://ess.cs.uni-dortmund.de/~os/

http://ess.cs.tu-dortmund.de/DE/Teaching/WS2008/BST/

Page 2: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 22

Software-Produktlinienentwicklung

Requirements KomponentenTraceability Traceability

Domänen-analyse

Domänen-entwurf

Domänen-implement.

Applikations-analyse

Applikations-entwurf

Applikations-implement.

Referenzprozess für die Software-Produktlinienentwicklung [1]

ExistierenderCode

Domänen-wissen

Domänenterminologie

ReferenzanforderungenReferenz-architektur

Feedback/AnpassungenReverse Architecting

WiederverwendbareKomponenten

Produkt-spezifischeAnforderungen

: Domain Engineering : Application Engineering

Page 3: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 33

Domänenentwurf

Domänen-entwurf

● Analyse● Identifikation der Architekturtreiber, Mechanismen und Sichten

● Modellierung● Architekturdokumentation mit Variationspunkten

● Evaluierung● Erkennen von Risiken in den Entwurfsentscheidungen

Domänenmodell Referenzarchitektur

Feedback/AnpassungenReverse Architecting

In Anlehnung an das Modell zur Architekturentwicklung aus [1].

teuer

Page 4: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 44

Beispielprojekt

Merkmaldiagramm: Robert Bosch GmbH, SRR-Plattform

SRR-Plattform

F1Parkpilot

F5PreCrash-Sensierung

F6PreFire

F7PreSet

F3Heck

F4Einparkbremse

F2Front

● Fahrerassistenz durch Short Range Radar (SRR) [1]

F3 und F5 schließen sich aus

F8 Genauigkeit der GeschwindigkeitsmessungF9/F10 Anzahl und Position der Sensoren

Page 5: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 55

Analyse: Architekturtreiber

Architekturtreiber: Robert Bosch GmbH, SRR-Plattform

• Konfigurierbarkeit: Bestimmte Ausprägungen und Kombinationen der Assistenzfunktionen Parkpilot und PreCrash-Sensierung sollen als Varianten der SRR-Plattform realisierbar sein.

• Integrierbarkeit: Produkte der SRR-Plattform sollen kompatibel zu den KFZ-Elektronik-Infrastrukturen im Zielmarkt sein (CAN Bus, ..., begrenzter Bauraum).

• Performanz: Parkpilot und PreCrash-Sensierung sollen gleichzeitig nutzbar sein.

● architekturrelevante Anforderungen● wenige im Vergleich zur Gesamtmenge der Anforderungen

● häufig „nicht-funktionale Eigenschaften“

Page 6: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 66

Analyse: Entwurfsmechanismen● Ermitteln geeigneter Mechanismen für die Umsetzung der

Architekturtreiber● Auswahl erprobter Lösungen für Entwurfsprobleme, z.B.:

● Schichten: Anordnung von Aufgaben unterschiedlichen Abstraktionsebenen

● Pipes and Filters: Am Datenfluss orientierte Architektur bestehend aus Operationen, die Datenströme bearbeiten

● Model-View-Controller: Zerlegung interaktiver Systeme in drei Hauptkomponenten: (1) Verwaltung der Daten, (2) Visualisierung, (3) Behandlung der Eingaben

● Blackboard: Mehrere unabhängige Komponenten arbeiten auf Basis einer zentralen Datenstruktur indirekt zusammen

● Entwurfsmechanismen/-muster werden unter Beachtung der Architekturtreiber gewählt und ggf. kombiniert.

Page 7: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 77

Analyse: Architektursichten● relevante Darstellungen der Architektur definieren

● Sichten ergeben sich anhand der Architekturtreiber

● Performanz: Darstellung mit Hilfe von Prozessen und Interprozesskommunikation (dynamischer Gesichtspunkt)

● Korrektheit, Testbarkeit: Benutzt-Hierarchie

● Konfigurierbarkeit: funktionale Hierarchie, Visualisierung der Konfigurationspunkte

● ...

Page 8: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 88

Modellierung● Treffen von Entwurfsentscheidungen

● unter Beachtung der Architekturtreiber und anderer Anforderungen

● Anwendung der Entwurfsmechanismen

● schrittweise Verfeinerung

● Bearbeitung in allen relevanten Architektursichten

● Erstellung der Architekturdokumentation

Page 9: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 99

Beispielprojekt - Architektur

Referenzarchitektur: Robert Bosch GmbH, SRR-Plattform

● „Logische Sicht“ auf die SRR-Plattform

Sensor 1

Sensor n

Situations-analyse

Parkpilot

PreFire

PreSet

Sensor-steuerung

Umfeld-beschreibung

CV-Schätzung

VP4

VP4

VP4 VP4 VP4

VP1

VP2

VP3

VP4

VP5

VP4

VP5

VP5

Page 10: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1010

Beispielprojekt – Treiber-Realisierung● Konfigurierbarkeit

● Minimierung von Abhängigkeiten durch Modularisierung

● Integrierbarkeit● Realisierung der Komponenten mit Standard CAN Schnittstellen● Minimierung der Sensoranzahl durch Nutzung für verschiedene

Funktionen (Bauraumproblematik, auch Performanz)

● Performanz● Parallelverarbeitung durch Verteilung auf eine Plattform- und n

Sensor-ECUs● Nutzung von Nebenläufigkeit durch Time Sharing-Betrieb

Page 11: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1111

Beispielprojekt – Variationspunkte● explizite Dokumentation der Variabilität

● VP4 und VP5 sind besonders interessant● betreffen den inneren Aufbau der logischen Komponenten● wirken sich auf mehrere Komponenten aus („querschneidend“)

Variationspunkte: Robert Bosch GmbH, SRR-Plattform

Merkmal Variationspunkt VerantwortlichkeitF1 VP1 Einbinden Komponente ParkpilotF6 VP2 Einbinden Komponente PreFireF7 VP3 Einbinden Komponente PreSetF8 VP4 Konfigurierung des CV­Modus

VP5F9, F10(F2,F3)

Konfigurierung von Sensoranzahlund ­positionen

Page 12: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1212

Evaluierung● Festlegung von Evaluierungsszenarien

● unter Beachtung der Architekturtreiber und anderer Anforderungen

● kritische Anwendungsfälle, z.B. Volllastbetrieb, Fehlerfälle

● Migrationspfad zur nächsten Produktgeneration

● Identifikation der betroffenen Komponenten pro Szenario

● Suche nach nicht umgesetzten Anforderungen

● Suche nach möglichen Risiken durch szenario- und qualitätsmerkmalspezifische Fragen

● Welche Bedingungen oder Ereignisse beeinflussen die Systemperformanz? Wie reagiert das System darauf?

Page 13: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1313

Beispielprojekt – Produkt 1

Produktvariante 1: Robert Bosch GmbH, SRR-Plattform

● Parkpilot Heck: F1, F3

Sensor 1

Sensor 4

Parkpilot

Sensor-steuerung

Umfeld-beschreibung

Sensor 2

Sensor 3

Page 14: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1414

Beispielprojekt – Produkt 2

Produktvariante 2: Robert Bosch GmbH, SRR-Plattform

● Parkpilot und PreCrash-Sensierung: F1, F2, F5, F6, F7

Sensor 1

Sensor 4

Sensor-steuerung

Umfeld-beschreibung

Sensor 2

Sensor 3

Situations-analyse

Parkpilot

PreFire

PreSet

CV-Schätzung

Page 15: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1515

Domänenentwurf - Zusammenfassungwichtig ist, ...

● sich über die Architekturtreiber klar zu werden

● alternative Entwurfsmechanismen bzw. Architekturen abzuwägen (keine Dogmen!)

● die Variationspunkte explizit zu beschreiben

● durch geeignete Modularisierung Abhängigkeiten (insbesondere Zyklen) zu minimieren

Page 16: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1616

Architektur von BS-Familien● Welche Architekturtreiber gibt es?

● Welche Entwurfsprinzipien sind zu beachten?

● Welche Form der Modellierung ist geeignet?

Page 17: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1717

Architekturtreiber für BS-Familien● Konfigurierbarkeit

● geringer Konfigurationsbedarf innerhalb der Komponenten

● große Variabilität (viele Alternativen)

● feine Granularität (in kleinen Stufen Funktionen weglassen können)

● minimaler Ressourcenverbrauch

● keine Voraussetzungen hinsichtlich Infrastruktur● z.B. keine Interprozesskommunikation

● Beherrschung der Komplexität durch Abstraktion

● ? Echtzeitfähigkeit ?

● ? Fehlertoleranz ?

Page 18: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1818

Beispiel – FAMOS [2]

address spaces

process managem.

synchronization

address space creat.

process creation

disk i/o

swapping

file systems

special devices

job control languageuser interface

a time sharing system a batch system

a process control system

hardware

Habermann, 1976

Page 19: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 1919

Familienbasierter Entwurf (1)

„Rather than write programs that perform the transformation from input to output data, we design software machine extensions that will be useful in

writing many such programs.“

D. L. Parnas [3]

● die Grundlage von FAMOS

Page 20: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2020

Familienbasierter Entwurf (2)● „minimal subset of system functions“

● allgemeine Funktionen, die von den weiter spezialisierten Varianten benötigt werden

● implementieren Mechanismen in Form fundamentaler Grundbausteine

● „minimal system extensions“● Verwendung, Spezialisierung oder Anpassung der fundamentalen

Systemfunktionen

● Kapselung der strategischen und anwendungsspezifischen Entwurfsentscheidungen

● Schrittweise bottom-up entwickelt, aber top-down getrieben

● „decisions which restrict the family are postponed as far as possible“ [2]

Page 21: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2121

Familienbasierter Entwurf (3)● Pro:

● Konfigurierung durch Weglassen

● feingranulare Konfigurierbarkeit

● Contra:● viel Erfahrung und Weitblick nötig

● „minimale“ Erweiterungen erfordern viel Geduld

- modernere Ansätze versuchen, auch zu viel an Variabilität zu vermeiden

● konfigurierbare Funktionen werden nicht berücksichtigt

● querschneidende Belange und nicht-funktionale Eigenschaften lassen sich nicht darstellen

Page 22: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2222

Hierarchien im Systementwurf● Mehrere recht verschiedene Hierarchien können beim

Entwurf relevant sein:

● Modul-Hierarchie

● funktionale Hierarchie

● Benutzt-Hierarchie

● Relevanz hängt von der Architektursicht ab

● Untersuchung anhand eines gemeinsamen Beispiels

Page 23: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2323

Fallstudie – BS Speicherverwaltung● zur Vereinfachung besteht unser Beispielsystem nur aus

sehr groben Systemkomponenten:● garbage collector (system thread): sucht nach reserviertem, aber

unbenötigtem Speicher und gibt diesen frei

● memory manager: verwaltet die Freispeicherliste, reserviert Speicher auf Anforderung, ordnet reservierten Speicher Prozessen zu

● resource manager: stellt Synchronisation mit Semaphoren zur Verfügung

● process scheduler: verwaltet die Ready-Liste, stoppt, verdrängt und aktiviert Prozesse auf Anforderung

● clock driver: erlaubt den Entzug der CPU nach Ablauf einer Zeitscheibe

Page 24: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2424

Modul-Hierarchie (1)● Kanten sind die Aufrufbeziehungen zwischen Modulen

● (Kapselung für Zustand und dazugehörige Operationen)

process scheduler

clock driver resource manager

memory manager

application garbage collector

Page 25: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2525

Modul-Hierarchie (1)● Kanten sind die Aufrufbeziehungen zwischen Modulen

● (Kapselung für Zustand und dazugehörige Operationen)

process scheduler

clock driver resource manager

memory manager

application garbage collector

Koordinierung desZugriffs durch dieProzesse mit Hilfe desresource manager

Page 26: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2626

Modul-Hierarchie (1)● Kanten sind die Aufrufbeziehungen zwischen Modulen

● (Kapselung für Zustand und dazugehörige Operationen)

process scheduler

clock driver resource manager

memory manager

application garbage collector

Wie wird der resourcemanager und derprocess schedulergeschützt?

Page 27: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2727

Modul-Hierarchie (2)

● Obwohl die Unterbrechungssynchronisationsfunktion sehr wichtig ist, wird sie nicht dokumentiert

● „logische Funktionen“ fehlen in der Modul-Hierarchie, wenn sie nicht als „technische Funktionen“ realisiert sind

process scheduler

resource manager

wait signal

schedulesuspend

pushfcli

popf

Page 28: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2828

Funktionale Hierarchie (1)● beschreibt funktionale Abhängigkeiten zwischen den

Systemkomponenten● logische Beziehung statt Aufrufbeziehung

● Strukturen sind unter Umständen nur im Entwurf sichtbar

- „It is the system design which is hierarchical, not its implementation“ [2]

● der Entwurf abstrahiert von der Funktionsimplementierung● „Funktionen“ können z.B. Prozesse, Module, Prozeduren oder

Makros sein

● die technische Realisierung der Funktionen könnte sogar konfigurierbar sein

● alle (logischen) Funktionen werden in der funktionalen Hierarchie erfasst

Page 29: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 2929

Funktionale Hierarchie (2)● Unterteilt das System in Ebenen

● es werden keine Aussagen über die Interaktion zwischen den Ebenen gemacht

● Ebenen und Module sind prinzipiell unabhängige Konzepte

● die Ebene 0 repräsentiert die Funktionen der Hardware (reale Maschine)

● jede weitere Ebene 1 – n fügt eine neue virtuelle Maschine hinzu

● jede Ebene besteht aus statisch bekannten Funktionen

● alle Funktionen der Ebenen 0 – i sind in den darüber liegenden Ebenen j, mit i < j <= n, bekannt

Page 30: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3030

Funktionale Hierarchie (3)

process scheduler

clock driver

resource manager

memory manager

application

garbage collector

interrupt monitor

1

2

3

4

5

6IPC

enable/disable ints.

Page 31: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3131

Benutzt-Hierarchie (1)● beschreibt die Abhängigkeiten zwischen den (logischen)

Funktionen hinsichtlich Korrektheit

● „A benutzt B“ bedeutet hier, dass die „Korrektheit von A von der Verfügbarkeit einer korrekten Implementierung von B abhängt“

● dazu ist kein Aufruf nötig, z.B. bei Frameworks oder Interrupts

● da Korrektheit von der Implementierung und der Spezifikation abhängt, tut dies auch die benutzt-Relation

● trotz eines Aufruf benutzt A B nicht, wenn z.B. A trotz inkorrektem B immer seine Spezifikation erfüllt

Page 32: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3232

Benutzt-Hierarchie (2)

process scheduler

clock driver

resource manager

memory manager

application

garbage collector

interrupt monitor

1

2

3

4

5

6

7● Ebene 4: der interrupt monitor

muss die Integrität der krit.Abschnitte der höheren Ebenensicherstellen

● Ebene 2 u. 3: könnten„versehentlich“ aktiveSpeicherinhalte zerstören

● Ebene 1: der clock drivermuss den Prozessorzustandwiederherstellen

● der Zyklus muss aufgelöstwerden

Page 33: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3333

Sandwiching● Zyklische Benutzt-Relationen können durch Aufteilen einer der beiden

Funktionen aufgelöst werden

● memory manager wird memory manager & memory monitor● garbage collector wird garbage collector & garbage monitor

B

A

B2

A

B1

Page 34: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3434

Benutzt-Hierarchie mit Sandwiching

clock driver1

2

3

4

5

6

7

memory manager

garbage collector

interrupt monitor

process scheduler

resource manager

memory monitor

garbage monitor

application

8

9

memoryModul garbage

Modul

Page 35: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3535

Zusammenfassung● für eingebettete Betriebssystemfamilien bieten sich

aufgrund der nötigen Konfigurierbarkeit geschichtete Architekturen an

● je nach Architektursicht sollten man eine Benutzt- oder funktionale Hierarchie erarbeiten und daraus die Modul-Hierarchie ableiten

● Sandwiching hilft, Zyklen aufzulösen

● querschneidende Belange und nicht-funktionale Eigenschaften nicht direkt erfasst

● es gibt einen trade off zwischen Entwicklungsaufwand und Variabilität der Systemplattform

Page 36: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3636

Ausblick● Vertiefung der Modularisierungproblematik in Bezug auf

„querschneidende Belange“

● AspectC++ in Vorlesung und Übung

● Durchführung eines (Sub-)Domänenentwurfs in der Übung

● Untersuchung verschiedener Techniken zur Umsetzung von Variabilität in der Implementierung der Komponenten

● „Domänenimplementierung“

Page 37: (Aktuelle Forschungsfragen der eingebetteten ... · CV-Schätzung VP4 VP4 VP4 VP4 VP4 VP1 VP2 VP3 VP4 VP5 VP4 VP5 VP5. Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur

Betriebssystemtechnik: 04 – Domänenentwurf und Referenzarchitektur 3737

Literatur

[1] G. Böckle, P. Knauber, K. Pohl, K. Schmid (Hrsg.).

Software-Produktlinien. dpunkt.verlag, 2004.ISBN 3-89864-257-7.

[2] A. N. Habermann, L. Flon, and L. Cooprider.

Modularization and Hierarchy in a Family of OperatingSystems. Communications of the ACM,19(5):266-272, 1976.

[3] D. L. Parnas. Designing Software for Ease of Extension

and Contraction. IEEE Transactions on SoftwareEngineering, SE-5(2):128-138, 1979.