MUMPS

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テクノロジー学会
インターシステムズ(米)
インターシステムズジャパン社

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。