VAカーネルは、米国退役軍人省によって開発されたプログラム群であり、VistA病院情報システムにオペレーティングシステムおよびMUMPS実装に依存しない抽象化を提供します。これらのプログラム(MUMPSでは「ルーチン」と呼ばれます)は、ANSI標準MUMPSで記述されないことが想定されている唯一のプログラムです。
カーネルで使用されているMUMPS言語は驚くほどシンプルで、単一の言語(MUMPS)、単一のデータ型(文字列)、単一のデータ保存メカニズム(ディスク上に保存されるグローバル配列)、19個のコマンド、22個の関数で構成されています。MUMPSは、FortranやCOBOLよりもLISPに近い言語的ルーツを持つ記号言語です。このシンプルなソフトウェア層のおかげで、VistAソフトウェアアーキテクチャは、高抽象化レベルでの最小限のソフトウェア変更のみで、数十年にわたって変化するハードウェア環境に適応することができました。
CHCSシステムとRPMSシステムにもカーネルがあり、VA カーネルがVistAに対して提供するのと同程度のサポートをこれらのシステムに提供します。
VA カーネルは次の抽象化を提供します:
- メニュー管理(MenuMan)
- 電子メール、グループ会議、トランザクション処理(MailMan)
- ログインとアクセスのセキュリティ
- タスクのスケジュールとバッチ処理
- 入出力デバイス
- プロトコルとイベント処理
- 日付の処理と操作
- 数学および共通ライブラリ関数
参考文献
カーネルの設計に関するトム・マンネケのビデオインタビュー