• 検索結果がありません。

パ ター ンを利用 したオブ ジ ェク ト管理 機構 の設 計 と実現

C++の 構 文 を変 更 を加 え て い る 。 主 な 変 更 項 目 を示 す と次 の よ うに な る

・ ポ イ ン タが な い ・多 重 継 承 が で き な い

● 計 算 子 の オー バ ー ロ.̲.̲ドが で き な い

●struct,union,enumが な い

これ ら は プ ロ グ ラ マ に よ る ミス を 軽 減 し、 不 正 ア ド レス 領 域 へ の ア ク セ ス を 制 限

す る 。 一

2.8.2Java開 発 環 境 の 現 状 と 問題 点

1996年3月 ま で に公 開 され た代 表 的 なJava開 発(支 援)環 境 に つ い て 分 析 す る 。 当初 、 開 発 環 境 はSunMicrosystem社 に よ り供 給 され たJDKの み しか 存 在 しな か っ た が 、 最 近 で は 多 様 な 開 発 環 境 が 発 表 され は じめ て い る。 そ れ ぞ れ の 環 境 は 、 そ の 動 作 方 式 に よ

り次 の2つ に 分 類 で き る。

1.各 プ ラ ッ ト フ ォー ム に 依 存 す る も の

各 プ ラ ッ トフ ォー ム 用 に 開 発 環 境 が 発 表 され て い る 。仮 にJava開 発 環 境 を新 し く 開 発 す る場 合 、Javaコ ンパ イ ラ や デ バ ッカ 等 を 含 め る た め に 、SunMicr・system 社 よ りJavaの ラ イセ ン ス を取 得 し 、各 機 種 用 の ネ イ テ ィブ コー ドに よ り開 発 環 境 を構 築 す る こ とが 必 要 に な って く る と考 え られ る 。 これ ら開 発 環 境 は 各 プ ラ ッ ト フ ォー ム の コー ドで 動 作 す る た め 、 速 度や 機 能(各 プ ラ ッ トフ ォー ム 独 自 の機 能 が 使 用 で き る た め)に つ い て は有 利 に 構 築 で き る 。 しか し な が ら、 す べ て の プ ラ ッ ト

フ ォー ム 上 で 同 様 な 環 境 を 提 供 す る こ と は 困 難 で あ る 。 な お 、SunMicrosystem 社 が提 供 して い るJDK自 体 は 機 種 依 存 の た め 、 こ の カ テ ゴ リ に含 ま れ る 。 2.Java言 語 を 用 い 開 発 され 、プ ラ ッ ト フ ォー ム に 依 存 しな い も の

Java言 語 自身 を使 用 し開 発 され 、 プ ラ ッ トフ ォー ム に依 存 せ ず に 動 作 で き る 。 そ の た め 、Java言 語 が 動 作 す る プ ラ ッ トフ ォー ム で あ れ ば 、 共 通 した 開 発 環 境 を 導 入 す る こ とが 可 能 と な る 。Javaを 使 用 して 開 発 され た 開 発 支 援 ツ ー ル の 代 表 に は 、

「Taikade」 を あげ る こ と が で き る 。 な お 、Javaで 開 発 され て い る た め 、 プ ラ ッ ト フ ォー ム 上 の ネ イ テ ィブ ツ ー ル よ り も処 理 速 度 上 不 利 に な る場 合 も存 在 す る 。 これ らの 開 発 環 境 の 支 援 目的 を 分 類 す る と以 下 の よ うに な る。 こ こ で あ げ る 開 発 環 境 は 以 下 の 目的 の うち 一 つ ま た は 複 数 を もつ 。1

