2011-01-06 14 views
4

Ich habe das SimPy-Modul für Python - das Discrete Event Simulationen verwendet. Jetzt ist der Code ziemlich groß geworden und es gibt eine ganze Reihe parallel ablaufender Prozesse, die miteinander interagieren.Wie dokumentiert man Simulationen mit parallelen Prozessen?

Wie zeigt man dies am besten in Bezug auf die Dokumentation? Klassenhierarchiestrukturen erfassen die Interaktionen zwischen den Prozessen nicht angemessen, und fast die gesamte Software zur automatischen Generierung hängt davon ab, dass der gesamte Code effektiv vom SimPy-Modul übernommen wird. Daher wird für jede Klasse eine vollständige SimPy-Dokumentation generiert:

Ich stelle mir vor, etwas wie UML könnte von Nutzen sein, aber ich bin nicht zu sehr darauf hingewiesen. Es müsste erfassen:

  • Prozesse
  • Events
  • Queues (einschließlich Verfahren zur Herstellung von Ressourcen warten ... :)
  • Ressourcen (wie Arrays, die/entvölkerte usw. bestückt werden können und eine bestimmte Kapazität)

Also im Grunde jede saubere Simulationscode Dokumentationswerkzeuge?

Prost

Antwort

2

Das UML-Zustandsdiagramm und activitiy Diagramme sowie Sequenzdiagramme aufweist. Irgendwelche von diesen würden passend sein. Normalerweise ist eine Kombination von Diagrammen erforderlich.

Ein Zustandsdiagramm für jede Objektklasse. http://en.wikipedia.org/wiki/State_diagram

Aktivitätsdiagramme oder Sequenzdiagramme zum Anzeigen spezifischer Interaktionen oder Kollaborationen zwischen Objekten. http://www.agilemodeling.com/artifacts/activityDiagram.htmhttp://www.ibm.com/developerworks/rational/library/3101.html

Ein Klassendiagramm ist auch geeignet, statische Eigenschaften der Klassen und ihrer Beziehungen zu zeigen. http://en.wikipedia.org/wiki/Class_diagram

Das "Ganze" ist oft schwer zu dokumentieren.

0

Verwenden Sie eine Kombination aus Diagrammen und selbst geschriebener Prosa.

Imho, Sie müssen UML nicht verwenden. Wenn etwas Nicht-UML Ihre Nachricht auf eine klarere/einfachere Weise transportiert, verwenden Sie, was immer Sie möchten.

Schreiben Sie auch eine kurze Zusammenfassung mit allen grundlegenden Konzepten, damit der Leser eine generelle Idee bekommt, was die Intention des Systems ist und was seine Hauptkomponenten sind.

Dann schreiben Sie detailliertere Artikel über jede Komponente und Querverweis auf andere Artikel.

Die Artikelserie Writing Great Documentation von Jacob Kaplan-Moss hat mir sehr geholfen.

Verwandte Themen