kramann.info
© Guido Kramann

Login: Passwort:










Archiv
2 SoSe2022
..2.1 MIK
..2.2 SRT
..2.3 HDL
..2.4 AUT
..2.5 SLE
2 WS2020_21
..2.1 RTS
....2.1.1 day_by_day
..2.2 IE
....2.2.1 day_by_day
..2.3 ES
..2.4 EFSEE
....2.4.1 day_by_day
..2.5 KF
....2.5.1 day_by_day
....2.5.2 Haikus
....2.5.3 Haikus_en
..2.6 CC
....2.6.1 day_by_day
2 WS2021_22
..2.1 RTS
....2.1.1 day_by_day
....2.1.2 Versuch002
....2.1.3 Versuch003
....2.1.4 Versuch004
....2.1.5 Versuch005
....2.1.99 Material
..2.2 FTS
....2.2.1 day_by_day
..2.3 ESY
....2.3.1 day_by_day
..2.4 INFmecha5
....2.4.1 day_by_day
..2.5 REGmecha5
....2.5.1 day_by_day
2 WS2023_24
..2.1 day_by_day_RST
..2.2 day_by_day_SRT
..2.3 day_by_day_FTS
..2.4 day_by_day_KF
3 SoSe2021
..3.1 STR
....3.1.1 day_by_day
..3.2 SLE
....3.2.1 day_by_day
..3.3 HDL
....3.3.1 day_by_day
..3.4 MIK
....3.4.1 day_by_day
3 SoSe2024
..3.1 Mik_21_03_2024
..3.2 Mik_04_04_2024
..3.3 Mik_11_04_2024
..3.4 Mik_18_04_2024
..3.5 Mik_25_04_2024
..3.6 Mik_02_05_2024
..3.7 Mik_16_06_2024
..3.8 Mik_23_05_2024
..3.9 Mik_30_05_2024
..3.10 Mik_05_06_2024
..3.11 Mik_13_06_2024
3 WS2022_23
..3.1 day_by_day_RST_3MB
..3.2 day_by_day_RT2_5MT
..3.3 day_by_day_EMB_7MT
..3.4 day_by_day_ABP_7MT
..3.5 day_by_day_FTS_MMB
..3.6 day_by_day_KF
4 SoSe2023
..4.2 RTS_day_by_day
..4.3 MIK_day_by_day
..4.4 AUT_day_by_day
..4.5 HDL_day_by_day
4 WS2024_25
..4.1 ING_day_by_day
....4.1.1 ING_Do_26_09_2024
....4.1.2 ING_Do_10_10_2024
....4.1.3 ING_Do_17_10_2024
....4.1.4 ING_Do_24_10_2024
....4.1.5 ING_Do_07_11_2024
....4.1.6 ING_Do_14_11_2024
....4.1.7 ING_Do_21_11_2024
....4.1.8 ING_Do_28_11_2024
....4.1.9 ING_Do_05_12_2024
....4.1.10 ING_Do_12_12_2024
....4.1.11 ING_Do_19_12_2024
..4.2 INF_day_by_day
....4.2.1 INF_Fr_27_09_2024
....4.2.2 INF_Fr_04_10_2024
....4.2.3 INF_FR_18_10_2024
....4.2.4 INF_Fr_25_10_2024
....4.2.5 INF_Fr_08_11_2024
....4.2.6 INF_Fr_15_11_2024
....4.2.7 INF_Fr_22_11_2024
....4.2.8 INF_Fr_29_11_2024
....4.2.9 INF_Fr_06_12_2024
....4.2.10 INF_Fr_13_12_2024
....4.2.11 INF_Fr_20_12_2024
....4.2.12 INF_Fr_10_01_2025
..4.3 FTS_day_by_day
....4.3.1 FTS_Mi_25_09_2024
....4.3.2 FTS_Mi_02_10_2024
....4.3.3 FTS_Mi_09_10_2024
....4.3.4 FTS_Mi_16_10_2024
....4.3.5 FTS_Mi_23_10_2024
....4.3.6 FTS_Mi_30_10_2024
....4.3.7 FTS_Mi_06_11_2024
....4.3.8 FTS_Mi_13_11_2024
....4.3.9 FTS_Mi_20_11_2024
....4.3.10 FTS_Mi_27_11_2024
....4.3.11 FTS_Mi_04_12_2024
....4.3.12 FTS_Mi_11_12_2024
....4.3.13 FTS_Mi_18_12_2024
6 Ing
..6.1 Bauplan
....6.1.1 Bootstick
....6.1.2 Xubuntu
....6.1.3 Webserver
....6.1.4 Hotspot
....6.1.5 Videostream
....6.1.6 Lampe
....6.1.7 Chassis
....6.1.8 Akku
....6.1.9 Motore
....6.1.10 Laborsteckboard
....6.1.11 Antriebstest
7 007
..7.1 Einschalten
..7.2 Vorversuche
kramann.info
© Guido Kramann