4; ll コ ー ド再 利 用 の 促 進 ク ラ ス 階 層 の 整 理 とブ ラ ウ ジ ン グ に よ り、利 用 目的 に 添 った 既 存 コー ドの 再利 用 を促 進 す る 。 ク ラ ス の 継 承 構 造 か ら、 ま た は 、 ク ラ ス の 分 類 構 造 か ら の 検 索 を ソ フ トウエ ア に よ り支 援 し、 グ ラ フ ィカ ル な ユ ー ザ イ ン ター フ ェー ス を 採 用 す る こ と に よ り、 エ デ ィ タの み の 環 境 と比 較 して使 い や す くな って い る 。 ま た 、Taikade 等 で は履 歴 管 理 機 能 を付 加 す る こ と に よ っ て 、 開発 進 行 に対 応 した 再利 用 ・検 索 が 可 能 とな っ て い る 。

しか しな が ら、現 在 ま で 発 表 され たjava開 発 環 境 は 、管 理 手 段 が 「ク ラ ス と継 承 」 お よ び 「ユ ー ザ に よ る分 類 」 の み に しか 対 応 して い な い た め 、 協 調 して振 る舞 う ク ラ ス 群

34

{  輔 綿醐圏凹 圏■ ■■■■ ■■■ ■■ 圏 ■■ ■■ ■勝

等 に対 す る管理 が で きない 。ま た、「ユ ー ザ に よる分 類 」 は客 観性 に欠 け 、組 織 的 な 再 利 用 を促進 す る上 で問題 が あ る。

統合 的開発環 境 コンパ イ ラ、 リンカ 、デバ ッカ 、エ デ ィタを統合 す るこ とに よ り、一 つ 一つ の ツール が もつ能力 の合 計以上 の能 力 を引 き 出そ うとす るアプ ローチ で あ る。各 ツール が継 ぎ 目の ない密 な開発環境 を構 築 す るた め 、成 功すれ ば各 ツール の力 を最 大 限 に発 揮 で きる。 しか しなが らその構造 上 、 閉 じた環 境 に な りや す くユ己 ザ が新 しい ツー ル等 を追加 また は置換 す る こ とは難 しい 。

なお 、 この統 合的 開発環 境 は 、 しば しば グ ラフ ィカル な開発環 境 を伴 う。

ビジュアルプ ログラ ミング グ ラフ ィカ ル な概観 を もつ プ ログ ラムの作成 を支援 す る。

プ ログ ラマ はCRT上 でプ ログ ラムの外 見 を インタ ラ クテ ィブ に作成 で き、その 部分 に対 し動作 を記述 でき る。外 見のデザ インはプ ログ ラム コンポーネ ン トを配 置す る ことによ っ て行 うことがで きる。ただ し、現状 のjava開 発環境 で完全 にサポー トしている もの はない。

以 下 に 、1996年3月 ま で に発 表 され た 代 表 的 なjava開 発 環 境 を示 す 。

JDK(JavaDevelopeersKit)

Java言 語 に よ る 開 発 に 必 要 な ツ ー ル を ま と め た ツ ー ル キ ッ トで あ る 。SunMicrosystem 社 よ り リ リー ス さ れ た 。 こ の ツ ー ル キ ッ ト を 使 用 す る こ と に よ り、 ア プ レ ッ トやJavaア プ リ ケ ー シ ョ ン を 作 成 で き る 。

JDKに は 、 コ ン パ イ ラ 、 デ バ ッ カ(プ ロ ト タ イ プ)、 ア プ レ ッ ト ビ ュ ワ ー 、 サ ン プ ル ア プ レ ッ トが 含 ま れ る 。

JDKは 以 下 の プ ラ ッ ト フ ォ ー ム で 動 作 す る 。

Solaris2.x(SunOS5.x),Linux,BSDUnix,FreeBSD,且P/UX,IRIX,WindowsNT/Window 95,MacOS,ATX

JDKで はエ デ ィタ等 で作成 したプ ログ ラム をコマ ン ドラ イン上 で コンパ イル し、アプ レッ トビュワー で実行 す る。グ ラフ ィカル な開発 支援 環境 もな く、非常 に基 本的 な構成 とな ってい る。JDK自 体 は各 プラ ッ ト7オ ーム上 の もの を用意 す る必 要が あ るが 、作成 後 コンパ イル した プ ログ ラム はプ ラ ッ トフ ォーム非 依 存 で使用 で きる。

なお 、 コンパ イ ラについ て はJDK付 属 品以 外 に もサ ー ドパ ー テ ィか らさ らに高速 な

もの が 出 て い る。 、IJ

Taikade(元dejava,Theenvironmentinformallyknownasdejava)

ク ラ ス ブ ラ ウザ を 中 心 に 置 い たJava開 発 支 援 ツ ー ル 。 ソ ー ス の 履 歴 管 理 機 能 を持 つ 。 株 式 会 社PFU(町 田)に よ り開 発 され た フ リー ウ エ ア(ソ ー ス コ ー ド付 き)。

ク ラ ス ブ ラ ウ ジ ン グ機 能 を利 用 し、 コー ドを検 索 、 カ ッ トア ン ドペ ー ス ト等 を用 い 再 利 用 で き る 。 ま た ク ラ ス の 継 承 構 造(ハ イ ア ラー キ ー)を 表 示 で き 、 ク ラ ス の 再 利 用 を支 援 す る。 作 成 した ソ ー ス はTaikade上 で コ ンパ イル ・実 行 で き 、 コ ンパ イル エ ラー に つ

35

い て は ソー ス の 該 当 部 ヘ ジ ャ ン プ す る な ど の 機 能 を 持 っ 。 た だ しデ バ ッカ が な い た め 、 taikadeの 支 援 は コ ン パ イル ま で で あ り、 実 行 時 の デ バ ッグ 支 援 機 能 は な い 。

な お 、Taikadeの 操 作 環 境 は あ る程 度 の 視 覚 化 が 進 ん で い る が 、 プ ログ ラ ム の 構 成 要 素 を視 覚 的 に 構 築 す る こ と は で き な い 。

以 下 にTaikade付 属 ド キ ュ メ ン トか らTaikadeの 特 徴 を 抜 粋 した もの を示 す 。

●Javaの ソ ー ス フ ァ イル を プ レー ン テ キ ス トの ま ま 参 照 お よ び 修 正1

,← 脚7

● ク ラス/メ ソ ッ ドを べ 一 ス と したSmalltalkラ イ ク な ブ ラ ウ ザ

● 特 定 の ク ラ ス/パ ッケ ー ジ/プ ロ ジ ェ ク ト単 位 で の オ ン ラ イ ン コ ンパ イ ル

●main(String【Dを 持 つ ク ラス の オ ン ラ イ ン実 行

●AppletViewerを 用 い たAppletの 実 行

・grep,行 番 号 で の ジ ャ ン プ とい った フ ァイル ベ ー ス の ツー ル 群

●Smalltalkラ イ ク な 変 更 履 歴 管 理 機 構

・ プ ロ ジ ェ ク ト/パ ッケ ー ジ 単位 の デ フ ォル トヘ ッダ

●.propertiesフ ァ イル に よ る プ ロ パ テ ィー 設 定

SymantecEspresso(tm)

Windows95/NT用 の 開 発 環 境 。Symante『C++7.2.1へ のパ ッチ がdownloadで き る 。

JAVAMAKER

Win32上 のJava開 発 環 境 。 ク ラス ビ ュ ー ワ&エ デ ィ タ

Cosmo

SGI社 に よ るVRML,Java,JavaScriptの 統 合 開 発 環 境 。 視 覚 的 な 開 発 環 境 を もつ 。

●Javaラ ン タ イ ム イ ン タプ リ タ お よ び コ ン パ イ ラ

● グ ラ フ ィカ ル ソ ー ス デ バ ッガ

● ビジ ュ アル ソ ー ス ブ ラ ウザ ド

11i.i)

●Webビ ジ ュ ア ル ビ ル ダ

●CosmoMotionEngineお よ びMediaBase(TM)ラ イ ブ ラ リ

36

...

JavaWORLD

Borland社 のJava開 発 環 境 。 現 在 は デ バ ッカ が 公 開 され て い る 。Borland社 のWeb ペ ー ジ 上 で の ア ン ケ ー ト調 査 の 項 目か ら推 測 す る と 、将 来 、 同社 のjava開 発 環 境 は 以 下

の よ うな 項 目を 考 慮 に 入 れ て くる と考 え られ る 。

● デ ー タベ ー ス と の 連 携(リ レー シ ョナ ル お よ び オ ブ ジ ェ ク ト指 向 デ ー タベ ー ス) :1 1

● コ ン ポ ー ネ ン トを利 用 した プ ロ グ ラ ミン グ(OCX、 ア プ レ ッ ト)

● 同 社 のパ ス カ ル コ ンパ イ ラDelphiと 同 様 な 、プ ログ ラ ム を 視 覚 的 に構 築 す る技 術

● ビジ ュ ア ル な 開 発 環 境

2.8.3Visual開 発 環 境

Visua1開 発 環 境 と言 っ た 場 合 、 以 下 の2つ の 意 味 が あ る 。 1)操 作 環 境 が ビ ジ ュ ア ル

