Projekt template Embedded Systems WS2019/Initiale Anforderungen: Unterschied zwischen den Versionen

Aus Verteilte Systeme - Wiki
Zur Navigation springen Zur Suche springen
Zeile 1: Zeile 1:
<!-- = Initiale Anforderungen = -->
 
 
 
== Initiale Anforderung ==
 
== Initiale Anforderung ==
   
[[:Datei:EM2019WSP12.pdf|Ursprüngliche Aufgabenstellung]]
+
[[:Datei:EM2019WSP14.pdf|Ursprüngliche Aufgabenstellung]]
   
 
== Rollen (Stakeholder) ==
 
== Rollen (Stakeholder) ==
   
  +
* (R01) Endanwender (Beaufsichtiger des Hühnerhauses)
* (R01) Entwickler (Entwickelt ein Gesamtsystem bei dem Laser in festen Intervallen getaktet werden und die Reflektion eines Laserstrahles durch optische Sensoren erfasst wird. Er programmiert einen Mikrocontroller der die erfassten Werte einem Midi Protokoll zuordnet und entwickelt eine Midi Schnittstelle zur Übertragung der Protokolle)
 
  +
* (R02) Huhn (Bewohner des Hauses)
* (R02) Tester (Testet das System auf Funktion und Sicherheit in Bezug auf den Endanwender)
 
  +
* (R03) Entwickler
* (R03) Endanwender (Musiker, welcher wohldefinierte Töne durch unterbrechen der Laserstrahlen mit seinen Händen erzeugt)
 
 
 
== Ziele ==
 
== Ziele ==
   
  +
* (Z01) automatisierter Toröffnung und -schließung
* (Z01) Entwicklung des Instruments, implementierung des Midi-Busses und Abspielen konkreter Oktaven
 
  +
* (Z02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls
* (Z02) Stufenlose Variation der Töne
 
  +
* (Z03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem)
* (Z03) Unfallverhütungsmaßnahmen durch z.B. Neigungssensor, Erschütterungssensor, Lichtschranke
 
  +
* (Z04) manuelle Bedienung und Datenausgabe über ein kleines Display
   
 
== Anwendungsfälle ==
 
== Anwendungsfälle ==
   
=== (UC01) Bau der Laserharfe durch R01 ===
+
=== (UC01) Türbedienung nach Helligkeit ===
 
[[Datei:EM18WSP15 UC01.png]]
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
+
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10}
|Der Entwickler wird zunächst die Laserharfe entwerfen und ein Grundgerüst bauen, an dem Laser, Sensoren, Lichtfilter und Objektiv montiert werden.
 
  +
|'''(UC01a) Öffnen der Tür'''
Er wird anschließend ein Programm zum zyklischen Ansteuerung der Laserdioden, sowie zur Auswertung der Sensordaten schreiben.
 
  +
Die Türsteuerung soll, nach Anbruch des Tages die Tür öffnen.
Weiter wird er ein Midi Protokoll implementieren und die zur Anbindung an einen Midibus notwendigen Widerstände bauen.
 
|[[Datei:EM2019WSP12_UC01.png]]
 
 
|-
 
|-
  +
|'''(UC01b) Schließen der Tür'''
  +
Die Türsteuerung soll sobald es draußen dunkel ist, vorausgesetzt alle Tiere sind im Stall, das Tor schließen, und überprüfen, dass es auch verschlossen ist. Wenn nicht alle Tiere im Stall sind oder die Tür nicht richtig verschlossen ist, soll auf das Problem aufmerksam gemacht werden.
 
|[[Datei:ESW18P50UC01b.png]]
 
|}
 
|}
   
=== (UC02) Testen des Gesamtsystems auf Funktion und Sicherheit durch R02 ===
+
=== (UC02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls ===
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
  +
|'''(UC02a) Hühner, welche den Stall verlassen oder betreten, sollen individuell getrackt werden, um sicherzustellen,dass sich bei Dunkelheit alle Tiere im Stall befinden.'''
|Der Tester testet die Permeabilität der Lichtfilter auf die gewünschte Wellenlänge (532 nm).
 
  +
Weiter testet er den zur Erfassung der Töne definierten Bereich des CCD Sensors.
 
 
|[[Datei:UC03a.png]]
Er testet die Übermittlung der Midi-Protokolle mit einem Keyboard, welches diese Protokolle empfängt und auswertet.
 
  +
|-
Zuletzt testet er Sicherheitskritische Zustände des Systems, die zur Verletzung des Musikers (R03) oder Dritter führen könnten.
 
  +
|'''(UC0) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren'''
|[[Datei:EM2019WSP12_UC02.png]]
 
  +
Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.
 
|[[Datei:UC03b.png]]
 
|-
 
|-
  +
|'''(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer'''
  +
Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.
  +
|[[Datei:UC03c.png]]
 
|}
 
|}
   
  +
=== (UC03) Musizieren auf der Laserharfe durch R03 ===
 
  +
