Simulazione di entità simultanee

2

Considera la necessità di simulare un insieme di entità in modo accurato. Tutte le entità esistono in una linea temporale artificiale. All'interno dei "passaggi" di questa linea temporale, tutte le entità possono eseguire determinate operazioni. È imperativo che gli eventi a tempo, siano gestiti in modo accurato e non in ordine di elaborazione. Il threading così semplice non è una simulazione adeguata, né è procedurale attraverso tutte le entità.

L'elaborazione potrebbe essere lenta, la precisione è la chiave qui.

Ho alcune idee su come implementarlo da solo, ma molto probabilmente qualcosa di simile è stato fatto prima.

Esistono strutture disponibili per questi scopi? C'è qualche paradigma particolare più adatto?

AGGIORNAMENTO: esempio per chiarimenti

Esempio: A e B inviano un messaggio C allo stesso tempo. Supponiamo che l'invio del messaggio richieda tempo in base alla distanza e che entrambi siano alla stessa esatta distanza da C. C dovrebbe essere in grado di gestire questa azione come un 'evento' simultaneo, non basato sull'ordine di elaborazione se A verrebbe attraversato prima di B.

    
posta Steven Jeuris 24.02.2011 - 20:13
fonte

3 risposte

1

sembra una simulazione di eventi discreti

hai un programma di eventi per un numero arbitrario di entità; in ogni momento "tick" un'entità può intraprendere una o più azioni, inclusa la pianificazione di più azioni ai tick di ora futura

il ciclo di elaborazione principale passa semplicemente attraverso la timeline, saltando alla volta successiva in cui è programmata un'azione

la parte non chiara di questo è qual è il significato di (nel tuo esempio) avere C gestire il messaggio da A prima e poi B o in qualche modo interlacciare i due? Se la risposta di C a ciascun messaggio è un'altra serie di eventi discreti, allora C può semplicemente pianificare le risposte per A e B come un insieme di eventi discreti futuri.

risciacqua e ripeti

    
risposta data 02.04.2011 - 01:45
fonte
1

Sto utilizzando uno strumento chiamato DEVS-Suite per alcune ricerche sulle code scalabili. Con parole sue:

DEVS-Suite is a Parallel DEVS simulator with support for (i) automating design of experiments in combination with (ii) animating models and (iii) generating data trajectories at run-time. See CoSMoSim - it offers rich visual modeling, database, etc.

(DEVS è un acronimo per Discrete Event Simulation Specification).

Ci vuole del tempo per capire come usare, e mentre è documentato, la documentazione non ti dice tutto. D'altra parte, il framework di base è stabile.

La home page del progetto è: link e contiene una bibliografia di diversi articoli che la descrivono.

    
risposta data 28.04.2011 - 21:39
fonte
0

Potresti dare un'occhiata ai linguaggi di simulazione Verilog e VHDL. Se è possibile modellare la configurazione in queste lingue, sono disponibili buoni simulatori. Puoi inserire e inviare file di testo per guidare e monitorare il tuo modello.

    
risposta data 26.02.2011 - 11:48
fonte

Leggi altre domande sui tag