2)操 作 対 象 が ビ ジ ュ アル

1)の 操 作 環 境 が ビ ジ ュ アル で あ る ツー ル は 、 ウ イ ン ド ウ シ ス テ ム の 普 及 に よ り一 般 的 に な った 。2)の 操 作 対 象 が ビ ジ ュ アル で あ るプ ロ グ ラ ミン グ 環 境 は 最 近 に な っ て 商 用 シ ス テム で 見 られ る よ う に な っ て き て お り、 商 業 的 に 成 功 して い る プ ログ ラ ミ ン グ 環 境 も存 在 す る 。

この 操 作 対 象 が ビ ジ ュ アル で あ る プ ロ グ ラ ミン グ 環 境 で は 、 対 象 プ ロ グ ラ ム 構 成 要 素 の オブ ジ ェ ク トを 適 切 に 配 置 あ る い は 適 切 な タ イ ミン グ で 生 成 消 滅 させ る 。 ま た そ れ ら オブ ジ ェ ク ト同 士 を適 切 に 協 調 作 用 させ る こ と に よ っ て シ ス テ ム を動 作 させ る 。協 調 動 作 は シ ス テ ム 内 の 各 オ ブ ジ ェ ク トが 提 供 す るサ ー ビ ス を組 合 わ せ る こ とに よ っ て 行 う。