=== (UC03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem) ===
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
  +
|'''(UC03a) Wiederverwendung von Code in Folgeprojekten'''
|Der Musiker erzeugt unterschiedliche Töne durch unterbrechen eines Laserstrahles auf einer variablen Höhe.
 
  +
Der Entwickler soll den in diesem Projekt entwickelten Code inbesondere die Profile LightLink und HomeAutomation in großen Teilen wiederverwenden oder erweitern können.
|[[Datei:EM2019WSP12_UC03.png]]
 
  +
|[[Datei:UC03a.png]]
 
|-
 
|-
  +
|'''(UC03b) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren'''
  +
Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.
  +
|[[Datei:UC03b.png]]
  +
|-
  +
|'''(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer'''
  +
Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.
  +
|[[Datei:UC03c.png]]
 
|}
 
|}
   
  +
=== (UC04) Bedienung des Displays ===
 
== Aktivitätsdiagramme für Anwendungsfälle ==
 
=== (AD01) Erkennen eines unterbrochenen Laserstrahls (UC03) ===
 
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
 
{| Border=1 style="border-collapse:collapse; width: 800px;" cellpadding=10
  +
|'''(UC04a) Konfigurieren je nach Hühneranzahl'''
|Die Laserharfe taktet die einzelnen Laserstrahlen mit einer für das Auge nicht sichtbaren Frequenz permanent durch.
 
  +
Der Endanwender soll die Anzahl der Hühner verändern können und die Zähler, wie viele Hühner sich im Stall befinden, zurücksetzen können.
Wird die Hand innerhalb eines gültigen Fensters in einen Strahl gehalten wird ein Großteil des Lichtes reflektiert und vom CCD Sensor erfasst.
 
  +
|[[Datei:UC02a.png]]
Nun wird die Information des gerade aktiven Strahls mit der des CCD Sensors kombiniert um das Ereignis einem Midi Protokoll (einem Ton) zu zu ordnen.
 
Schließlich wird das Protokoll über den Midi Bus an ein Angeschlossenes Gerät (Keyboard, Synthesizer oder ähnliches) gesendet, der darauf hin den im Protokoll definierten Ton spielt.
 
|[[Datei:EM2019WSP12_AD01.png]]
 
 
|-
 
|-
  +
|'''(UC04b) Manuelle Torbedinung'''
  +
Der Endanwender soll das Tor auch unabhängig von der Lichtsituation regeln können.
  +
|[[Datei:UC02b.png]]
  +
|-
  +
|'''(UC04c) Auslesen der Messwerte'''
  +
Der Endanwender soll die Temperatur und die Anzahl der Tiere im Stall ablesen können
  +
|[[Datei:UC02c.png]]
 
|}
 
|}
  +
  +
<!--
  +
* (UC01) Nutzung eines WieDAS-ZigBee-Knotens durch R01
  +
** (UC01a) Licht ein- und ausschalten
  +
** (UC01b) Licht dimmen
  +
* (UC02) Integration eines neuen Knotens durch R02
  +
** (UC02a) Festlegen der Knotenadresse des Endknotens
  +
** (UC02b) Konfiguration der Security-Features
  +
** (UC02c) Binding von Schalter-/Lampenpaaren auf ZigBee-Profilebene
  +
* (UC03) Nutzung der Realisierung durch weitere Entwickler R03
  +
** (UC03a) Wiederverwendung von Code in Folgeprojekten
  +
** (UC03b) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren
  +
