Das lernst du heute
- Anforderungen sammeln
- Geräteliste
- Namensschema
Die letzten Wochen des Jahres gehören einem Großprojekt: einer Basisautomation mit Lebenserhaltung, Energie, Produktion, Logistik und einer Zentrale. Wer so etwas einfach drauflos baut, hat nach drei Abenden fünf Chips, die sich gegenseitig ins Gehege kommen. Deshalb beginnt die Arbeit mit Papier.
Anforderungen sammeln
Schreib auf, was die Anlage tun muss – kurz, prüfbar und nummeriert:
| Nr. | Anforderung |
|---|---|
| A1 | Alarm, wenn der Druck eines Raums unter 90 oder über 110 kPa liegt |
| A2 | Alarm, wenn der Sauerstoffanteil unter 19 % fällt |
| A3 | Alarm, wenn der Sensor eines Raums fehlt |
| A4 | Eine Anzeige zeigt, wie viele Räume im Alarm sind |
„Prüfbar“ heißt: Zu jeder Zeile gibt es einen Testfall. „Die Luft soll gut sein“ ist keine Anforderung, „Sauerstoff mindestens 19 %“ schon. Die Nummern tauchen später im Code als Kommentar auf – so sieht man, welche Zeile welche Anforderung erfüllt.
Trenn dabei drei Sorten: was die Anlage muss, was schön wäre und was nie passieren darf. Die dritte Liste ist die wichtigste. Aus ihr werden die sicheren Zustände.
Die Geräteliste
Jedes Gerät bekommt eine Zeile: Raum, Aufgabe, Prefab, Name im Spiel. Die Liste ist die Bauanleitung für die Basis und der Kopfkommentar für die Chips. Was nicht in der Liste steht, wird nicht gebaut – und was gebaut ist, steht in der Liste.
Das Namensschema
Bei fünf Geräten reicht „Heizung“. Bei fünfzig nicht mehr. Ein Schema macht Namen vorhersagbar: Raum_Funktion für Geräte in Räumen, System_Wert für Schnittstellen.
| Name | Bedeutung |
|---|---|
| „Wohn_Luft“ | Gassensor im Wohnraum |
| „Labor_Alarm“ | Blinklicht im Labor |
| „LS_Status“ | Status der Lebenserhaltung |
| „EN_Puls“ | Lebenszeichen der Energie |
Mit dem Schema kann ein einziges Unterprogramm jeden Raum prüfen: Der Hauptteil übergibt nur die Namen, die Logik bleibt gleich.
sge alarm p P_MIN # A1: Druck nicht zu niedrig
sle tmp p P_MAX # A1: Druck nicht zu hoch
and alarm alarm tmp
sge tmp o2 O2_MIN # A2: genug Sauerstoff
and alarm alarm tmp
seqz alarm alarm # A3: NaN macht jede Pruefung falsch, also Alarm
Halte die Namen kurz und ohne Umlaute. Sie stehen dutzendfach in HASH("…"), und jedes Zeichen zählt gegen die 4096.
Übung
Aufgabe
Setz das Lastenheft A1 bis A4 um. Zwei Räume nach dem Schema: Sensoren „Wohn_Luft“ und „Labor_Luft“, Blinklichter „Wohn_Alarm“ und „Labor_Alarm“, Anzeige „Alarme“. Ein Unterprogramm raum prüft einen Raum, der Hauptteil ruft es für beide auf.
Hinweise
Hinweis 1
Hauptteil: anzahl auf 0, dann je Raum zwei move mit HASH("…") und jal raum.
Hinweis 2
Im Unterprogramm „alles in Ordnung“ prüfen (sge, sle, and) und am Ende mit seqz umdrehen. NaN fällt dabei von selbst in den Alarm.
Hinweis 3
add anzahl anzahl alarm zählt die Räume, j ra springt zurück.
Quiz
3 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden