Tillbaka till Omgivningssimulator
Sida 26

6 Meddelandetyper

En meddelandetyp definieras av en sammansatt datatyp i XDR. XDR är plattformsoberoende och kan användas för beskrivning av -, och överföring av sammansatta datatyper på ett datornätverk. Meddelandetyperna kan indelas efter sändningssätt och innehåll. Varje Meddelandetyp associeras med en adress och en UDP-port.
Sun RPC innehåller ett program som heter rpcgen. Detta program läser XDR-kod och genererar kod i något målspråk (oftast C) för konvertering av datatyper mellan XDR och målspråkets datarepresentation på den dator på vilken målspråket är implementerat.
Nedan finns några exempel på Meddelandetyper baserade på innehållet i Appendix, avsnitt Data i meddelanden.

6.1 XDR-definition av Meddelandetyper, Unicast

Dessa datatyper innehåller information för styrning av en viss EXS's beteende, eller annan information som måste tolkas i EXS-SIM. En bakdörr för att tillåta central styrning av EXS, som kan vara användbar t.ex vid testning av C3-systemets reaktion på olika indata från sensorer med likartade funktioner (olika radartyper eller sonartyper), en s.k. planerad icke-konsistent omvärldsbild. Adressen är sättbar för alla Unicast-Meddelandetyper.

6.1.1 Order

Detta är ett exempel på en Meddelandetyp bestående av fem fält: Ett ID-fält och fyra datafält. ID-fältet avkodas av EXS och den operation koden står för utförs. De fyra datafälten kan innehålla indata till operationen. Detta är en dålig lösning eftersom ID-fältet måste avkodas av applikationen innan man vet om man kan utföra operationen. En bättre lösning skulle kunna vara att ha en Meddelandetyp för varje operation.

string ORDER_ADDRESS[12];
const ORDER_PORT = 400;
struct Order
{
int id;
int data1;
int data2;
int data3;
int data4;
};


Sida 28