EBS 2.1 Flashcards

Kapitel 1-3

1
Q

Was ist ein eingebettetes System?

A

Ein eingebettetes System ist ein Computersystem, das in ein anderes Produkt integriert ist und dort spezifische Aufgaben übernimmt. Beispiele sind Mobiltelefone, Antiblockiersysteme und Satellitensteuerungen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Warum gewinnt ein softwarebasierter Ansatz in der Entwicklung eingebetteter Systeme an Bedeutung?

A

Der Entwicklungsaufwand verlagert sich zunehmend von der Hardware zur Software, da softwarebasierte Ansätze eine höhere Flexibilität und Anpassungsfähigkeit bei Änderungen der Hardware bieten und die steigenden Funktionalitätsanforderungen besser erfüllen können.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie verbreitet sind eingebettete Systeme in der heutigen Technologie?

A

Laut einer Studie von 2002 werden etwa 98 % aller programmierbaren CPUs in eingebetteten Systemen verwendet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Welche Herausforderungen müssen Entwickler von eingebetteten Systemen meistern?

A

Entwickler müssen die steigende Komplexität bewältigen, die durch höhere Funktionalitätsanforderungen, die Verteilung von Rechnerknoten und neue Anforderungen wie die dynamische Rekonfiguration der Software während der Laufzeit entsteht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Welche neuen Anforderungen entstehen durch die Vernetzung eingebetteter Systeme?

A

Die Vernetzung erfordert eine umsichtige Konzeption, um das Zeitverhalten in einem verteilten, dynamisch konfigurierbaren System vorhersagbar und damit beherrschbar zu machen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Warum sind Abstraktionsmechanismen für eingebettete Systeme wichtig?

A

Abstraktionsmechanismen sind wichtig, um Hardware und Software zu entkoppeln und die Entwicklung auf der Ebene abstrakter Systemanforderungen zu ermöglichen. Dies macht die Entwicklung flexibler und anpassungsfähiger an verschiedene Hardwareplattformen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche interdisziplinären Ansätze sind notwendig, um die Herausforderungen in der Entwicklung eingebetteter Systeme zu bewältigen?

A

Synergien zwischen Softwaretechnik, formalen Grundlagen der Softwarekonstruktion sowie Elektro- und Regelungstechnik sind notwendig, um die Komplexität zu meistern und die Qualität der Systeme zu gewährleisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Welche Veränderungen in der Hochschulausbildung schlagen Broy und Pree (2003) vor?

A

Sie schlagen vor, Software- und Hardwarethemen adäquat in einem Curriculum zu kombinieren und die systematische, möglichst automatisierte Konstruktion von Software für eingebettete Systeme zu fördern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Wie unterscheidet sich die traditionelle Herangehensweise von modernen Ansätzen bei der Entwicklung eingebetteter Systeme?

A

Die traditionelle Herangehensweise fokussiert sich auf isolierte Kontroll- und Regelungsaufgaben mit optimaler Nutzung der Hardwareressourcen, während moderne Ansätze Softwareabstraktionen nutzen, um die Entwicklung zu rationalisieren und die Softwarequalität zu verbessern.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Was ist die langfristige Vision für die Entwicklung eingebetteter Systeme laut Broy und Pree (2003)?

A

Die Vision ist, von einer hardwarezentrierten Entwicklung zu einer anforderungszentrierten Entwicklung überzugehen, unterstützt durch intensive Forschung und eine angepasste Hochschulausbildung, die Softwaretechnik und formale Informatik mit Elektro- und Regelungstechnik kombiniert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Was ist ein Echtzeitsystem?

A

Ein Echtzeitsystem ist ein System, bei dem der Zeitpunkt der Ausgabe bedeutend ist und innerhalb einer definierten Zeitspanne garantiert bearbeitet wird.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Was ist ein Echtzeitbetriebssystem?

A

Ein Echtzeitbetriebssystem ist ein Betriebssystem, das Echtzeitverhalten aufweist und die zeitliche Reihenfolge der Prozesse (Scheduling) besonders berücksichtigt.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Welche Anforderungen werden an Echtzeitbetriebssysteme gestellt?

A

