MUMPSとは
MUMPS(マンプス)は、1960年代後半にアメリカのマサチューセッツ総合病院で開発された、医療情報処理用の
プログラミング言語とその実行環境です。正式名称は「Massachusetts general hospital Utility Multi-Programming System」の
頭字語であり、病院が自らの業務システムを構築するために、高価な
メインフレームではなく、比較的安価なミニ
コンピュータ上で効率的に動作するように設計されました。
オリジナルのソースコードは公開されていませんが、仕様は完全に公開され、誰でも自由に利用できるようになっていたため、一時期は複数のソフトウェアベンダーがMUMPS処理系の開発・販売を行っていました。
MUMPSの仕組み
MUMPSの処理系は、ハードウェアが直接実行可能な
機械語コードを生成するのではなく、コンパイラが
仮想機械の
中間言語コードを生成し、それをインタプリタ(
仮想機械)で実行します。この仕組みにより、ベースとなるプラットフォームの違いを
仮想機械のレイヤーで抽象化し、プログラマはプラットフォームの違いを意識することなく、アプリケーションのポータビリティを確保できます。
また、MUMPSは実行環境に専用のDBMS(
データベース管理システム)を内包しており、その機能・性能は専用のDBMSソフトウェアに匹敵、あるいは凌駕するほど強力です。このため、アメリカの医療界を中心に、日本を含む全世界の医療業界で広く普及しました。しかし、システム利用者や運用管理担当者はパッケージソフトウェアに組み込まれたMUMPSを利用することが多いため、広く利用されているにもかかわらず、一般にはあまり知られていません。
M言語
M言語(M Language)は、MUMPS上で動作するアプリケーションを記述するための
プログラミング言語です。MUMPS用の開発言語であるため、M言語と呼ばれています。ISO/IEC11756として国際規格化されており、日本では「JIS X 3011:1995 プログラム言語 MUMPS」として国家規格となっています。
MUMPSのデータベース
MUMPSのデータベースは、多分岐ツリー構造とスパース配列によるデータ格納が特徴で、「多次元データベース」とも称されます。
近年のMUMPS
かつて存在した複数のMUMPSベンダーは、度重なる買収・合併を経て、現在では数社のみとなっています(例:インターシステムズ社、F.I.S社)。アプリケーション開発手法としてMUMPS/M言語そのものは医療業界以外には広く普及しませんでしたが、インターシステムズ社がMUMPSのDBMS部分を強化し、M言語以外の多言語(Java/C/C++/VBなど)、Web技術(XML/Webサービス)による短期開発(RAD)機能、データベースとしての運用管理機能(
分散データベース、ログによる可用性向上)を強化した多次元データベース「Caché」(キャシェと読む)を販売しています。
Cachéの特徴
「Caché」は、複雑なツリー構造を持つデータの検索や文字列処理に優れており、巨大で複雑なアプリケーションにおいて高いパフォーマンスを発揮します。また、CSPと呼ばれるWebアプリケーション開発では、ホームページ制作ソフトとして有名なDreamweaverを画面エディタとして利用できるのも魅力の一つです。
現在では、医療分野だけでなく、開発効率と運用性能の高さから、RDBMSが主流であった金融・製造・物流などの基幹業務システムにも採用されています。ODBCドライバも提供されているため、他のDBMSからの移行も比較的容易に行えます。
関連項目
Caché
GT.M
メルヴィン・コンウェイ
外部リンク
日本Mテクノロジー学会
インターシステムズ(米)
インターシステムズジャパン社