2011-01-06 15 views
4

私はSimPyモジュールをPython用に使用しています。これはDiscrete Event Simulationです。さて、コードはかなり大きくなっており、相互に作用するかなりの数のプロセスが並行して発生しています。並列プロセスでシミュレーションを文書化する方法は?

文書化の点でこれを表示するにはどうすればよいでしょうか?クラス階層構造はプロセス間の相互作用を適切に捕捉せず、すべてのコードがSimPyモジュールから効果的に継承されるという事実を殆どすべての自動生成ソフトウェアが抱えているため、各クラスに対して完全なSimPyドキュメントが生成されます。

私はUMLのようなものを使うことができると思っていますが、それについてはあまり気にしていません。これは、キャプチャする必要があります:

  • プロセス
  • イベント
  • リソースを待っているプロセスを含むキュー(... :) /過疎取り込むことができる配列のよう
  • リソース(などとしていだから、基本的には一定の容量)

、ツールを文書化する任意のきちんとしたシミュレーションコード?

乾杯

答えて

2

UMLは、状態図とactivitiy図ならびにシーケンス図を有します。これらのいずれかが適切である。通常、図の組み合わせが必要です。

オブジェクトのクラスごとに1つの状態図。 http://en.wikipedia.org/wiki/State_diagram

オブジェクト間の特定の相互作用または共同作業を示すアクティビティ図またはシーケンス図。 http://www.agilemodeling.com/artifacts/activityDiagram.htmhttp://www.ibm.com/developerworks/rational/library/3101.html

クラス図とその関係の静的機能を表示するのにも適しています。 http://en.wikipedia.org/wiki/Class_diagram

「全体的なこと」は、しばしば文書化が困難です。

0

図と自己文章の組み合わせを使用してください。

Imho、あなたはUMLを使う必要はありません。非UML以外のものがあなたのメッセージをより明確で簡単な方法で運ぶ場合は、好きなものを使用してください。読者は、システムの意図が何であるか、その主なコンポーネントが何であるかgenerealアイデアを取得するように

また、すべての基本的な概念と短い要約を記述します。

各コンポーネントの詳細な記事を書き、他の記事との相互参照をしてください。

ヤコブカプラン・モスによる記事シリーズWriting Great Documentationは私をたくさん助けました。