倭マン's BLOG

くだらない日々の日記書いてます。 たまにプログラミング関連の記事書いてます。 書いてます。

物理量 & 出力方法 in シミュレーション設計図

前回までは、「何も観測せず、何も出力しないシミュレーション」を考えていました。 次に考慮することは物理量とその値の出力方法です。

シミュレーション設計図


まず、シミュレーション設計図のサンプルを示しておきましょう。 

前回のサンプルに加えて、物理量を観測するクラスとして 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> 要素で設定します。 こちらも兄弟要素をいくつでも書くことが出来ます。

次回以降、それぞれの要素をもう少し詳しく見ていきましょう。