IvarJacobs・nの 分 類 【Jacobs・n19921に よ る と 、 シ ス テ ム 内 に 存 在 す る オブ ジ ェ ク ト は 以 下 の3種 類 に分 け られ る 。

1.イ ン ター フ ェー ス オ ブ ジ ェ ク ト

シ ス テ ム外 部 と の 連 係 を 取 る オブ ジ ェ ク ト。外 部 デ ー タベ ー ス エ ー ジ ェ ン トやGUI 部 品 オブ ジ ェ ク ト等 が 含 ま れ る 。

2.エ ン テ ィテ ィ オブ ジ ェ ク ト

構 築 しよ う と して い る も ん だ 磯 の も の の 本 質 を表 現 して い る オブ ジ ェ ク トで あ り、

ユ ーザ イン タフ ェー スや 表層 的 なアプ リケー シ ョンの都 合 に よって影 響 騨 ない 部 分 で あ る。

3.コ ン トロ ー ル オ ブ ジ ェ ク ト

上 記2層 に 挟 まれ エ ン テ ィテ ィ オ ブ ジ ェ ク ト上 に 定 義 され た サ ー ビス を 利 用 し、 ア プ リケ ー シ ョ ン が 必 要 とす る よ り高 度 な機 能 を 実 現 す る 。

ビジ ュ アル プ ロ グ ラ ミン グ で は 上 記 の う ち 、お も に イ ン ター フ ェー ス オブ ジ ェ ク トに つ い て 部 品 化 され 、視 覚 化 され る こ とが 多 い(ボ タ ン 、 リス トボ ッ ク ス な ど)。 こ の 部 品 化 オブ ジ ェ ク トは 外 界 に 対 し以 下 の3つ の イ ン ター フ ェー ス を持 つ べ き と考 え られ て い る 。

37

関連したドキュメント