MUMPS

MUMPSとは、1960年代末にアメリカのマサチューセッツ総合病院で医療情報処理用のアプリケーションを開発し実行するために開発された、プログラミング言語とその環境である。

MUMPSという名前は、「Massachusetts general hospital Utility Multi-Programming System」 の頭字語である。

病院が自分達の業務を実装するために、高価なメインフレームではなく、ミニコンなどの比較的安価なコンピュータ上で軽快に動作するように開発した。オリジナルのソースコードこそ公開されてはいないが、仕様は全て公開して自由に利用できるようにしたため、一時期は複数のソフトウェアベンダーがMUMPS処理系の開発・販売をしていた。

MUMPSの処理系は、ハードウェアが直接実行可能な機械語コードを生成するのではなく、コンパイラは仮想マシンの中間言語コードを生成し、それをインタプリタ（仮想マシン）で実行する。また、ベースのプラットフォームの違いを仮想マシンのレイヤで抽象化し、プログラマには違いを意識させず、アプリケーションのポータビリティを保つ。

また、実行環境に専用のデータベース管理システム (DBMS) を内包し、かつ、その機能・性能がデータベース専用のソフトウェアに迫る・または凌駕するほど強力であるため、アメリカの医療界を通じて日本のみならず全世界の医療界でも広域に普及した。ただし、システム利用者・運用管理担当はパッケージソフトウェアに組み込まれたMUMPSを利用している場合が多いため、広く利用されている割に知名度は低い。

 M言語 
M言語 (M Language) は、MUMPSで動作するアプリケーションを記述するプログラミング言語である。(MUMPS用の開発言語であるため → M言語）

ISO/IEC11756 Information technology−Programming languages−MUMPSととしてISO規格となっており、日本では 「JIS X 3011:1995 プログラム言語 MUMPS」 として国家規格となっている。

なお、エクセルの  で使用するプログラミング言語も「M言語」と呼ばれるが、上記とは全く別のものである。

 MUMPSのデータベース 
 特徴(多分岐ツリー構造、スパース配列によるデータ格納により「多次元データベース」と称される。)

 近年のMUMPS 
かつてあった複数のMUMPSベンダーは、度重なる買収・合併の結果により、現在は数社のみ存在している（インターシステムズ社、F.I.S社等）。アプリケーション開発手法としてMUMPS/M言語そのものは医療業界以外に広く普及しなかった。

しかし、インターシステムズ社がMUMPSのDBMS部分を強化し、かつM言語以外の多言語（Java/C・C++/VBなど）、Web技術（XML/Webサービス）による短期開発 (RAD) 機能、データベースとしての運用管理機能（分散データベース、ログによる可用性向上）を強化して、多次元データベース「Caché」（キャシェと読む）として販売している。原理的に複雑なツリー構造となっているデータの検索や文字列処理が得意なので、データベース全体が巨大で見通しの悪いようなアプリケーションにおいて、より高いパフォーマンスが期待される。CSPと呼ばれるWebアプリ開発では、ホームページ制作ソフトとしてポピュラーなDreamweaverを画面エディタとして使えるのも、魅力的と言える。

「Caché」は現在医療分野のみならず、開発効率のよさと運用性能の高さにより、RDBMSの独擅場であった金融・製造・物流などの基幹業務など多岐にわたり採用されている。ODBCドライバが用意されているので、他のDBMSからの移行もさほど困難ではないだろう。

 関連項目 
Caché
GT.M
メルヴィン・コンウェイ

 外部リンク 
 日本Mテクノロジー学会
 インターシステムズ(米)
 インターシステムズジャパン社

MUMPS
Category:プログラミング言語