Swarmの主要部分にあたるのは、ソースディレクトリごとに1つずつ存在する一連のライブラリです。ディレクトリ構成を簡単に紹介しましょう。
lib, include, bin. インストールされたライブラリ、インクルードファイル, ヘルパーバイナリ。
src. Swarmライブラリのソースファイル。
defobj. Swarm流Objective Cプログラミングのサポートライブラリ
collections. コレクションライブラリ -- 他のオブジェクトを集めた様々なオブジェクト群
activity. スケジュール実行メカニズム -- つまり"プロセス"
objectbase. シミュレートされるオブジェクトの基底クラス -- つまり"エージェント"
space. 空間環境ライブラリ(現在は、2D空間がほとんどすべてサポートされています)。
random. 乱数ライブラリ
simtools. Swarmシミュレーションの開発に便利なツール群(非GUI)
simtoolsgui. 対話型の"GUI指向"シミュレーションに便利な追加ツール群
gui. グラフィカルインターフェイスライブラリ
analysis. データ処理に役立つオブジェクト群
ライブラリに加えて、別途配布される一連のサンプルSwarmアプリケーションがあります。これらのアプリケーションは、Swarmコードの最新ロードマップだと考えてください。Swarmでできることはそのほとんどがサンプルアプリケーションでデモンストレーションされます。以下に、最も重要なアプリケーションを紹介します。
template. テンプレートシミュレーション。コードは大したものではありませんが、Swarmプログラマが最初に利用するのに適しています。
tutorial. Swarmを使うための手順を追ったチュートリアル。チュートリアルは平凡な"C"のセルラーオートメーションの簡単な実装に始まり、Swarm Objective CでのGUI指向Swarmアプリケーションへと進みます。
heatbugs. Heatbugsは我々の標準アプリケーションであり、複雑な系です。コードにはSwarmプログラミングのガイドとなるように、一貫してコメントが付されています。
mousetrap. Mousetrapは、ピンポン玉を詰めこんだねずみ取りで一杯の部屋の離散事象シミュレーションです。わなの1つを引くとおそらく核分裂に似た連鎖反応が引き起こされます。このコードもすべてコメントが付されています。
market. MarketはもともとCで記述された遺産的なコードを、Objective-Cでくるんだサンプルです。古いコードをSwarmに変換する方法を示す意味はありますが、一般のSwarmプログラミングではあまり役に立ちません。