Tillbaka till Omgivningssimulator
Sida 10
2 ESS
2.1 Övergripande beskrivning
ESS består av ett SimulatorLAN, ENS- och EXS-noder. LANet bör understödja broadcastsändning. ENS-nod(erna) hanterar en allmän omvärldsbild definierad som ett scenario innehållande objekt av olika slag, med olika egenskaper, och händelser på dessa objekt samt också "globala" händelser som insättning/borttagning av objekt m.m. Denna omvärldsbild förmedlas över LANet till EXS-noderna där informationen konverteras till ett utrustningsspecifikt format samt att information som inte skulle uppfattas av den "riktiga" utrustningen ej överförs till C3-systemet av EXS. En EXS-nod simulerar alltså en viss utrustning, t.ex en sensor, och får information om den omvärld som den delar med övriga EXS från ENS.
Vissa utrustningar, t.ex en kommunikationskanal, har möjlighet att påverka omgivningen. Dessutom kan central felhantering vara önskvärt för att slippa springa runt till varje enskild EXS-nod när något går fel. För att understödja detta ingår också en Client-Server-förbindelse mellan ENS och EXS. Denna är skriven i RPC/XDR och är sålunda enkelt utbyggbar. Denna Client-Server-förbindelse hanterar också viss nätadministration. Om inte RPC understödjs så kan motsvarande funktionalitet enkelt implementeras med något annat hjälpmedel.
ESS är tidssynkroniserat för att central felhantering ska fungera, samt för att möjliggöra distribuerad uppdatering (Se Appendix, avsnitt Distribuerad uppdatering).
ESS är tänkt att fungera med varierande antal EXS-noder som simulerar godtyckliga utrustningar. En EXS-nod ska kunna kopplas in när som helst och ENS ska enkelt kunna modifieras att tillhandahålla minst den information som begärts av EXS-noderna. Om informationen redan genereras i ENS vid tiden för inkopplingen ska ingen modifiering av ENS behövas, utan ENS ska kunna börja överföra informationen utan att pågående scenario ska behöva avbrytas.
2.2 Kommunikation
Kommunikation är det som huvudsakligen definieras i detta designförslag. Jag har försökt designa en modell för effektiv överföring av komplexa datatyper samtidigt som nätlasten hålls så låg som möjligt.
Över SimulatorLANet körs UDP/IP. Kommunikationen mellan ENS- och EXS-processerna i ESS-systemet kan indelas i fyra delar.
2.2.1 Client-Server förbindelse mellan ENS och EXS
En RPC-baserad Client-Server-modell används för att ge EXSerna en möjlighet att påverka den simulerade omvärlden och rapportera fel, samt för administrativa sysslor som Connect, Disconnect och Subscribe. (Se Client-Server gränssnitt)
2.2.2 Unicast
Central styrning av specifika EXS:er sker med hjälp av Order till en viss adress. (Se kapitlet Sändningstyper)
2.2.3 Broadcast
Hanterar tidssynkronisering, överföring av globala konstanter. (Se kapitlet Sändningstyper)
2.2.4 Multicast
En Multicast-modell används för att förmedla den omvärldsbild som EXSerna beställt i sina Indata-specifikationer. (Se kapitlen Sändningstyper och Indataspecifikation)
Sida 12