Echtzeitbetriebssysteme müssen deterministisches zeitliches Verhalten, schnelle Reaktion auf Interrupts, Multitaskingfähigkeit, prioritätsgesteuerte Prozesse, effiziente Interprozesskommunikation, Skalierbarkeit, Lastunabhängigkeit, Standardschnittstellen und die Fähigkeit zur Kommunikation mit nicht-echtzeitfähigen Systemen aufweisen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie ist das Betriebssystem strukturiert?

A

Ein Betriebssystem ist in mehrere Schichten eingeteilt: der Kernel, grundlegende I/O-Dienste, Kommunikations- und Netzwerkdienste sowie weitere Schichten je nach Anforderung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Welche Aufgaben erfüllt ein Betriebssystem?

A

Ein Betriebssystem verwaltet Hardware- und Software-Betriebsmittel, Prozesse, ermöglicht den Aufruf von Systemprogrammen und stellt Programmierschnittstellen bereit.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Worin unterscheiden sich Echtzeitbetriebssysteme von normalen Betriebssystemen?

A

Echtzeitbetriebssysteme gewährleisten die Reaktionszeiten des Gesamtsystems und haben oft keine komplexe Dateiverwaltung. Sie benötigen genaue Prozessmanagementsysteme.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Welche Prozesszustände gibt es?

A

Prozesszustände sind: generiert, bereit/lauffähig, aktiv, blockiert/suspendiert, terminiert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Was versteht man unter Scheduling?

A

Scheduling ist die Zuordnung einer Ausführungsreihenfolge zu einer gegebenen Menge von Prozessen/Tasks, um die Zeitbedingungen aller Tasks zu erfüllen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Welche Eigenschaften sollte ein Scheduler haben?

A

Ein Scheduler sollte Fairness, Effizienz, kurze Antwortzeiten, geringe Verweilzeiten, hohen Durchsatz und Terminerfüllung gewährleisten.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Was ist der Unterschied zwischen kooperativem und verdrängendem Multitasking?

A

Kooperatives Multitasking gibt die CPU freiwillig frei, verdrängendes Multitasking entzieht die CPU einem laufenden Prozess bei Bedarf.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Nenne einige Scheduling-Strategien.

A

Strategien sind First Come, First Served (FCFS), Round Robin (Zeitscheiben-Verfahren), Prioritätssteuerung und dynamische Prioritätsvergabe.

22
Q

Was ist VxWorks?

A

VxWorks ist ein Echtzeitbetriebssystem für Steuerungs- und Datenerfassungszwecke, das in eingebetteten Systemen verwendet wird, z.B. bei der US-amerikanischen Pathfinder-Mission zum Mars.

23
Q

Welche Eigenschaften hat VxWorks?

A

VxWorks bietet Multiprozessorfähigkeit, Shared Memory, VME-Bus-Unterstützung, Message Queues und dynamisches Linking von Objektdateien.

24
Q

Was ist der „Wind“-Kernel in VxWorks?

A

Der „Wind“-Kernel ist die Basis von VxWorks und stellt eine Multitasking-Umgebung sowie Mechanismen zur Interprozess-Kommunikation und Synchronisation bereit.

25
Q

Was ist der POSIX-Standard?

A

POSIX ist ein Standard, der die Portabilität von Applikationen auf Quellcodeebene durch eindeutige Schnittstellen gewährleistet. POSIX 1003.1b umfasst echtzeitspezifische sowie I/O-Erweiterungen.

26
Q

Was ist ein Echtzeitsystem?

A

Echtzeitsysteme sind Systeme, die korrekte Reaktionen innerhalb einer definierten
Zeitspanne produzieren müssen. Man spricht hier von dem Einhalten
einer Echtzeitbedingung. Wir unterscheiden dabei zwischen harten
und weichen Echtzeitbedingungen.

27
Q

Was ist eine harte und was eine weiche Echtzeitbedingung?

A

Unter einer harten Echtzeitbedingung versteht man eine zeitliche Bedingung,
die vom System stets erfüllt werden s muss, da eine auch nur gelegentliche
Verletzung erhebliche Folgen nach sich ziehen würde. In weichen
Echtzeitsystemen ist die Einhaltung solcher Bedingungen zwar wichtig, sie
funktionieren jedoch weiterhin korrekt, wenn diese gelegentlich verletzt
werden.

28
Q

Nennen Sie fünf Anforderungen, die an Echtzeitbetriebssysteme gestellt
werden.

A
29
Q

Was ist der Unterschied zwischen dem unterbrechenden und dem kooperativen
Scheduling?

A

