Autor
|
Thema: Protokollierung einer Simulation (688 mal gelesen)
|
root66 Mitglied
Beiträge: 7 Registriert: 12.03.2007
|
erstellt am: 03. Apr. 2007 08:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, gibt es in Process Simulate eine Möglichkeit die Inhalte von Bausteinen und Methoden beim Simulationsablauf komplett auszulesen und zu protokollieren. Hintergrund: zu Präsentationszwecken würde ich mein Modell gerne komplett durchsichtig machen. D.h. ich möchte nicht nur die Ergebnisse als Berichte ausgeben, sondern alle hinterlegten Attribute, Parameter, Steuerungen, usw. der Simulation anzeigen lassen um eine Diskussionsgrundlage zu schaffen. Ist sowas möglich? Wenn ja, wie könnte man das umsetzen? Schönen Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
root66 Mitglied
Beiträge: 7 Registriert: 12.03.2007
|
erstellt am: 03. Apr. 2007 09:26 <-- editieren / zitieren --> Unities abgeben:
|
Homer Simpson Mitglied
Beiträge: 345 Registriert: 14.09.2005
|
erstellt am: 03. Apr. 2007 09:27 <-- editieren / zitieren --> Unities abgeben: Nur für root66
Wirklich alle Attribute anzuzeigen ist vermutlich keine so gute Idee, da dies ziemlich unübersichtlich wird. Die folgende Methode gibt alle Attribute des als Parameter übergebenen Objekts auf der Console aus. Wird an die Methode ein Netwerk oder ein Ordner übergeben, werden alle darin enthaltenen Objekte (inklusive Unternetzwerke) ausgegeben.
Code: (obj : object) is i : integer; t : table; Attr : string; Wert : any; do inspect obj.internalClassName when "Network", "NwObjFolder" then -- alle Objekte des Netzwerks/Ordners for i := 1 to obj.anzahlObjekte loop self.ausführen(obj.Objekt(i)); -- rekursiver Aufruf next; when "NwArc" then -- Kanten auslassen else -- alle Attribute des Objekts ausgeben print "------- ", obj, " -------"; t.create; obj.setzeAttributNamenInTabelle(t, true); for i := 1 to t.yDim loop Attr := t[1,i]; -- Bemerkung: Ein Attribut von Datentyp "time" kann ein Zeitwert oder eine Wahrscheinlichkeitsverteilung sein. -- Daher wird bei einem solchen Attribut zuerst versucht, die Verteilungsparameter als String auszulesen. if t[2,i] /= "time" or not executeSilent(sprint("(byref a:any):boolean is do a:= ",obj,".",Attr,".Typ + \" \" + ",obj,".",Attr,".holeAttr; return true; end;"), Wert) then Wert := obj.holeAttribut(Attr); end; print Attr, " : ", Wert; forget Wert; -- ermöglicht erneute Zuweisung mit einem anderen Datentyp next; end; end;
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
root66 Mitglied
Beiträge: 7 Registriert: 12.03.2007
|
erstellt am: 04. Apr. 2007 07:58 <-- editieren / zitieren --> Unities abgeben:
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|