1 はじめに
2 SimpleModeler 2.1 SimpleModelerの機能 2.2 モジュール構成 2.3 SimpleModelerの動作 2.4 ホームページ
3 SimpleModelerのDSL 3.1 CSVから移入 3.2 状態機械 3.3 Scala DSLの効用 3.4 コンポーネント組み立てのDSL
4 Scalaの感想 4.1 DSLのホスト言語として 4.2 モデル・コンパイラの実装言語として
5 まとめ
1 はじめに
筆者がScalaでプログラミングを始めたのが昨年7月なので,かれこれ9カ月になりますが,筆者がこれまで使ってきた数々のプログラミング言語の中で最高に使いやすいというのが実感です。
この9カ月間Scalaでプログラミングしていたのは,Scala DSLを用いたモデル・コンパイラSimpleModelerです。SimpleModelerは,Scala DSLからJava,Grails,Google App Engineの実装やクラス図やステートマシーン図を含んだWeb仕様書を生成します。
本記事では,このSimpleModelerを素材に,Scalaを用いて何ができるのか,Scalaを用いると何がよいのか,という切り口でScalaを紹介していきたいと思います。
2 SimpleModeler
Scalaの話に入る前に,本記事で素材として使用するモデル・コンパイラSimpleModelerについて駆け足で説明していきましょう。
SimpleModelerは,SimpleModelingという筆者が整備しているオブジェクト・モデリング手法の構成要素の一つです。SimpleModelingでは,「Agile Modegramming for Cloud」(図1)をビジョンとして掲げています。
Modegrammingとは,テキストDSL(Domain Specific Language)&モデル・コンパイラによってモデリングとプログラミングを融合する技術です。「Aigle Modegramming for Cloud」はModegrammingによって,アジャイル開発,オブジェクト・モデリング,モデル駆動開発を束ね,来るべきクラウド・コンピューティングのアプリケーション開発の基盤技術として整備することを目指しています。
SimpleModelerは,ツールとして単体で使用することもできますが,SimpleModelingの土台の上で使用するとより高い効果を得ることができます。