Simulationsfehler und -warnungen diagnostizieren
Simulationsfehler und -warnungen diagnostizieren
Wenn eine Formel nicht so berechnet, wie Sie es erwarten, eine Act-Methode sich falsch verhält oder Sie versehentlich eine zirkuläre Abhängigkeit erzeugt haben, ist die Szenario-Diagnose Ihre Anlaufstelle. Es ist ein einzelner Tab, der die Frage beantwortet: "Ist dieses Szenario gesund?".
Wo Sie sie finden
- Wählen Sie ein Szenario im Modellnavigator
- Öffnen Sie das Eigenschaften-Panel
- Wechseln Sie zum Tab Diagnose
Der Tab ist leer, wenn alles in Ordnung ist. Sobald Probleme auftauchen, werden sie in Abschnitte gruppiert, damit Sie sie Kategorie für Kategorie beheben können.
Was Sie sehen
Zyklen. Zirkuläre Formelverweise — org.team_cost → team_a.cost → team_a.personnel_cost → org.team_cost. Jede Zeile zeigt die Kette, sodass Sie der Schleife folgen und entscheiden können, wo Sie sie aufbrechen. Häufige Ursache: zwei Eigenschaften, die den aktuellen Wert der jeweils anderen lesen. Häufige Behebung: Verwenden Sie auf einer Seite agent.get_prop("x", -1), um stattdessen den vorherigen Zeitschritt zu lesen.
Unaufgelöste Referenzen. Formeln, die auf einen Eigenschafts- oder Beziehungsnamen verweisen, den die Engine nicht auflösen kann — Tippfehler, umbenannte Eigenschaft, gelöschter Beziehungstyp. Die Engine greift für diese auf Baseline-Werte zurück, was zu überraschenden Ergebnissen führen kann, bis Sie sie beheben.
Laufzeitwarnungen. Fehler, die während des jüngsten Simulationslaufs aufgetreten sind: Division durch null, NaN oder unendlich, Typkonflikte. Jede Warnung nennt den Agent, den Zeitschritt und die Formel oder Act-Methode, die sie verursacht hat.
Autorenfehler. Syntaxfehler und unbekannte Namensverweise in Ihren Formeln und Act-Methoden, zusammengefasst, sodass Sie jedes fehlerhafte Skript an einer Stelle sehen.
Ein nützlicher Arbeitsablauf
- Zuerst Zyklen. Sie bewirken, dass jede abhängige Eigenschaft auf Baseline-Werte zurückfällt, und verschleiern damit andere Probleme. Brechen Sie den Zyklus auf und lassen Sie neu laufen.
- Dann Autorenfehler. Alles, was zur Parse-Zeit kaputt ist, muss behoben werden, bevor man Laufzeitwarnungen trauen kann.
- Dann Laufzeitwarnungen. Sobald Formeln sauber kompilieren, sind Laufzeitprobleme meist lokal begrenzt und leichter aufzuspüren.
- Zuletzt unaufgelöste Referenzen. Oft sind diese beabsichtigt und können bleiben; überführen Sie sie nur dann in ein strukturiertes Muster, wenn sie Probleme bereiten.
Tipps
- Ein Szenario kann teilweise gesund sein. Die Abschnitte sind unabhängig, sodass Sie einen funktionierenden Teil der Simulation ausliefern können, während Sie an einem problematischen Teil arbeiten.
- Der Diagnose-Tab zeigt nur Probleme für das aktuell ausgewählte Szenario. Wenn Sie mehrere Szenarien mit unterschiedlichen Überschreibungen haben, wechseln Sie nacheinander zu jedem.
Nächste Schritte
- Eigenschaftsformeln schreiben — Formeln gleich beim ersten Mal richtig hinbekommen
- Act-Methoden schreiben — wenn Formeln für eine einzelne Eigenschaft nicht ausreichen
- Verbundene Agents in Rhai lesen — Graphdurchlauf-Muster