DSLについて考えてみたり

Many syntaxes for one semantics
上のリンクでは、我々DCSのエンジニアにとっては非常になじみ深いラダーシーケンスロジックがDSL(Domain Specific Language)の例としてあげられています。
ラーダーシーケンスは、シーケンスロジックを記述するためのプログラミング言語で、PLC(Programable Logic Controler)の世界では一般的なプログラミング言語です。さてこのプログラミング言語がDSLだとすると、DSLの定義とはいかなる事になるのでしょう。考えられる定義条件は以下のようになるのでしょうか。
一般的なプログラミング言語(例えばC#)より抽象度が高い。
基本的に図をベースにプログラミング(目標を実現する手段)を行う
特定の用途や目的(特定ドメイン)を言語の対象としている。
こう考えると、DSLはOOA/DにおけるUMLの代わりと言うよりもMDAでのUMLに近いものであると考えた方が良さそうです。DSLは実行できると考えた方が良さそうです。タダ、Whitehorseの実装から考えるとそうでもないので、もう少し間口が広いのかもしれません。
また、取りあえずSoftware Factories本も呼んでないので激しくはずしているかもしれません。
結局名無しさん#さんへの回答にはならなかったようです。
_| ̄|○・・・はうぅ・・・

コメントを残す