Login: Passwort:




Inhalte zur Vorlesungswoche #7, Entwicklung fehlertoleranter Software für eingebettete Echtzeitsysteme im Wintersemester 2024/25

(EN google-translate)

(PL google-translate)

Beschäftigung im Falle einer Verspätung wie gehabt:
  • Arbeiten Sie sich in die Java-basierte Entwicklungsumgebung Processing ein.

Nutzen Sie chatGPT, um sich die Programme erklären zu lassen.



Sammeln Sie Fragen zur Programmentwicklung mit Processing.


processing.org
  • Gehen Sie dazu die folgenden Beispiele praktisch am PC unter Xubuntu durch:
78_Processing/02_Erste_Schritte
  • Gehen Sie in Processing die verschiedenen Testbeispiele aus den Libraries durch (z.B. Datei->Beispiele->Basics->Image->LoadDisplayImage).
  • Gehen Sie diesen Beitrag zu Objektorientierung mit Processing durch und sammeln Fragen dazu:
10_Informatik1/05_Softwareentwicklung/03_Objektorientierung
  • Versuchen Sie hier die Aufgabe 6.3 und später eventuell auch 6.4 zu lösen:
10_Informatik1/01_day_by_day/06_LV_06_05_2024

Themen heute:

  1. Quiz
  2. Präsentation und Diskussion zu: 9 Escalation von Gruppe B, 10 Fault Observer von Gruppe G und 11 Software Update von Gruppe F
  3. OOP / Modularisierung: Zusammenfassen von Daten und Methoden in einer Klasse
  4. Konkretisierung der Projektthemen und Start der Arbeit in den einzelnen Gruppen

1 Quiz

  • Erläutern Sie das Konzept "Maintenance Interface"
  • Nennen Sie Beispiele zu "Someone in Charge"

2 Präsentation und Diskussion zu: 9 Escalation von Gruppe B, 10 Fault Observer von Gruppe G und 11 Software Update von Gruppe F

  • Mit diesen letzten drei Präsentationen schließt die Erarbeitung der Fehlertoleranzpattern ab.
  • Nun kann die Umsetzungsphase beginnen.

3 OOP / Modularisierung: Zusammenfassen von Daten und Methoden in einer Klasse

Zur besseren Kontrolle über die erarbeiteten Teile in einem Software-Entwicklungsprojekt und auch zur leichteren Handhabung von Fehlertoleranzkonzepten, liegt es nahe, fertig erarbeitete, weitestgehend unabhängig vom Rest funktionierende Teile der Software in Klassen zu packen und fortan mit den aus ihnen erstellten Objekten zu arbeiten.

Als konkretes Thema wird das Erzeugen und mit Funktion-versehen von Schaltknöpfen (GUI) genommen:

  • In einem ersten Schritt wird eine Schaltfläche in die Methoden setup, draw und mouseClicked eingepflegt.
  • In einem zweiten Schritt wird eine Klasse Knopf erstellt, mit der es erleichtert wird, beliebig viele Schaltflächen zu erstellen. Die Abfrage, ob einer gedrückt wurde erfolgt mit "Polling" in der draw-Methode.
  • In einem letzten Schritt wird ein Interface definiert, bei dem es eine Methode "ausfuehren" gibt, die durch einen Knopf direkt kontrolliert werden kann.
  • Im Unterricht entstandene Programm:
