OMG仕様のISO標準化について

OMGはコンソーシアムであり、そこで作成される標準仕様はコンソーシアムの標準に過ぎません。しかし、調整が出来ればISOに国際標準の候補として提案することが出来ます。この調整の相手は分野により、ISOのTCレベル(JTC1を含む)であったりSCレベルであったりします。アーキテクチャやモデリング関連ではISO/IEC JTC1の配下のどこかや、バーティカル(医療や製造業関連)分野の場合はそのTCなどが調整相手です。OMGはこれらの相手とリエゾン関係を結ぶところからISO標準化が始まります。

手続きの話はこのくらいにして、現在OMGから

  1. CORBA Core
  2. CORBA Interoperability
  3. CORBA Component
  4. UML 2.0 (2.1.2)
  5. Knowledge Discovery Metamodel

などが国際標準の候補として提案されJTC1/SC7で審議中またはこれから審議されるところです。OMGは他にも、用語関連、医療関連、製造業関連、宇宙関連など幾つかのTC/SCと連携して国際標準化を進めています。

OMG仕様を国際標準化することの意義は、前にも書きましたが、政府や民間の調達などで国際標準が定まっているとそれを実装した製品の優先度を上げざるを得なくなるということです。ただ、ISOはOMGとは構成要員が大きく異なるため、どれだけきちんとしたレビューになっているのか気にはなります。そしてそれ以上に、いまだに紙のサイズでA4等でなくレターサイズを使っていたり(重量単位や距離単位も違いますよね)する有力な国が存在するという現実は、これがどこまで実効的な話なのかと思わせる原因の一つです。

また企業によっては、OMGではなく、よりISOに影響力を持つECMA Internationalを経由してISOに国際標準候補の提案を仕掛けたりしていることが良く知られています(私も大昔対応に苦労した経験があります)。ISOを最後の目標にした場合には、幾つかのルートがあるため、最善な道を探る結果、いろいろな対応が見られるということです。

OMG仕様のISO標準化について

Meta Programming Systemについて

ちょっとマニアックな話題かもしれませんが、IntelliJ IDEで知られるJetBrains社からMeta Programming Systemのベータ版が公開されています。

  1. Meta Programming System

昨年末から気づいていましたが、ちょっと奥が深そうなので手を出さないでいました。しかし、Software Engineering Radioで紹介があったため改めて眺めているところです。

インタビューではMPSはプログラミング言語を拡張するためのシステムという言い方をしていましたが、これまでDSLと言う言葉で扱ってきた対象をプログラミング言語レベルからアプローチしようとしているもののようです。メタプログラミングが出来るプログラミング言語は昔からあって、LISPのマクロが初期のものとして有名です。

このようなアプローチ全般には既に名前が付いており、Language-oriented Programming と呼ばれています。もしグラフィカルなモデリングが今後行き詰まるようなことになったら、このような形態(モデリング2.0?)に進化・移行するのかも知れません。

Meta Programming Systemについて