Das unterbrechende Scheduling funktioniert wie folgt: Gibt es einen lauffähigen
Task mit einer höheren Priorität als die des eben laufenden Tasks,
so wird diesem die CPU entzogen, und dies, obwohl dieser eventuell noch
nicht vollständig abgearbeitet wurde. Das Gegenteil hiervon ist das kooperative
Scheduling: Hier gibt der Task freiwillig zu einem ihm passenden
Zeitpunkt die CPU wieder ab und ein anderer Task kann diese bei Bedarf
nun benutzen.

30
Q
A
31
Q

Nennen Sie vier Anforderungen an das Scheduling.

A

Ein Scheduler sollte folgende Eigenschaften erfüllen: Fairness, Effizienz,
kurze Antwortzeit, geringe Verweilzeit, hoher Durchsatz und akkurate Terminerfüllung.

32
Q

Warum sind spezielle Vorgehensweisen bei der Entwicklung von Softwaresystemen notwendig?

A

Bei der Entwicklung von Softwaresystemen sind spezielle Vorgehensweisen notwendig, da sie über die Standardtechniken des Projektmanagements hinausgehen und eine strukturierte und steuerbare Durchführung ermöglichen. Dies schließt auch die systematische Aufwandsschätzung und die Definition von Entwicklungsphasen ein.

33
Q

Nennen Sie Beispiele für Vorgehensmodelle in der Softwareentwicklung.

A

Beispiele für Vorgehensmodelle sind das Wasserfall-Modell, das allgemeine V-Modell, das spezielle V-Modell, der Rational Unified Process (RUP) und Extreme Programming (XP).

34
Q

Was ist ein signifikanter Nachteil des Wasserfall-Modells?

A

Ein signifikanter Nachteil des Wasserfall-Modells ist, dass das Testen als einmalige Aktion am Ende des Entwicklungsprojekts vor der Inbetriebnahme betrachtet wird, was besonders bei sicherheitskritischen eingebetteten Systemen problematisch ist.

35
Q

Was kennzeichnet das allgemeine V-Modell von Boehm?

A

Das allgemeine V-Modell von Boehm trennt konstruktive Aktivitäten von prüfenden Aktivitäten, wobei die Namensgebung aufgrund der V-Form der Aktivitäten erfolgt. Konstruktive Aktivitäten finden sich auf dem linken, absteigenden Ast, und die Testaktivitäten auf dem rechten, aufsteigenden Ast des V.

36
Q

Welche Ebenen behandelt das spezielle V-Modell des Bundes und der Länder?

A

Das spezielle V-Modell behandelt folgende Ebenen:

  1. Vorgehensweise („Was ist zu tun?“)
  2. Methoden („Wie ist etwas zu tun?“)
  3. Werkzeuganforderungen („Womit ist etwas zu tun?“)
37
Q

Warum ist die Aufwandsschätzung in Softwareprojekten wichtig?

A

Die Aufwandsschätzung ist wichtig, um die zur Projektdurchführung benötigten Kapazitäten zu schätzen und die Projektkosten vor dem Projektstart bestimmen zu können. Sie hilft dabei, genaue Vorhersagen zu treffen und Ressourcen effizient zu planen.

38
Q

Welche Methoden zur Aufwandsschätzung gibt es?

A

Es gibt vier Hauptkategorien von Methoden zur Aufwandsschätzung:

  • Expertenbefragungen
  • Vergleichsmethoden
  • Kennzahlenmethoden
  • Algorithmische Methoden
39
Q

Was sind die gängigsten Durchführungsarten von Expertenbefragungen?

A

Die gängigsten Durchführungsarten von Expertenbefragungen sind Einzelschätzung, Mehrfachbefragung, Delphi-Methode und Schätzklausur.

40
Q

Was ist der Vorteil von Vergleichsmethoden in der Aufwandsschätzung?

A

Der Vorteil von Vergleichsmethoden liegt in der Möglichkeit, sie bereits in der Frühphase eines Projekts einsetzen zu können, indem Erfahrungswerte abgeschlossener Entwicklungen unter Verwendung von Vergleichskriterien genutzt werden.

41
Q

Wie funktionieren Kennzahlenmethoden?

A

Kennzahlenmethoden beruhen auf dem systematischen Sammeln von projekt- bzw. produktspezifischen Messdaten von vergangenen Projekten, um daraus Kennzahlen abzuleiten, die zur Bewertung von Schätzgrößen des bevorstehenden Projekts verwendet werden.