Knopf001.zip -- Knopf prozedural
Knopf002.zip -- Knopf mit Klasse
Knopf003.zip -- Interface

Zur Ergänzung finden Sie auf diesen Seiten weitere Beispiele zur Verwendung von Klassen und Interfaces mit Processing:

Knopf-Beispiel vom vorangehenden Jahr: 02_WS2023_24/03_day_by_day_FTS
Anspruchsvolles Beispiel zu Interfaces mit Java: 30_Informatik3/15_Rasterlayout/02_interfaces
Hinweise zu OOP im Zusammenhang mit Fehlertoleranz: 81_FTSD/06_Seriell_Audio/06_Fehlertoleranz
Snippet, Dinge anfassen und verschieben: 92_Soundinstallation/03_material/11_Snippets/10_Interaction

4 Konkretisierung der Projektthemen und Start der Arbeit in den einzelnen Gruppen

  • Es soll eine erste Festlegung der Projektthemen in den einzelnen Gruppen geben.
  • Überlegen Sie sich, ob Ihr Thema Potential hat, mit Fehlertoleranz-Pattern in Verbindung gebracht zu werden.
  • Überlegen Sie sich, ob Ihre Anwendung interessant für Schüler*Innengruppen sein könnte und leicht ausprobiert werden kann. Stellen Sie sich die entsprechende Situation konkret vor.
  • Werden Sie in Hinblick auf die nachfolgend aufgeführten Bewertungskriterien gut abschneiden?
  • Nehmen Sie sich 10 Minuten und diskutieren Sie Ihr Thema innerhalb der Gruppen.
Bewertungskriterien für die Projektarbeiten:
  1. Mindestens zwei Fehlertoleranzpattern kommen zum tragen.
  2. Mindestens ein Fehlertoleranzpattern bedurfte eines größeren Extraaufwandes in der Softwareentwicklung und steht als eigene Klasse zur Verfügung.
  3. Das Projekt ist interessant für Schüler*Innengruppen, die die THB besuchen und hat pädagogischen Nutzen im Sinne von "Den Sinn von Technik kennenlernen".
  4. Das Projekt lässt sich gerade aufgrund der implementierten Fehlertoleranzpattern leicht von Dritten einrichten und benutzen.
  5. Die Umsetzung erfolgte weitestgehend in sinnvoller(!) Weise objektorientiert.
  6. Es liegt eine leicht verständliche, leicht zu befolgende Benutzeranleitung vor, anhand derer das Projekt auch bei der Präsentation vorgeführt wird.
  7. Die hochgeladenen Dateien sind funktionsfähig und enthalten eine leicht nachzuvollziehende Anleitung dazu, was zu tun ist, um das Projekt benutzen zu können.
  8. Das Projektthema macht insgesamt Sinn. (Anwendungsfall und Fehlertoleranz sind nicht an den Haaren herbei gezogen)
  9. Aus der Präsentation geht hervor, dass die Projektarbeit ausgewogen auf die Beteiligten verteilt war.
  10. Die gemeinsame Präsentation des Teams ist überzeugend, klar und verständlich und bezeugt glaubwürdig die Umsetzung aller weiter oben genannter Punkte.
  11. Das Projekt hat während der Präsentation einwandfrei funktioniert.
  12. Es konnte bei der Präsentation live das Greifen mindestens eines der Fehlertoleranzpattern gezeigt werden.
  13. Es liegt ein Handout vor, in dem die Präsentation schriftlich ausgearbeitet ist.
  14. Da, wo auf vorgefertigte Softwareteile und sonstige Arbeiten Dritter zugegriffen wurde, finden sich Quellenangaben im Handout.