前回までは、「何も観測せず、何も出力しないシミュレーション」を考えていました。 次に考慮することは物理量とその値の出力方法です。
シミュレーション設計図
まず、シミュレーション設計図のサンプルを示しておきましょう。
前回のサンプルに加えて、物理量を観測するクラスとして PositionObservable、物理量の値を出力するクラスとして ConsoleOutputter が定義されているとしましょう:
public class PositionObservable implements ObservableSet{ //実装は省略 }
public class ConsoleOutputter implements DataOutputter{ //実装は省略 }
このとき、シミュレーション設計図は次のように書きます:
<?xml version="1.0" encoding="UTF-8"?> <simulation-schema xmlns="http://xmlns.org.waman/simulation/0.1"> <system class="RandomWalk1D"/> <init-params> <param name="Initial Position">100</param> </init-params> <iteration> <iteration-condition type="count" total="10"/> <output class="ConsoleOutputter" output-timing="final"/> </iteration> <observable-set class="PositionObservable"/> </simulation-schema>
- 物理量は <simulation-schema> 要素下の <observable-set> 要素で設定します。 兄弟要素をいくつでも書くことが出来ます。
- 出力方法は <iteration> 要素下の <output> 要素で設定します。 こちらも兄弟要素をいくつでも書くことが出来ます。
次回以降、それぞれの要素をもう少し詳しく見ていきましょう。