Kravspecifikation (Sun SPOT)

Fra DAMNWiki
Spring til navigationSpring til søgning

Denne artikel er en begyndelse til rapportens kravspecifikation. Hvert større afsnit kan ses i indholdsfortegnelsen.

Generelle programkrav

Programmet skal have følgende basale funktionalitet.

  • Opstillinger skal kunne gemmes og hentes.

GUI

Den grafiske brugerflade skal minde om det program, vi lavede i ingeniørarbejde på første semester. Det betyder i store træk, at vi skal have en plade med sensorplaceringer samt kontrol af disse.

GUI'en skal både bruges til simuleringer med virtuelle sensorer samt konkret visualisering af en opsætning af sensorer. Den ene mulighed udelukker den anden. Vi kan således ikke både have konkrete sensorer samt simulererede sensorer i samme opstilling på grund af radiokommunikationsproblematikker.

Layout og funktionalitet

  • Blank baggrund i 2D som udgangspunkt.
  • Prikker som symboliserer sensorer i korrekt position - enten beregnet eller angivet manuelt.
Prikkerne kan have forskellige farver alt efter status (basissensor, simuleret sensor, sensor uden for rækkevidde)
  • Kommunikation symboliseres med pile.
  • Kontrolpanel til indstilling af parametre, herunder:
    • Tilføjelse af ny sensor, basissensor og basisstation.
    • Ændring af hver sensors position.
    • Ændring af radiostyrken på hver sensor.
    • Aflæsning af sensormålinger, accelerometer, lys og temperatur.
  • Koordinatsystem indlagt:
    • Akserne skal kunne slås til og fra.
    • Akserne skal kunne flyttes rundt på skærmen.
    • Basisstationen ligger altid i nulpunktet.
  • Der skal kunne zoomes ud og ind på et område.
En skala (1:1, 1:2 osv.) skal kunne defineres.
  • Ruten mellem alle sensorer skal til hver en tid kunne slås til og fra.

Potentielle udvidelser

  • 3D visualisering

Protokol

Kravspecifikationen for protokollen samt tilhørende program til kommunikation mellem sensorer.

Generelle krav

Basisstationen er udgangspunkt for kommunikation mellem alle sensorer. Basisstationen har kontakt med programmet, som bl.a. viser GUI'en samt står for de egentlige beregninger af position osv.

Protokollen er en integreret del af programmet for både basisstation og de enkelte Sun SPOTs. Den samme protokol benyttes både til konkrete opstillinger af et netværk med Sun SPOTs samt simulering af et netværk.

Sensor SPOTs

På hver SPOT forestiller vi os følgende funktionalitet for protokollen:

  • Viden om egen position i tre dimensioner.
Positionsbestemmelsen vil foregå via basisstationen. Metoden beskrives i artiklen positionsbestemmelse.
  • Viden om andre SPOTs inden for rækkevidde.
Hver sensor skal vide, hvilke andre sensorer, de potentielt kan kommunikere med. Det er ikke sikkert, at der skal kommunikeres med alle sensorer inden for rækkevidde. Det er f.eks. ikke tilfældet, hvis den anden sensor har mulighed for at kommunikere direkte med basisstationen.
Samtidig skal radiostyrken for hver sensor gemmes. Dette bruges til rutebestemmelse og positionsbestemmelse.
  • Viderekommunikation af basisstations meddelelser til andre SPOTs.
Hver sensor kunne sende relevant information videre til andre SPOTs, som ikke er i direkte kontakt med basisstationen. Dette kan f.eks. være ændringer i radiostyrke, forespørgsler om data og lignende.
  • Formidling af data fra andre SPOTs ind til basisstationen.
Hver sensor skal vide, i hvilken retning den skal sende information for at det når frem til basisstationen.
En sensor behøver kun at videresende data til en enkelt anden sensor i ruten til basisstationen. Denne enkelte sensor har speciel status.
  • Hver sensor skal med et fast defineret mellemrum sende et "ping" til basisstationen for at sikre forbindelsen. Dette ping foregår via den ifølge protokollen bestemte rute.

Basisstation

Basisstationen skal have følgende funktionalitet for protokollen:

  • Viden om egen position.
Basisstationen udgør referencepunktet/nulpunktet for hele sensornetværket.
  • Viden om alle sensorers positioner.
Dette punkt omfatter bl.a., at basisstationen også er klar over, hvilke sensorer der kan kommunikere med hinanden. Basisstationen kender ruten til hver enkelt sensor.
  • Viden om sensorer inden for rækkevidde.
I modsætning til de frie sensorer, vil basisstationen kommunikere med alle sensorer inden for dens rækkevidde. En undtagelse er, hvis en forbindelse er meget dårlig. I dette tilfælde kan en rute via en anden sensor være en bedre løsning.
  • Håndtering af fejlsituationer, herunder
    • Hvis en sensor ikke svarer = kommunikationsfejl.
Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket af fejlen.
  • Håndtering af udvidelser eller omrokeringer af netværket.
    1. En sensor flyttes til en anden position.
      Accelerometeret kan muligvis benyttes til at bestemme, om en sensor flyttes.
      Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket.
    2. En sensor fjernes manuelt (ikke kommunikationsfejl) fra netværket.
      Basisstationen skal beregne en ny rute til de sensorer, som bliver påvirket.
    3. En sensor genstartes.
      Svarer til, at en sensor fjernes og en ny tilføjes til netværket.
      Der vil opstå problemer, hvis sensoren bruges til en rute i netværket. I så fald skal denne rute genberegnes.

Positionsbestemmelse

Matematikken og teorien bag positionsbestemmelsen findes i artiklen Positionsbestemmelse (Sun SPOT). Dette afsnit omhandler de konkrete krav til programmet i forbindelse med positionsbestemmelsen.

Denne del af kravspecifikationen udarbejdes senere.