Next: 設定, Previous: MICSとは, Up: Top

## 2 シミュレーションモデル

MICSはシミュレーションの対象となるハードウェアエレメントのシミュレータ構成要素と，それを管理，駆動するエンジンからなる．

### 2.1 シミュレータ要素の基底とインターフェース

シミュレータ構成要素は，次の基底クラス`MicsElement`を継承したクラスとして実装され，また，その機能に応じて，ハードウェアユニットの機能を抽象化した次の4つのインターフェースから，ひとつあるいは複数を実装する．

- `ExecutableElement`
- `Channel`
- `DataBuffer`
- `ChannelConnectable`

#### 2.1.1 シミュレータ構成要素の基底

すべてのシミュレータ構成要素は，`MicsElement`を継承する．`MicsElement`は，エンジンで管理するための次の基本メソッドが定義されている．

`void initialize(java.lang.String id, org.w3c.Node node)`
  構成要素の初期設定を行う．シミュレーション構成で唯一の文字列であるIDと要素の設定を示すXMLノードを与える．実際には，このメソッドを子クラスでオーバライドする．ただし，`super.initialize(id, node)`として，親クラスのこのメソッドを呼び出さなければならない．
`String getInfo()`
  この構成要素の情報を返す．親クラスである`MicsElement`では，IDとクラス名を含む文字列を返す．継承した子クラスで任意の表示内容を返すことができる．
`String id()`
  この構成要素のIDを返す

#### 2.1.2 `ExecutableElement`

#### 2.1.3 `Channel`

#### 2.1.4 `DataBuffer`

#### 2.1.5 `ChannelConnectable`

### 2.2 データ構造