** (UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer
  +
-->
  +
 
== Aktivitätsdiagramme für Anwendungsfälle ==
  +
* Ablauf der Schritte in Use Cases in Form von Aktivitätsdiagrammen, u.a. für UC02a/b/c
  +
...
   
 
== Detaillierte Anforderungen mit zugeordneten Zielen und ggf. Anwendungsfällen ==
 
== Detaillierte Anforderungen mit zugeordneten Zielen und ggf. Anwendungsfällen ==

Version vom 19. November 2019, 21:35 Uhr

Initiale Anforderung

Ursprüngliche Aufgabenstellung

Rollen (Stakeholder)

  • (R01) Endanwender (Beaufsichtiger des Hühnerhauses)
  • (R02) Huhn (Bewohner des Hauses)
  • (R03) Entwickler

Ziele

  • (Z01) automatisierter Toröffnung und -schließung
  • (Z02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls
  • (Z03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem)
  • (Z04) manuelle Bedienung und Datenausgabe über ein kleines Display

Anwendungsfälle

(UC01) Türbedienung nach Helligkeit

EM18WSP15 UC01.png

(UC01a) Öffnen der Tür

Die Türsteuerung soll, nach Anbruch des Tages die Tür öffnen.

(UC01b) Schließen der Tür

Die Türsteuerung soll sobald es draußen dunkel ist, vorausgesetzt alle Tiere sind im Stall, das Tor schließen, und überprüfen, dass es auch verschlossen ist. Wenn nicht alle Tiere im Stall sind oder die Tür nicht richtig verschlossen ist, soll auf das Problem aufmerksam gemacht werden.

ESW18P50UC01b.png

(UC02) Beobachtung der Anzahl der Tiere außerhalb und innerhalb des Stalls

(UC02a) Hühner, welche den Stall verlassen oder betreten, sollen individuell getrackt werden, um sicherzustellen,dass sich bei Dunkelheit alle Tiere im Stall befinden. UC03a.png
(UC0) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren

Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.

UC03b.png
(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer

Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.

UC03c.png


(UC03) Probleme im Betriebsablauf werden übermittelt(Warnlampe oder SMS-Modem)

(UC03a) Wiederverwendung von Code in Folgeprojekten

Der Entwickler soll den in diesem Projekt entwickelten Code inbesondere die Profile LightLink und HomeAutomation in großen Teilen wiederverwenden oder erweitern können.

UC03a.png
(UC03b) Entwicklung zusätzlicher Treiber für neue Sensoren/Aktoren

Der Entwickler soll neue Sensoren und Aktoren anbinden und für dieser Treiber neu entwickeln bzw. erweitern können.

UC03b.png
(UC03c) Analyse der Kommunikation mittels Netzwerk-Sniffer

Der Entwickler soll die Kommuniukation der entwickelten Endgeräte in einem Versuchsaufbau monitoren und analysieren.

UC03c.png

(UC04) Bedienung des Displays

(UC04a) Konfigurieren je nach Hühneranzahl

Der Endanwender soll die Anzahl der Hühner verändern können und die Zähler, wie viele Hühner sich im Stall befinden, zurücksetzen können.

UC02a.png
(UC04b) Manuelle Torbedinung

Der Endanwender soll das Tor auch unabhängig von der Lichtsituation regeln können.

UC02b.png
(UC04c) Auslesen der Messwerte

Der Endanwender soll die Temperatur und die Anzahl der Tiere im Stall ablesen können

UC02c.png


Aktivitätsdiagramme für Anwendungsfälle

  • Ablauf der Schritte in Use Cases in Form von Aktivitätsdiagrammen, u.a. für UC02a/b/c

...

Detaillierte Anforderungen mit zugeordneten Zielen und ggf. Anwendungsfällen

nf = nicht-funktional, f = funktional

  • (A01, nf) Nutzung von BitCloud als Entwicklungsbasis (Z01, Z02)
  • (A02, nf) Realisierung auf WieDAS-Knotenhardware (Z01)
  • (A02a, nf) Beschränkung auf verfügbaren Speicher der Hardware (Z01)
  • (A02b, f) Unterstützung der WieDAS-Knoten-Sensoren (Z03)
  • (A02c, f) Aktoransteuerung von WieDAS-Knoten aus (Z03)(UC01)
  • (A03, nf) Analyse der Kompatibilität von BitCloud mit anderen ZigBee-Umsetzungen (Z02)
  • (A04, f) Konfigurationsmöglichkeit für Knoten- und PAN-Adresse (Z01)(UC02a)
  • (A05, f) Elektrische Anbindung einer Lampe an WieDAS-Knoten (Z03)

...

Tests und Simulation

  • Inbetriebnahme der Hardware
    • WieDAS-Wandknoten (AVR-Mikrocontroller) und AVR Raven
    • ZigBee Sniffer
    • LED Lampe
    • Lüfter
  • Inbetriebnahme der Software
    • deCONZ Simulationssoftware für ZigBee
      • Coordinator
      • Binding
        • (DimmableLight <--> DimmerSwitcher)
      • Security Einstellung
    • BitCloud ZigBee Stack
  • Test der ZigBee-Implementierung (OnOff)
    • Implementierung des DimmableLights aus dem HomeAutomation-Profil (OnOff-Fuktionalität)
    • Simulation des Coordinators mit deCONZ
    • Simulation des DimmerSwitchers mit deCONZ
    • Bindig der ZigBee-Implementierung mit simuliereten Knoten
    • Security Einstellung
    • Simulation der Lampe durch einfache LED
  • Test der ZigBee-Implementierung (Dimmen)
    • Implementierung des DimmableLights aus dem HomeAutomation-Profil (Dimmer-Fuktionalität)
    • Simulation des Coordinators mit deCONZ
    • Simulation des DimmerSwitchers mit deCONZ
    • Bindig der ZigBee-Implementierung mit simuliereten Knoten
    • Security Einstellung
    • Simulation des Dimmens der Lampe durch Debug-Ausgabe
  • Vollständiger Test
    • Vollständige Implementierung des DimmableLight (OnOff- und Dimmer-Funktionalität)
    • Simulation des Coordinators mit deCONZ
    • Simulation des DimmerSwitchers mit deCONZ
    • Bindig der ZigBee-Implementierung mit simuliereten Knoten
    • Security Einstellung
    • Steuerung der LED-Lampe und Lüfters durch Mikrocontroller