42
Q

Was sind algorithmische Schätzverfahren und welche sind die bekanntesten Vertreter?

A

Algorithmische Schätzverfahren berechnen den Aufwand mithilfe mathematischer Formeln, die aus der statistischen Analyse historischer Daten entstanden sind. Die bekanntesten Vertreter sind CoCoMo und Function Point.

43
Q

Welche Veränderungen in der Software-Entwicklung berücksichtigt CoCoMo 2?

A

CoCoMo 2 berücksichtigt Veränderungen wie die objektorientierte Entwicklung, Client/Server-Systeme, Wiederverwendung von Systemteilen, Verwendung von CASE-Tools und die Entwicklung von Prototypen.

44
Q

Welche Neuerungen hat die IFPUG in die Function-Point-Methode integriert?

A

Die IFPUG hat die Function-Point-Methode durch Standardisierung, Verbesserung und Anpassung an die sich ändernde Software-Landschaft weiterentwickelt, insbesondere durch die Veränderung von Einflussfaktoren, um die Methode an objektorientierte Projekte anzupassen.

45
Q

Was sind Object-Points und welche Zählobjekte werden verwendet?

A

Object-Points sind eine Variante der Function-Point-Vorgehensweise zur Schätzung von objektorientierten Projekten. Die Zählobjekte umfassen Masken, Druckausgaben, Datentransfer und Verarbeitungsfunktionen.

46
Q

Was ist die Data-Points-Methode und wer hat sie entwickelt?

A

Die Data-Points-Methode wurde von H. Sneed entwickelt und basiert auf der Zählung von Data-Points für Objekte, Attribute, Nachrichten und Datensichten, die mit Qualitätsfaktoren multipliziert werden, um den Aufwand zu schätzen.

47
Q

Welche Vorgehensmodelle kennen Sie?

A

Unter anderem gibt es folgende Vorgehensmodelle: V-Modell, Wasserfallmodell,
Rapid Prototyping, Spiralmodell und agile Prozesse wie zum Beispiel
Extreme Programming.

48
Q

Welche Möglichkeiten gibt es, zum Projektbeginn den Aufwand der
Entwicklung abzuschätzen?

A

Unter anderem gibt es folgende Möglichkeiten, um zum Projektbeginn
den Aufwand der Entwicklung abzuschätzen: Function Points, CoCoMo,
Prozentsatzmethode, Analogiemethode, Expertenschätzung und Schätzklausur.

49
Q

Warum ist das V-Modell besonders als Vorgehensmodell für die
Entwicklung eingebetteter Systeme geeignet?

A

Das V-Modell ist besonders als Vorgehensmodell für die Entwicklung eingebetteter
Systeme geeignet, da es ein hohes Maß an Qualitätssicherung
vorschreibt, so zum Beispiel durch:
– die obligatorische formale Vorgehensweise
– die Erstellung zahlreicher Zwischenergebnisse (Dokumente usw.)
– Testaktivitäten auf verschiedenen Entwicklungsstufen
– ein eigenes Submodul zur Qualitätssicherung (QS)

50
Q

Erklären Sie das Submodell SE des V-Modells so prägnant wie möglich in
einem kurzen Satz.

A

Submodell SE des V-Modells = erweitertes Wasserfallmodell + Qualitätssicherung.

51
Q

Welche Kritikpunkte könnte man bei CoCoMo anbringen?

A

Folgende Kritikpunkte könnte man bei CoCoMo identifizieren:
– Es basiert auf der Anzahl der Programmzeilen im noch zu erstellenden
Quellcode. Dieser Wert ist vor der tatsächlichen Implementierung a
priori sehr schlecht schätzbar.
– Der Umfang der Programmzeilen hängt ggf. von der verwendeten
Programmiersprache sowie vom persönlichen Programmierstil des
Softwareentwicklers ab.
– Die zur Berechnung des Aufwands verwendeten Konstanten sind
nicht allgemeingültig und müssen ggf. auf ein bestimmtes Szenario
bzw. Unternehmen erst angepasst werden.
– Die Kosteneinflussfaktoren sind möglicherweise weder passend noch
vollständig für ein bestimmtes Szenario bzw. Unternehmen.
– Die statistische Basis der empirischen Analyse von Barry Boehm war
sehr gering (etwa 60 Projekte).