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

JAIST Repository: PCTEによるCASEツールの統合とその応用

N/A
N/A
Protected

Academic year: 2021

シェア "JAIST Repository: PCTEによるCASEツールの統合とその応用"

Copied!
81
0
0

読み込み中.... (全文を見る)

全文

(1)

Japan Advanced Institute of Science and Technology

Author(s)

池田, 克則; 落水, 浩一郎

Citation

Research report (School of Information Science,

Japan Advanced Institute of Science and

Technology), IS-RR-96-0010S: 1-72

Issue Date

1996-03-18

Type

Technical Report

Text version

publisher

URL

http://hdl.handle.net/10119/8425

Rights

Description

リサーチレポート(北陸先端科学技術大学院大学情報

(2)

PCTEに

よ るCASEツ

ー ル の 統 合 とそ の 応 用

池 田 克 則 ・落 水 浩 一 郎 1996年3.月18日 IS-RR-96-OOIOS 北 陸 先 端 科 学 技 術 大 学 院 大 学 情 報 科 学 研 究 科 〒923-12石 川 県 能 美 郡 辰 口 町 旭 台15 [email protected] [email protected] OKatsunoriIkeda,KoichiroOchimizu,1996 1SSNO918-7553

(3)

要 旨

本論 文 では 、PCTE(PortableCommonToolEnvironment)を

用 いて 、商用CASEツ

ール

のデー タを統 合 す る手段 を論 じた もの であ る。様 々な統 合技術 の調査 及 び 開発 を紹介 し

つつ 、そ の結果 をStP/OMTとObjectCenterの

統 合 にま とめ る。上流 工程 と下流 工程 の

CASEツ

ール をデー タ統合 す る ことによ り、作業 の連続 性の保 証 と変 更の波及 の追跡 が容

易 に分 か るこ とが期 待 され る。本 論 文 で はそれ を交換 す るた め のス キー マ例 の結果 も示

す。 さ らに 、この ツール を用 いて実 際の ソ フ トウェアの開発 を行 ない 、それ に基 づい て統

合 ツール の問題 点 を分 析 しつつ 、 ツール統合 の あ りかた につい て提案 す る。

(4)

も く じ

1は じ め に 1.1研 究 の 背 景 と 目 的... ... 1.2本 論 文 の 構 成... ... 1 1 2 2PCTEに よ るCASEツ ー ル 統 合 技 術 2.1CASEツ ー ル 統 合 の 考 え 方... 2.2PCTEと は... ... 2.3PCTEに よ る ツ ー ル 統 合 の 手 順... ... 2.4CASEツ ー ル の デ ー タ イ ン タ フ ェ ー ス の 特 徴...。. 2.5PCTEに よ る デ ー タ 統 合 の 方 法... ... 2.5.1PCTEネ ー テ ィ ブ なCASEツ ー ル の 作 成... 2.5.2CASEツ ー ル の 移 植... 2.5.3リ ボ ス テ ィ ン グ... ... 2.5.4CASEツ ー ル の カ プ セ ル 化... ... 2.5.5EmeraudeTCIの 使 用... 2.6バ ー ジ ョ ン 管 理 の 導 入... .... 3 3 5 6 6 7 7 7 8 8 11 12 3StP/OMTとObjectCenterの 統 合 3.1StP/OMTと の 統 合... 3.1.1StP/OMTの デ ー タ イ ン タ フ ェ ー ス の 特 徴... 3.1.2統 合 の 問 題 点 及 び 解 決 策... 3.1.3ス キ ー マ の 作 成... 3.1.4StP/OMTの 統 合 方 式..。...。... 3.20bjectCenterの 統 合... 3.2.10bjectCenterの デ ー タ イ ン タ フ ェ ー ス の 特 徴... 3.2.2統 合 の 問 題 点 及 び 解 決 策...。..._.. 3.2.3ス キ ー マ の 作 成... 15 15 15 17 18 20 22 22 23 23 1 F  "欄 脚 剛一 醐 圏 ■繭 一 圏■■■■ 口■■■■■■■■■ ■■ワ

(5)

3.2.40bjectCenterの 統 合 方 式... 3.3デ ー タ 統 合 の 指 針... 3.3.1ス キ ー マ の 作 成 指 針... 3.3.2ツ ー ル 作 成 の 指 針...ド 4統 合 ツ ー ル の 評 価 4.1「 家 計 簿 シ ミ ュ レ ー シ ョ ン シ ス テ ム 」 に よ る 開 発 4.1.10MT法 に よ る モ デ リ ン グ... 4.1.2統 合 ツ.__._ル に よ る 実 装... 4.2統 合 ツ ー ル の 効 果 と 問 題 点... 4.2.1統 合 ツ ー ル の 効 果... 4.2.2統 合 ツ ー ル の 問 題 点... 4.3ソ フ ト ウ ェ ア 開 発 の 後 戻 り に よ る 問 題 点... 5お わ り に 謝 辞 参 考 文 献 A「 家 計 簿 シ ミ ュ レ ー シ ョ ン シ ス テ ム 」 の 問 題 BEmeraudePCTE管 理&操 作 マ ニ ュ ア ル B.1PCTEの 起 動... B.1.1serverの 起 動... B.1.2clientの 起 動... B.2PCTEの 終 了... B.3PCTEで のCプ ロ グ ラ ム 実 装 に つ い て... B.3.1ワ ー キ ン グ ス キ ー マ の 変 更... B.3.2オ ブ ジ ェ ク ト の 作 成... B.3.3オ ブ ジ ェ ク ト の 編 集... B.3.4オ ブ ジ ェ ク ト の コ ン パ イ ル... B.3.5オ ブ ジ ェ ク ト の 実 行... B.4ス キ ー マ の 定 義 に つ い て... B.4.1sds_design起 動 ま で の 準 備... B.4.2ス キ ー マ の 定 義... 11 26 27 27 27 30 30 30 34 34 34 36 39 44 46 47 49 52 52 52 53 54 54 54 55 56 56 57 57 57 57  梱蛸 凹 醐 蠣 騨 ■■■■圏 ■■ 闘■ ■繭 ■■■■ ■■■■ 勝

(6)

B.4.4 ., ス キ ー マ の コ ン パ イ ル.,... ... ス キ ー マ 図 の ポ ス ト ス ク リ プ ト 変 換... CEmeraudePCTEに よ る ツ ー ル 統 合 技 術 C.1は じ め に... C.2CASEツ ー ル 統 合 の 考 え 方... C.3PCTEに よ る デ ー タ 統 合 の 方 法... C.3.1PCTEネ ー テ ィ ブ なCASEツ ー ル の 作 成 C.3.2CASEツ ー ル の 移 植... C.3.3リ ホ ス テ ィ ン グ... C.3.4CASEツ ー ル の カ プ セ ル 化... C.3.5EmeraudeTCIの 使 用... C.4PCTEの バ ー ジ ョ ン 管 理... C.5お わ り に... 58 .58 sl .61 61 63 63 64 65 66 70 70 .71 111 {阿職 劇 ■臓 剛■■■口■■■■■■圏 ■■国 ■■圏■■■ 勝

(7)

図 一 覧

2.1 2.2 2.3 2.4 2.5 2.6 2.7 ト ー ス タ モ デ ル... カ プ セ ル 化 ツ ー ル... contents_getを 使 用 し た カ プ セ ル 化 ツ ー ル の 概 念... PCTE通 知 体 の 概 念...9。 。...。... notifierを 利 用 し た ツ ー ル 統 合 の 概 念... importメ カ ニ ズ ム の 概 念... PCTEの バ ー ジ ョ ン 管 理 の 概 念..。... 4 5 9 10 11 12 13 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 StP/OMTの 概=観... StP/OMTデ ー タ の 流 れ... Stp/OMTの フ ァ イ ル 構 成.。...。. 亀 StP/OMTス キ ー マ... Stp/OMTの 統 合 方 式...。... ObjectCenterの 概 観... ObjectCenterス キ ー マ... ObjectCenterの 統 合 方 式...。 。 16 17 18 19 21 22 24 26 4.1家 計 簿 シ ミ ュ レ ー シ ョ ン シ ス テ ム の オ ブ ジ ェ ク ト モ デ ラレ... 4.2家 計 簿 シ ミ ュ レ ー シ ョ ン シ ス テ ム の 動 的 モ デ レレ...。. 4.3家 計 簿 シ ミ ュ レ ー シ ョ ン シ ス テ ム の 機 能 モ デ ラ レ... 4.4StP/OMTで 作 成 し た オ ブ ジ ェ ク ト モ デ ル 図... 4.5StP/OMTの ク ラ ス テ ー ブ ル エ デ ィ タ... 4.6StP/OMTで 生 成 し た イ ン タ フ ェ ー ス フ ァ イ ル の 例(balance-happened.h). 4.7StP/OMTで 生 成 し た 実 装 フ ァ イ ル の 例(balance.11appened.c)... 4.8ソ フ ト ウ ェ ア 開 発 の 流 れ... 4.9変 更 の 影 響 の 伝 搬... 4.10依 存 関 係 を 考 慮 し た 新 し い ス キ ー マ... 31 32 33 35 36 37 38 40 41 43 1V ^醐 醐嘲劇■圏劇■ ■■■日■■■■圏■■■圏■■膨

(8)

B.2 B.3 Createobjectダ イ ア ロ グ... sds.designで 用 い ら れ る ア イ コ ン... C.1ト ー ス タ モ テ レ レ... C.2カ プ セ ル 化 の 概 念... C.3リ ボ ス テ ィ ン グ の 概 念... C.4contents.get関 数 を 用 い た カ プ セ ル 化 ツ ー ル の 概 念.。... C.5カ プ セ ル 化 ツ ー ルeviの プ ロ グ ラ ム...。... C.6PCTE通 知 体 の 概 念...,... C。7Stp/OMTの 統 合 方 式... 59 60 62 62 65 66 67 68 69 V '甲一 ■■■■■■膨

(9)

表 一 覧

2.1contents操 作 関 数 と そ れ に 対 応 す るfile作 関 数...8 2.2PCTEの バ ー ジ ョ ン 操 作...。...9...14 3.1StP/OMTで 使 用 す る オ ブ ジ ェ ク ト の 型...20 3.20bjectCenterで 使 用 す る オ ブ ジ ェ ク ト の 型...25 3.30bjectCenterで 使 用 す る キ ー...25 3.40bjectCenterで 使 用 す る 型 参 照 子...25 C.1contents操 作 関 数 と そ れ に 対 応 す るfile作 関 数...64 C.2PCTEの バ ー ジ ョ ン 操 作...71 V1

(10)

第1章

は じめ に

1.1研

究 の 背 景 と 目 的

近年 の ソフ トウェア開発 で は、ソ フ トウェアの品質 向上及 び開発 期 間の短縮 ・開発 要員

の削減1の た めにCASE(Computer-AidedSoftwareEngineering)ツ

ール を導入 す る機会 が

増 えて きてい る。 しか しなが ら、現在一般 的 に使用 されて いるCASEツ

ール は ソフ トウェ

ア生 産プ ロセ ス(仕 様 分析 →設 計→ コー デ ィング→デ バ ッグ)全 体 を支援 してい る訳 では

な く、それ ぞれ の作業 を支援 してい るに過 ぎない。すなわ ち、それ 自身のCASEツ

ール で

閉鎖 的 な環境 を構 築 してい る ものが 多 く、それ ぞれ のCASEツ

ール で生産 され るデー タ

を、直接 下流 工程 のCASEツ

ール で利 用 す るのが 困難 な場合 が多 い2。 下流工程 のCASE

ツール で使用 す るため には、デー タの フォー マ ット変換 ツール を作 成すれ ば良 いが 、ツー

ル 毎 に変 換 ツール を作成 しなけれ ば な らず 、す べ てのCASEツ

ール でデー タを利 用す る

ことは事 実上不可能 で ある。また 、あ る特定 のCASEツ

ール にお いては 、現在使 用 してい

る環境 で上流 工程 また は下流 工程 の ツール を使 用で き る とい った、ツール 間 の連 動 を考慮

した ものが存 在 す るが 、全 て のCASEツ

ール が連 動 で き る とい った汎用性 が あ る訳 で は

ない 。 さ らに 、下流 工程 のCASEツ

ール か ら上 流 工程 のCASEツ

ール に戻 って作業 を行

な うとい った 、作業 の後戻 りを考 慮 して い るCASEツ

ール は ほ とん ど見受 け られ ない3。

この よ うな問題 を解 決す るため には、デー タ統合 ・デー タの格 納 と管理 ・プ ログ ラムの

実行 ・ツール とユーザ 間の コ ミュニケー シ ョン ・ツール相 互 間の コ ミュニケー シ ョン とい っ

た機能 を含 んだ共通 の枠組(フ レー ムワー ク)が 必 要 にな る[1]。PCTEは

、開放型 リポ ジ

1開 発 費 用 の 削 減 が 主 な 目的 で あ る と考 え られ る aCDIF(CASEDataInterchangeFormat)と 呼 ば れ る 異 な る ベ ン ダ か ら提 供 され る ツ ー ル 間 でCASE情 報 を 交 換 す る た め の フ ォー マ ッ トがEIA(ElectricIndustriesAssociation)か ら提 案 され て い る が 、 ま だ 普 及 して い な い 。 3最 近 の い くつ か の ツー ル に は、 こ の よ うな 機 能 を 持 った も の も見 受 け られ る よ うに な って き た が 、ま だ 少 数 で あ る 。 1

…'一

(11)

トリのた めの共通 ツール イン タフェース標準 で あ り、CASEツ

ール が 高度 な統合 性 と可搬

性 を持 つ こ とを可能 にす るた めの 、共通 で標 準的 なサー ビス群 を定義 してい る。PCTEを

ツール統合 の フレー ム ワー クに採用 す る ことに よ り、デー タ統合 やデ ー タの格納や 管理 と

い った こ とが容 易 に行 な うこ とが で きる よ うにな る。

本研 究 では 、既存 のCASEツ

ール のデー タをPCTEを

用 い て統合 を行 な うた めの統合

技術 を開発す る と共 に、 ツール統 合 の指針 を提案 す る こ とを 目標 と してい る。

1.2本

論 文 の 構 成

本 稿 で は 、 第2章 でPCTEに よ るCASEツ ー ル 統 合 技 術 、 第3章 でStP/OMTと

ObjectCenterの ツ ー ル 統 合 、 第4章 で 統 合 ツ ー ル の 評 価 に つ い て 述 べ 、 第5章 で ま と

め る 。

2

(12)

第2章

PCTEに

よ るCASEツ

ー ル 統 合 技 術

2.1CASEツ0ル

統 合 の 考 え 方

CASEツ ー ル の 統 合 法 に は 、3種 類 の 方 法 が あ り、そ れ ぞ れ 以 下 の よ う な 特 徴 を 持 っ[2]。 1.デ0タ 統 合:ツ ー ル と 環 境 の 間 で の 情 報 の 共 有 2.制 御 統 合:環 境 内 の 個 々 の ツ ー ル 間 の 協 調 と通 信 制 御 の 共 有 3.表 示 ・操 作 統 合 ε環 境 内 で の ツ ー ル に よ る ユ ー ザ イ ン タ フ ェ ー ス の 共 有 こ の う ち 表 示 ・統 合 操 作 に 関 して は 、UNIXで 使 用 さ れ て い るXウ イ ン ド ウ シ ス テ ム 等 の ユ ー ザ イ ン タ フ ェ ー ス を 採 用 す れ ば 、 容 易 に 統 合 す る こ と が 可 能 で あ る 。 し か し な が ら 、 残 りの デ ー タ 統 合 や 制 御 統 合 に 関 し て は 、新 た な プ ラ ッ ト フ ォー ム を 採 用 しな け れ ば 統 合 す る こ と は で き な い 。 ECMA(EuropeanComputerManufacturersAssociation)とNIST(NationalInstituteof StandardsandTechnoligy)は 、「トー ス タモ デ ル 」 と呼 ば れ るCASE環 境 の 枠 組(フ レ ー ム ワ ー ク)を 提 唱 した 。図2.1に そ の 概 要 を 示 す 。 こ の モ デ ル は 、前 方 にUserInterfaceServices と呼 ば れ る 表 示 ・操 作 を 統 合 し た も の が 、 ま た 後 方 にObjectmanagementServicesと 呼 ば れ る デ ー タ を 統 合 し た も の が 存 在 して お り、 そ の 間 に はToolSlotsと 呼 ば れ る 部 分 が 存 在 す る 。 こ のToolSlotsは 、 トー ス タ に パ ン を 差 し込 む の と同 様 に 様 々 な ツ ー ル を 差 し込 む こ と に よ っ て 、UserInterfaceServicesとObjectmanagementServicesを ツ ー ル が 使 用 す る こ と が で き る こ と を 示 し て い る 。 す な わ ち 、 共 通 の 表 示 ・操 作 及 び デ ー タ を ツ ー ル で 共 有 す る こ と が 可 能 で あ る こ と を 示 し て い る 。 ま た 、 ツ ー ル の 連 動 と い っ た よ うな ツ ー ル 間 の コ ミ ュ ニ ケ ー シ ョ ン の た め に 、CommunicationServicesが 用 意 され て い る 。 こ れ は 、 制 御 統 合 が 可 能 で あ る こ と を 示 し て い る 。 こ の 状 態 で は 、ToolSlotsで 使 用 す る ツ ー ル は 、CASE環 境 の 枠 組 に 準 じ た ツ ー ル を 使 用 し な け れ ば な ら な い が 、 図2.2に 示 す よ う に 、CASE環 境 の 枠 組 に 準 じて い な い ア ブ 3

(13)

ObjectManagementServices

ToolSlots ProcessManagementServices UserInterfaceServices Window Window W直ndo脚 CommunicationServices 図2.1:

トー ス タモデル

4 `髄一 噸 糊 醐 ■一 ■闇 胴 ■■■圃 ■闘■ ■闇■■■■ ■■■■ 勝

(14)

Process Management and UserInterface ぺρδし 憩◎ §♂

Encapsulator Object Management Intertace ToolSlots Communication Interface 図2.2:カ プ セ ル 化 ツ ー ル

リケー シ ョン ツール をCASE環

境 の枠 組 で使用 で き るよ うにす るカプセ ル化 技術 を使用

す る こ とで 、既 存 のアプ リケー シ ョン も同 じCASE環

境 で使用 す る こ とがで き る よ うに

なる。

この よ うな 、CASE環

境 を実現 す るた めの フ レー ム ワー クの一 つにPCTEが

存在 す る。

2.2PCTEと

PCTEと は 、 可 搬 型 共 通 ツ ー ル 環 境(PortableCommonToolEnvironment)の 略 で 、 開 放 型 リ ポ ジ ト リ の た め の 共 通 イ ン タ フ ェ ー ス 標 準 で あ り、CASEツ ー ル が 高 度 な 統 合 性 と 可 搬 性 を 可 能 に す る た め の 共 通 で 標 準 的 な サ ー ビ ス 群 を 提 供 し て い る 。 こ こ で リポ ジ ト リ と は 、仕 様 書 や ソ ー ス コ ー ド、CASEツ ー ル 生 産 物 等 「オブ ジ ェ ク ト」 と 呼 ば れ る ソ フ ト ウ ェ ア 開 発 で 必 要 な デ ー タ を 格 納 し て お く場 所 で あ る 。 こ れ ら の オ ブ ジ ェ ク ト は 、 「ス キ ー マ 」 と 呼 ば れ る オ ブ ジ ェ ク ト情 報 と オ ブ ジ ェ ク ト 間 の 関 連 情 報 を 記 述 した も の に 従 い リ ポ ジ ト リ に 格 納 され る 。 そ の た め 、PCTEでCASEツ ー ル を 統 合 す る た め に は 、 目標 のCASEツ ー ル の オ ブ ジ ェ ク トの 関 係 を 表 現 した ス キ ー マ を 作 成 す る 必 要 が あ る 。PCTEで 用 い られ る ス キ ー マ は 、 ス キ ー マ 定 義 セ ッ ト(SDS:SchemaDefinition Set)と 呼 ば れ て お り、 ア プ リ ケ ー シ ョ ン 毎 に 定 義 し使 用 す る 。 こ の 時 使 用 し て い るSDS を 作 業 ス キ ー マ と 呼 ぶ1。PCTEで は 、 作 業 ス キ ー マ に含 ま れ て い な い オ ブ ジ ェ ク トは 参 照 で き な い と い う特 徴 が あ り、 これ は 作 業 に 不 要 な 情 報 を 隠 す(リ ポ ジ ト リ の フ ィル タ リ 1PCTE自 体 もス キーマ で表 現 され てお り、このスキー一マは必ず作業スキーマに加え られ ていなければ な らない 。 5

(15)

ン グ)と い う点 で 優 れ て い る 機 能 で あ る 。 ま た 、CASEツ ー ル を 統 合 す る た め の 共 通 で 標 準 的 な サ ー ビ ス 群 は 、Ada・C言 語[4]・ C++で プ ロ グ ラ ム で き る よ うに 定 義 され て お り、今 回 用 い たEmeraudePCTE2で はC言 語 も し くはesh3を 用 い てCASEツ ー ル の 統 合 プ ロ グ ラ ム を 作 成 す る こ と が で き る 。 2.3PCTEに よ る ツ ー ル 統 合 の 手 順 PCTEを フ レー ム ワ ー ク に し た ツ ー ル 統 合 を 行 な うた め の 手 順 の 概 要 を 以 下 に 示 す 。 1.ス キ ー マ の 作 成 ツ ー ル が 用 い て い る デ ー タ モ デ ル を ス キ ー マ で 表 現 す る 。PCTEで は 、sds_design と い う グ ラ フ ィ カ ル な ツ ー ル が 用 意 さ れ て お り、 これ を 用 い て ス キ ー マ の 描 写 を 行 な う。 そ の 後 、作 成 した ス キ,..._.マの コ ンパ イ ル を 行 な い 、PCTEのSDSと して 使 用 で き る よ う に す る 。 2.統 合 ツ ー ル の 作 成 CASEツ ー ル とPCTEの デ ー タ を 統 合 す る た め の ツ ー ル を 作 成 す る 。 次 の 節 以 降 で は 、2のCASEツ ー ル とPCTEの デ ー タ を 統 合 す る ツ ー ル の 実 現 方 法 に つ い て 述 べ る 。 2.4CASEツ ー ル の デ ー タ イ ン タ フ ェ ー ス の 特 徴

PCTEを 用 い てCASEツ ー ル の デ ー タ 統 合 を 行 な う に は 、 統 合 す るCASEツ ー ル の

デ ー タ イ ン タ フ ェ ー ス を 知 る 必 要 が あ る 。 す な わ ち 、 ど の よ う な 方 法 で デ ー タ を 蓄 え 、 ま た そ の デ ー タ を ど の よ う に ア ク セ ス し て い る か に つ い て で あ る 。 こ の こ とが 分 か ら な い と 、CASEツ ー ル の デ ー タ を 統 合 す る こ と は で き な い 。 1.UNIXフ ァ イ ル シ ス テ ム の 使 用 デ ー タ を 蓄 え る 部 分 に 、UNIXフ ァ イ ル シ ス テ ム の デ ィ レ ク ト リ と フ ァ イ ル の 構 成 を そ の ま ま 利 用 し て い る 。 シ ス テ ム 構 成 が 簡 単 な 分 、 ツ ー ル の デ ー タ管 理 は 複 雑 な こ と を 行 な う こ と は で き な い が 、 ユ ー ザ の デ ー タ ア クセ ス は 容 易 に 行 な う こ と が で き る 。 2フ ラ ンスのEmeraude社 が開発 したPCTEでPCTE1 .5に 基づ い てい る。 3EmeraudePCTEで 使用 され るシ ェル 。 \ 6 掴岬一 ■■■■■隠

(16)

デ ー タを蓄 える部分 に、独 自のデー タベ ース を使 用 してい る。デ ー タベー スにはデ ー

タベー ス管理 システ ム(DBMS)を

使用 してい るこ とが多い 。そ の理 由 と して 、1.複

数 のユーザ が同時 にデー タベー ス にア クセ スで き、共用 でき る。2.SQL言

語 等 のア

プ リケー シ ョンプ ログ ラム を使用 して デー タの管理 がで き る。3.(閉 じ られ た 中で吟

デ ー タの共用 がで きる。 とい う点が あげ られ る[3]。その ため、ユーザ がデー タにア

クセ スす るた めには 、SQL等

の言語 を使 ってデ ー タベー スに問い合 わせ る形 になる。

3.1と2の

複 合

1のUNIXフ

ァイル システ ム と2の デ ー タベー ス の双 方 を用 い てい る。先 に あげ た

それ ぞれ の利 点 を生 か して 、個人 のデー タは1のUNIXの

ファ イル シス テム を利 用

して、また グル ープ のデー タは2の デ ー タベ ース を利 用 して管理 す るよ うなCASE

ツール も存在 す る。

2.5PCTEに

よ る デ0タ

統 合 の 方 法

PCTEに

よるデー タ統合 の実現 には 、統合 す るCASEツ

ール の制約 の ため に さま ざま

な方法 が考 え られ る。以 下 に統合 方針 とそ の長所 ・短所 を示す 。

2.5.1PCTEネ

ーテ ィブ なCASEツ

ール の作成

PCTEで

は 、ツール 作成 の ためのプ ログ ラ ミング環境5が 用意 され てい る。それ らを用

い て新 た にPCTE上

で動 くCASEツ

ール を作成す る。 この方 法は実行 速度や 効率 の面 か

ら、最 も良い統合 方法 であ る。 しか しなが ら、新 たに ツール を作成 す るの と同等 の労力 が

必要で あ り、また現在 使用 してい る ツール を放棄 す る とい った面 か らはあま り現実 的な方

法 ではない 。

2.5.2CASEツ ー ル の 移 植 PCTEで は 、 リ ポ ジ ト リ操 作 の た め に 表2.1のcontents操 作 関 数 が 用 意 さ れ て い る 。 これ ら の 関 数 は す べ て 、unixのfile操 作 関 数 に 対 応 した 物 が 用 意 され て お り、 統 合 す るCASE ツ ー ル の フ ァ イル 操 作 に 関 す る 部 分 をPCTEの コ ン テ ン ツ 操 作 関 数 に 置 き 換 え て 使 用 す る こ と が で き る 。 す な わ ち 、 フ ァ イル 操 作 関 数 をPCTEの コ ン テ ン ツ 操 作 関 数 に 置 き 換 4こ こで言 う 「閉 じ られ た 中」 とは、ツールの連動 を考慮 して開発 され たアプ リケーシ ョンの ことであ る。 5EmeraudePCTEで はeshとC言 語 の2つ の環 境 が用意 され て い る。 7 一 心 ぐげ一 剛脚輌曜 削■嘲 闘 ■ ■鰯■■■■ 闘圏■ 圏 ■闘■ ■■■屡

(17)

表2.1:contents操 作 関 数 と そ れ に 対 応 す る 丘1e操 作 関 数 contents操 作 関 数 contents_close contents-copy.from-foreign-system contents-.copyto.foreign」3ystem contents_get_position contentsopen contentsread contents_seek contents」3et_position contentswrite file操 作 関 数 fclose ftell fopen fread fseek fseek fwrite え て 再 コ ンパ イル を 行 な う こ と に よ っ てPCTEの リ ポ ジ ト リ を 直 接 操 作 す る こ と が で き る よ う に な る 。 し か し な が ら 、 こ の 方 法 で はCASEツ ー ル の ソ ー ス コ._..ドが 必 要 で あ り、 ソ ー ス コ ー ド が ほ と ん ど公 開 され て い な い 商 用 のCASEツ ー ル で は 適 応 す る こ とが で き な い 。 2.5.3リ ボ ス テ イ ン グ 通 常unix上 で 動 作 す る 実 行 フ ァ イル は 、 実 行 時 に 必 要 な 全 て の 資 源 を 持 っ て い る の で は な く、 必 要 なlibralyを 実 行 時 に リ ン ク し て い る 。 そ こ で 、 実 行 時 に フ ァ イ ル 入 出 力 に 関 す るUNIXのsharedlibraryをPCTEのcontents入 出 力 に 関 す るsharedlibraryに 置 き換 え て 実 行 す る こ と に よ っ て 、PCTEの リ ポ ジ ト リ に ア クセ ス す る こ と が で き る よ う に な る 。 し か し な が ら 、 こ の 方 法 で は 、Dynamicにlibraryと リ ン ク さ れ て い る ツ ー ル の み で 使 用 で き 、Staticに リ ン ク され て い る ツ ー ル で は 使 用 で き な い 。 こ の 場 合 は 、 実 行 フ ァ イル を 作 る 際 の リ ン ク 時 に 、PCTEの ラ イ ブ ラ リ に 置 き 換 え て リ ン ク す る 必 要 が あ る が 、 元 の ツ ー ル の オ ブ ジ ェ ク ト コ ー ド が 必 要 に な る 。 2.5.4CASEツ ー ル の カ プ セ ル 化

既 存 のunixツ ー ル が 、PCTEの リ ポ ジ ト リ を 操 作 で き る よ う に 用 意 を し た 後 にunix

ツ ー ル を 実 行 す る 方 法 を カ プ セ ル 化(encapsulation)と い う。 こ の 方 法 は 、 今 ま で の 方 法

に 比 べ 効 率 は 悪 い が 、 も と の ツ ー ル の 実 行 フ ァ イル の み 存 在 す れ ばPCTEと の 統 合 が 可

能 で あ る 。 そ の た め 、 こ の カ プ セ ル 化 に は い くつ か の 方 法 が あ る 。

8

(18)

PCTEprocess PCTEtool;

●exec(UNIXpath)

PCTE

objectaccess

iUNIXtool り:CASEtool: fileaccess 働\ .…⑤c。tents』et(nCTE』ath

UNIXuNlxprocess

PCTEobjectbase

UNIXfilesystem 図2.3:contents-getを 使 用 し た カ プ セ ル 化 ツ ー ル の 概 念 1.contents.get関 数 の 使 用 PCTEで 用 意 さ れ て い るcontents.get関 数 を 用 い る こ と に よ っ て 統 合 を 行 な う こ と が で き る 。 図2.3にcontents.get関 数 を 用 い た カ プ セ ル 化 ツ ー ル の 概 念 を 示 す 。

co皿tentsget関 数 は 、PCTEの パ ス 名 をUNIXの パ ス 名 に 変 換 す る こ と が で き る6。

カ プ セ ル 化 ツ ー ル は 、

(a)使 用 す るフ ァイル名 をPCTEの

オブ ジ ェ ク トのパ ス名 か らUNIXの

ファ イル

のパ ス名 に変換 す る。

(b)カ プセル化 ツール の内部 か らUNIXの

フ ァイル名 を引数 に して実行 す る。

とい う手順 で作業 を行 な うこ とにな る。 この よ うな作 業手順 か らcontents.get関 数

を用 いたカプセル 化 ツール は 、エデ ィター等 の単一 の ファイル を操作 し、また実行 時

フ ァイル名 を引数 に して実行 で きる ツール が最 も適 してい る。しか しなが ら、PCTE

の パ ス名 が予 め明 らかに な ってい るツール 以外 で は使 用 す るのが困難 で ある。

2.CASEツ ー ル の イ ン タ フ ェ ー ス プ ロ グ ラ ミ ン グ 言 語 の 使 用 CASEツ ー ル の デ ー タ ベ ー ス を 操 作 す る た め の イ ン タ フ ェ ー ス プ ロ グ ラ ミ ン グ 言 語

6PCTEの オブ ジ ェ ク トはEmeraudePCTEの 実装 上UNIXの デ ィレク トリとファイルで実 現 され て い

る。そ のた め、UNIX側 か らPCTEの オブ ジ ェ ク トを操 作 す る こ とが可能 とな ってい る。

9

(19)

PCTE process 3×1 ① メッセー ジキ ュー の生 成 ② オ ブ ジェ ク トの監 視 ③ 通知

message

queue

object

図2.4:PCTE通 知 体 の 概 念

がCASEツ

ール に用 意 され て い る場合 が ある7。 これ を利 用 してPCTEリ

ポジ トリ

とCASEツ

ール デー タベ.___ス

間のデー タのや りと りを行 な う。 この方法 は、使 用 す

るイン タフェー スプ ログ ラ ミング言語 の操 作範囲 の限界 で制 限を受 け る ことにな る。

3.noti且erの 使 用 PCTEで は 、 特 定 の オ ブ ジ ェ ク トの 監 視 の た め に 通 知 体(noti丘er)を 生 成 す る こ と が で き る 。 図2.4にPCTE通 知 体 の 概 念 を 示 す 。PCTEプ ロ セ ス が 通 知 体 用 の メ ッ セ ー ジ キ ュ ー を 生 成 す る こ と に よ っ て 、 特 定 の オ ブ ジ ェ ク ト の 変 更 や 移 動 ・削 除 等 の 監 視 す る こ と が 可 能 に な る 。 こ れ を リ ポ ジ ト リ 更 新 の ト リ ガ ー に す る 。 同 様 の 機 能 がCASEツ ー ル 側 に も 存 在 す れ ば 、notifierを 利 用 し た ツ ー ル 統 合 が 可 能 で あ る 。 図 2.5にnotifierを 利 用 し た ツ ー ル 統 合 の 概 念 を 示 す 。 カ プ セ ル 化 ツ ー ル で は 、notifier を 生 成 し て オ ブ ジ ェ ク ト を 監 視 す る 操 作 を 行 な っ た 後 にCASEツ ー ル を 実 行 す る こ と と な る 。 4.シ ン ボ リ ッ ク リ ン ク の 使 用(export/importmechanism)8 既 に 存 在 す るPCTEの オ ブ ジ ェ ク ト を 操 作 す る場 合 、contents-get関 数 等 を 使 用 し

て 、UNIX側 か らPCTEの オ ブ ジ ェ ク トに シ ン ボ リ ッ ク リ ン ク を 張 る と 、PCTEの

オ ブ ジ ェ ク ト を 直 接 操 作 す る こ と が で き る 。 図2.6にimportメ カ ニ ズ ム の 概 念 を 示

す 。 カ プ セ ル 化 ツ ー ル で は 、UNIX側 か らPCTE側 へCASEツ ー ル が 使 用 す る オ

ブ ジ ェ ク ト に 対 し シ ン ボ リ ッ ク リ ン ク を 作 成 し た 後 、CASEツ ー ル を 実 行 す る と い

う操 作 を 行 な う。 先 に 紹 介 したnoti且erを 利 用 し た も の の よ う に 、PCTE側 ・UNIX

7今回使 用 したstP/OMTに はSQL言 語が 、ObjectCenterに はCLIPC(CenterlineInter-ProcessCom-munication)が 用 意 されて い る。

8この方 法 は 、PCTE上 のデレミック環境 を使用する際に用い られ ている方法である。

10

(20)

notifier

trigger copytool ・.watch .` 叩date

PCTE

、 copy copy

copytool 叩date \ CASE toa置 '・ ・,watch trigger PCTE UNIX r notifier 、 図2.5:notifierを 利 用 した ツ ー ル 統 合 の 概 念 側 双 方 に デ ー タ が あ る わ け で は な く、PCTEの リ ポ ジ ト リ を 直 接 利 用 し て い る の で 通 常 と 同 様 に 使 用 す る こ と が で き る 。 しか し な が ら 、新 た に オ ブ ジ ェ ク トが 生 成 さ れ る 場 合 は 、PCTE側 に オ ブ ジ ェ ク ト を 生 成 す る こ と が で き な い 。

exportmechanismは こ れ と反 対 に 、UNIXの リ ポ ジ ト リ に ア クセ ス す る た め にPCTE

側 か らUNIX側 に シ ン ボ リ ッ ク リ ン ク を 張 る 方 法 で あ る 。 2.5.5EmeraudeTCIの 使 用 TCIサ ー バ ー を 利 用 し て 、 メ ッ セ ー ジ の 交 換 を 行 な い ツ ー ル の 統 合 を 行 な う。 基 本 的 にnotifierを 利 用 し た 統 合 と 考 え 方 は 一 緒 で あ る が 、TCIサ ー バ ー と い う メ ッセ ー ジ 交 換 サ ー バ ー を 介 して 行 な う。 ツ ー ル 連 動 と い っ た よ う な 制 御 統 合 を 行 な う 際 に 利 用 す る と 、 高 度 な 統 合 が 可 能 で あ る 。 こ の よ う な 概 念 を 拡 張 し た も の にCORBA(CommonObject RequestBrokerArchitecture)が あ る 。 11 …一 ■■■■■■陰

(21)

PCTE

Object

WorkingDirectly SymbolicLink ccess SymbolicLink Access SymbolicLink

CASE

tooe

PCTE UNIX 図2。6:importメ カ ニ ズ ム の 概 念

2.6バ

ー ジ ョ ン管 理 の 導 入

ソ フ ト ウ ェ ア 開 発 で は 継 続 的 な 変 化 を 伴 うた め 、 常 に オ ブ ジ ェ ク トの 変 化 を 追 跡 す る こ と が 必 要 に な る 。 す な わ ち 、 常 に 最 新 の バ ー ジ ョン を 特 定 す る 、 あ る い は 特 定 の バ ー ジ ョ ン ま で 戻 っ て 作 業 を や り直 す とい っ た こ と が 必 要 と な っ て くる 。 ま た 、 そ の オ ブ ジ ェ ク ト は た だ 一 つ で は な く、 例 え ば ソ ー ス フ ァ イル や ド キ ュ メ ン ト と い っ た 複 数 の オ ブ ジ ェ ク ト か ら成 り立 っ て お り、 そ れ らが ど の オ ブ ジ ェ ク トに 所 属 して い る か と い っ た よ うな 構 成 を 管 理 す る 必 要 も あ る 。 こ の よ う な 版 管 理 ・構 成 管 理 機 能 が 、 使 用 す るCASEツ ー ル で 提 供 され て い る 場 合 は 良 い が 、 提 供 され て い な い 場 合 は 、CASEツ ー ル を 使 用 す る ユ ー ザ が SCCS(SourceCodeControlSystem)やRCS(RevisionControlSytem)と い っ た ツ ー ル を 用 い て 管 理 し な け れ ば な ら な い 。 そ の た め 、PCTEで は オ ブ ジ ェ ク ト管 理 シ ス テ ム の 一 部 と し て バ ー ジ ョ ン 管 理 が 用 意 さ れ て い る 。PCTEの バ ー ジ ョ ン 管 理 は 、様 々 な 段 階 に お い て 作 成 され た 複 数 の コ ピ ー か ら な り、 そ れ ら は 「先 行(predecessor)・ 後 続(successor)バ ー ジ ョ ン 」 とい う関 係 で 結 ば れ て い る 。 「先 行 バ ー ジ ョン 」 は 「後 続 バ ー ジ ョ ン 」 よ り前 で 作 成 され た バ ー ジ ョン で あ り、 安 定 化(stable)さ れ た 変 更 不 可 能 な バ ー ジ ョ ン で あ る 。 これ ら の バ ー ジ ョ ン は 「バ ー ジ ョ 12 一一嶺一 ■■■■■■■■膨

(22)

1.successor --Version1・i -1.predecessor Verson2-t

諺 〆♂

i.suxessor i.successor -Version2-2 -1.predecessor Version1-2 1.predecessor i.successor   Veralon1.3J(Version1-4 -1.predecessor 8塁 ㌔ ・つblec象5・9ρ 'ObJects' 9警 ㌔ つbjects●go 言, .㍉ つbjects`99 図2.7:PCTEの バ ー ジ ョ ン 管 理 の 概 念 ン グ ラ フ 」 を 構 成 し て お り、 こ の グ ラ フ の 中 で 先 行 ・後 続 関 係 を 表 す リ ン クで 結 ば れ て い る9。 こ れ ら を た ど っ て い く こ と で 、 オ ブ ジ ェ ク トの 履 歴 を 定 め る こ と が で き る(図2.7参 照)。 そ こ で 、 構 成 管 理 を す る オ ブ ジ ェ ク ト と プ ロ グ ラ ム ソ ー ス や ド キ ュ メ ン ト と い っ た 複 数 の オ ブ ジ ェ ク トの 間 で リ ン ク を 生 成 す る こ とで 、PCTEで は 版 ・構 成 管 理 を 行 な う こ と が 可 能 と な る 。 と こ ろ で 、PCTEの オ ブ ジ ェ ク ト管 理 シ ス テ ム で は 、 リ ン ク名 の 自動 的 な 名 前 付 け の 機 能 を 有 し て い る 。 これ は 、+と い う特 別 な 値 を リ ン ク名 に 使 用 す る こ と で 、 最 大 の 整 数 値 を 暗 示 す る も の で あ る 。 す な わ ち 、version.1.objectとversion.2.objectと い う2っ の オ ブ ジ ェ ク トが 存 在 し て い た 場 合 、version.+.objectと い うの はversio皿.2.objectを 指 示 し て い る 。 ま た 、++と い う値 も 存 在 し 、 これ は 最 大 の 整 数 値 に1を 足 し た 整 数 値 を 暗 示 し て い る 。 す な わ ち 、 先 ほ ど の 例 でversion.++.objectはversion.3.objectを 指 示 し て い る こ と に な る 。 これ ら の 機 能 は 、バ ー ジ ョ ン 管 理 を 行 な う際 に 最 新 の オ ブ ジ ェ ク ト に ア ク セ ス す る (+の 場 合)、 新 しい バ ー ジ ョ ン を 生 成 す る(++の 場 合)な ど の 操 作 に 用 い る こ とが で き る 。 表2.2にPCTEが 提 供 す る バ ー ジ ョ ン 管 理 の 機 能 を 示 す 。 こ の う ち 、version-snapshot とversionseviseは 新 し い バ ー ジ ョ ン の コ ピ ー を 作 成 す る 操 作 で あ り、 こ れ ら の 操 作 が 行 な わ れ る こ と に よ っ て 初 め て バ ー ジ ョ ン 付 け が 行 な わ れ る 。 こ れ ら の 機 能 の 違 い は 、 91 .predecessor,2.successorと い う よ う な リ ン ク 名 で 結 ば れ て い る 。 13 一一一 ■■國口■圏圏■■■■■■圏■勝

(23)

表2.2:PCTEの バ ー ジ ョ ン 操 作 versionadd_predecesor versionsemove_predecesor versionsevise version_snapshot versiontest_ancestry version_test_descent

オブ ジ ェ ク トに新 た な先行 バ ー ジ ョンを付 け加 える

バー ジ ョング ラフか ら先行 バ ー ジ ョンを取 り除 く

オブ ジ ェク トの変 更可能 なバー ジ ョンを生成 す る

オブ ジ ェク トの安 定 なバ ージ ョンを生成 す る

あ るオブ ジ ェ ク トに対 して別 のオブ ジェ ク トが先祖

バー ジ ョンで あ るか調 べ る

あ るオブ ジ ェク トに対 して別 の オブ ジェ ク トが子孫

バー ジ ョンで あるか調べ る

●version」snapshot 一 つ の オ ブ ジ ェ ク トの 安 定 な 先 行 バ ー ジ ョ ン を 作 成 す る 。 作 成 さ れ る バ ー ジ ョ ン は 、 ス ナ ッ プ シ ョッ ト を 行 な っ た 時 点 の オ ブ ジ ェ ク トの コ ピ ー で あ る 。 原 版 の オ ブ ジ ェ ク ト は 変 更 可 能 な ま ま 残 され 、 ス ナ ッ プ シ ョッ ト を と っ た オ ブ ジ ェ ク ト の 方 が 安 定 化 され る 。 こ れ らの オ ブ ジ ェ ク トの 間 に 、先 行 ・後 続 バ ー ジ ョ ン の 関 係 が 生 成 す る 。 ●VerS10n∫eVISe

一っ の オブジ ェ ク トの変 更可 能 な後続 バ ー ジ ョンを作成 す る

。作成 され るバ ー ジ ョ

ンは改訂(revise)を 行 な った 時点 のオブ ジ ェ ク トの コ ピーで あ る。原 版 のオブ ジ ェ

ク トは安 定化 され 、改訂 を行 な ったオブ ジ ェ ク トの方 は変更 可能 で ある。 これ らの

オブ ジ ェク トの間 に 、先行 ・後続 バー ジ ョンの関係 が生成 す る。

であ り、図2.7の バ ー ジ ョンの関係 は 、改訂 で行 な った もので ある。

バー ジ ョン管理 の機 能 を持 ってい ないCASEツ

ール を統合 す る場 合 、バー ジ ョン管理

をカプセル 化 ツール の中で行 な うことで 、ユーザ はバー ジ ョン管理 に対 し最小 の注意 を払

えば良 い よ うにな る。すな わ ち、

・最 新 のバー ジ ョンで作業 が で きる

PCTEの

方 でバ ー ジ ョンを管 理 してお り、ユー ザ は特 に意識 しな くて も最新 のバ ー

ジ ョンで作業 がで き る。

・容 易 に以前 の バー ジ ョンに戻 る ことがで きる

作業 の節 目で改訂 を とってお くこ とで 、そ の吠 態 まで戻 るこ とが容 易 にで き る。ま

た 、途 中か ら複数 のバ ー ジ ョンで作 業 を行 な うこ とも可能 であ る。

とい った機 能 を追加 す る こ とが可能 にな る。

14 晶輔 禰鯛劇 鵬■圏■國■■■國■■■■■■■■圏『

(24)

第3章

StP/OMTとObjectCenterの

統 合

3.1Stp/OMTと

の 統 合

StP/OMT(SoftwarethroughPictures/ObjectModelingTechnique)は 、 グ ラ フ ィ カ ル な ユ ー ザ イ ン タ フ ェ ー ス を 通 じ て オ ブ ジ ェ ク トの モ デ ル を 分 析 ・定 義 す る こ と を サ ポ ー ト す る 上 流 工 程 のCASEツ ー ル で あ る 。StP/OMTは 、 オ ブ ジ ェ ク トモ デ ル 図 か ら プ ロ グ ラ ム コ ー ド1の 一 部 を 自動 生 成 す る こ と が 可 能 で あ る 。 3.1.1StP/OMTの デ ー タ イ ン タ フ ェ ー ス の 特 徴 第2章 で述 べ た よ うに 、PCTEを 用 い て ツ ー ル 統 合 を 行 な うに は 、統 合 す るCASEツ..._..ル の デ ー タ イ ン タ フ ェ ー ス を 知 る 必 要 が あ る 。 図3.1にStP/OMTの 概 観 を 示 す 。StP/OMT は 、 リポ ジ ト リブ ラ ウ ザ 、 オ ブ ジ ェ ク ト ・動 的 ・機 能 モ デ ル エ デ ィ タ、 ク ラ ス ・状 態 テ ー ブ ル エ デ ィ タ 等 か ら成 り立 っ て お り、 これ ら はStPデ ス ク ト ッ プ と い う グ ラ フ ィカ ル な ブ ラ ウザ で 統 合 され て い る 。 ま たStP/OMTで 使 用 され る ツ ー ル は 、UNIXの フ ァ イル シ ス テ ム とStP/OMTが 用 意 し て い る リポ ジ ト リ で あ るStPリ ポ ジ ト リ2に デ ー タ を 格 納 す る よ う に な っ て い る 。 以 下 に 、StP/OMTが ど の よ う に デ ー タ を 保 存 して い る か を 示 す 。 ・ フ ァ イ ル シ ス テ ム へ の 保 存 方 法 UNIXフ ァ イル シ ス テ ム の フ ァ イル と い う形 で 保 存 さ れ 、 そ の 内 容 は 各 モ デ ル に 関 す る情 報 がASCII形 式 で 保 存 さ れ て い る 。 各 フ ァ イル に は 、 オ ブ ジ ェ ク ト ・動 的 ・機 能 モ デ ル エ デ ィ タ で 作 成 され る ダ イ ア グ ラ ム あ る い は ク ラ ス ・状 態 テ ー ブ ル エ デ ィ タ で 作 成 され る テ ー ブ ル に つ い て の 情 報 が 含 ま れ て い る 。 ダ イ ア グ ラ ム フ ァ イル で は 、 シ ン ボ ル に 関 す る 情 報 を 保 存 し 、 テ ー ブ ル フ ァ イ ル で は テ ー ブ ル セ ル に 関 す る 情 報 を 保 存 して い る 。 これ ら の フ ァ イ ル は 、 個 人 の 開 発 環 境 で 使 用 され て い る 。 1C++ ,Smalltalk,Adaの プ ログ ラム コー ドを生成 す る こ とがで き る。 2Sybaseと い うRDBMSを 使 用 して い る。 15 π畑  縄刷噛 藺嘲■旧国■■繭 鰯■■ 繭 ■■■ 剛■■ ■■■■ ■ ■膿

(25)

StPデ

ス ク トップ

リポ ジ トリ ブ ラ ウザ ダイ ヤ グ ラム エデ ィタ テー ブル エ デ ィ タ オブ ジェ ク ト モデル エデ ィタ 動 的 モデ ル エ デ イタ 機 能 モ デル エデ イ タ シ ンク エ デ イタ ク ラ ス テー ブ ル エデ ィ タ 状 態テ ーブル エデ イタ StPcore StP ユ ー テ ィ リテ ィ

リポ ジ ト リ ブ ラ ウザ コ ン バ ー ジ ョン ス ク リプ ト マ ネ ー ジ ャ

望男 多

シ ス テ ム リポ ジ トリ管 理 フ ァ イ ル シ ス テ ム オ ブ ジ ェ ク ト管 理 シ ス テ ム

リポ ジ トリ

図3.1:StP/OMTの 概 観 ・Stpリ ポ ジ ト リへ の 保 存 方 法 StPリ ポ ジ ト リデ ー タ ベ ー ス の デ._._タとい う 形 で 保 存 され 、 そ の 内 容 は ダ イ ア グ ラ ム と テ ー ブ ル に 関 す る 情 報 が デ ー タ ベ ー ス の 形 で 保 存 さ れ て い る 。 デ ー タ ベ ー ス の 更 新 は 、 フ ァ イル の 状 態 の デ ー タ か ら行 な わ れ る 。 こ の デ ー タ ベ ー ス は 、 複 数 の ユ ー ザ が 使 用 す る 開 発 環 境 で 使 用 され る 。 ま た 、 プ ロ グ ラ ム コ ー ド を 生 成 す る 際 に QRL(QueryandReportingLanguage)と い うStPの 言 語 を 用 い て 、StPリ ポ ジ ト リ か ら 生 成 す る た め に も使 用 さ れ る 。 ま た 、StP/OMTは 、 オ ブ ジ ェ ク トモ デ ル 図 と ク ラ ス テ ー ブ ル か らプ ロ グ ラ ム コ ー ド を 生 成 す る こ と が で き る 。 プ ロ グ ラ ム コ ー ド は 、 イ ン タ フ ェ ー ス(ヘ ッ ダ)と 実 装(ボ デ ィ) に 分 か れ て ク ラ ス 毎 に フ ァ イ ル の 形 で 生 成 す る 。 図3.2に 今 回 統 合 を 行 な うStP/OMTの デ ー タ の 流 れ を 示 す 。StP/OMTで 使 用 され る オ ブ ジ ェ ク トモ デ ル ・動 的 モ デ ル ・機 能 モ デ ル と ク ラ ス テ ー ブ ル の デ ー タ、 そ して そ れ ら か ら生 成 さ れ る プ ロ グ ラ ム コ ー ド(C++の ソ ー ス コ ー ド で ヘ ッ ダ フ ァ イノレhと ボ デ ィ フ ァ イ ル.cc)を 下 流 のCASEツ ー ル が 利 用 で き る よ うにPCTEの リポ ジ ト リ に 格 納 す る こ と が 目標 で あ る 。 16 一 ・一一帥幽一醐 一 ■■闇 ■ ■■ ■■ ■■■ ■關■ ■■■■勝

(26)

Object Model Editor Dynamic Model Editor Functional Model Editor Class Table Editor

.ome¥.dme .fine .cte C++

SourceCode Generater .h .cc

UNIX

FileSystem

Object

Manegement

System

StP/OMT

Repository

図3.2:Stp/OMTデ ー タ の 流 れ

3.1.2統

合 の問題点 及 び解 決策

これ まで に判 明 したStP/OMTの

特 徴 か ら、統 合上 の 問題 点及 びそ の解 決策 を示 す。

1.StP/OMTは

ソー ス コー ドの公開 され て いないCASEツ

ール で ある。

StP/OMTは

市販 のCASEツ

ール で あ り、プ ログ ラム の ソー ス コー ドは公 開 され て

い ない。そ のた め、今 回 の統 合 では 、CASEツ

ール の移 植 とい う方 法 で は統合 が行

な えない のでカプセ ル化 で統合 を行 な う。

2.カ プ セ ル 化 ツ ー ル で 統 合 す る 際 に フ ァ イ ル 名 を 引 数 に して 実 行 す る こ と は で き な い 。 StP/OMTで は 、 複 数 の フ ァ イル で 作 業 を 行 な う の で 、 起 動 時 にcontents_get関 数

でPCTEの パ ス 名 をUNIXの パ ス 名 に 変 換 し 、UNIXの パ ス 名 を 引 数 に し て 実 行 す

る こ と が で き な い 。 そ の た め 、今 回 の 統 合 で は 、StP/OMTを 起 動 す る 際 にproject の あ る デ ィ レ ク ト リ の パ ス 名 とsystem名 を 引 数 に して 起 動 し 、StP/OMTに よ っ て 生 成 さ れ る フ ァ イル をnoti且erで 監 視 してPCTEの リポ ジ ト リ に 格 納 す る よ うな カ プ セ ル 化 ツ ー ル を 作 成 す る 。 3.カ プ セ ル 化 ツ ー ル で 統 合 す る 際 にStP/OMTにnotifierの 機 能 が な い 。 StP/OMTに は 、 フ ァ イ ル の 生 成 や 更 新 を 監 視 す るnotifierの 機 能 が な い 。 今 回 の 統 合 で は 、StP/OMTが 生 成 す る フ ァ イ ル や フ ァ イル の 更 新 を 監 視 す るnotifierを 作 成 す る 。 17 一 ・一 醐 旧騨醐圃劇一 圃 ■■■圏闘■圏■ 闘■闘■■■■■■■際

(27)

ProjectDirectly

project SystemDirectly hogehoge tako RuleFileDirectly S「c佃es ctefiles omefiles finefiles dme側es' DataFiles name.h names name.cc name.cte name.ome name.fime name.dme 図3.3:StP/OMTの フ ァ イル 構 成 4.StP/OMTに バ ー ジ ョ ン 管 理 の 機 能 が な い 。 StP/OMTは ソ フ ト ウ ェ ア 開 発 で 使 用 す るCASEツ ー ル で あ る に も か か わ ら ず 、 生 産 物 の バ ー ジ ョン 管 理 の 機 能 が な い3。 今 回 の 統 合 で は 、PCTEの バ ー ジ ョ ン 管 理 の 機 能 を 用 い て 、StP/OMTに バ ー ジ ョ ン 管 理 の 機 能 を 追 加 す る 。 3.1.3ス キ ー マ の 作 成 StP/OMTを 統 合 す る た め の さ ま ざ ま な 制 約 を 考 慮 した うえ 、PCTEで 使 用 す る ス キ ー マ の 作 成 を 行 な う 。 図3.3にStP/OMTが 生 成 す る フ ァ イ ル の 構 成 を 示 す 。StP/OMTで 生 成 され る フ ァ イル は 、そ れ ぞ れ のrulefileの デ ィ レ ク ト リ の 下 に 生 成 す る 。rule丘leデ ィ

レ ク ト リはsystemデ ィ レ ク ト リ の 下 に 作 られ 、systemデ ィ レ ク ト リ はprojectデ ィ レ ク

ト リ の 下 に 作 られ て い る 。

StP/OMTの こ の よ う な フ ァ イル 構 成 を 考 慮 して 作 成 し た ス キ ー マ を 図3.4に 示 す 。 こ

の 中 で 、objectはsys-objectか ら 、fileはsys-fileか ら 輸 入(import)し て い る 。 同 様 に

StPOMT」ileはfileか ら輸 入 し て い る 。 ま た 、userとgroupは そ れ ぞ

れenv-user、env-groupか ら輸 入 し て い る 。 そ れ 以 外 の も の は 、 表3.1に 示 す 。 ま た こ の 中 で 、projectobjectか らsystem_objectへ の リ ン ク の キ ー にk1,k2を 使 用 して い る が 、 こ れ ば バ ー ジ ョ ン 管 理 の た め の 整 数 型 の キ ー を 用 い て い る た め で あ る4。 そ れ 以 外 の キ ー に 関 し て は 文 字 列 型 の キ ー を 用 い て い る 。 3オプ シ ョンでSCCSを 導入 す る こ とがで きる。 4gen-k1,gen-k2か ら輸入 してい る。 18 一}r鴨 蝋鱒嗣廟 ■醐 嶋 圃■■■ ■■■■國■■■ ■願 ■■■■瞬

(28)

user

JI

group I

77

\

name.subname.pro

ject

c ---N

name.fiiename

project object

C

name.s

e.c

---M

Vlame.kl.k2.systename.subname.cc

C name.subname.h

system_object ---CN

name.subname.cte

C---M

name.subname.ome

c ---M

name.subname.fine

c ---N

name.subname.dme

RI 3.4: StP/OMT

k'---store filename src files cte files ome_files Ime fiies dme files 19

(29)

表3.1:StP/OMTで 使 用 す る オ ブ ジ ェ ク トの 型

オブジ ェ ク ト型名

user group

projectobject

system_object

store.filename src」iles cte-files omejiles fme」iles dme-files

オブ ジェ ク ト型

env-user env-group

sys-object

sys-object

StPOMT」ile(sys-file) StPOMT」ile(sys-file)

StPOMTjle(sys-file)

StPOMT」ile(sys-file) StPOMT」iile(sys-file) StPOMT」ile(sys-file) ま た 、 図3.3の フ ァ イ ル 構 成 に は 存 在 し な い オ ブ ジ ェ ク トstore』1enameが 図3.4の ス キ ー マ 図 に は あ る が 、 こ れ はEmeraudePCTEの 制 限5に よ る も の で 、 こ こ に はPCTEリ ポ ジ ト リ に 格 納 され て い る オ ブ ジ ェ ク ト の パ ス 名(UNIXの フ ァ イ ル 名)を 記 録 し て い る 。 3.1.4StP/OMTの 統 合 方 式 図3.5に 、 今 回 作 成 し た ツ ー ル の 概 要 を 示 す 。StP/OMTの オ ブ ジ ェ ク トモ デ ル エ デ ィ タ ・動 的 モ デレレエ デ ィ タ ・機 能 モ デシレエ デ ィ タ ・ク ラ ス テ ー ブレレエ デ ィ タ で 作 成 した 作 業 成 果 物 は 、 そ れ ぞ れ の ツ ー ル で 「保 存(save)」 を す る とUNIXの フ ァ イル シ ス テ ム に 書 き 込 ま れ る 。 ま た 、C++ソ ー ス コ ー ド ジ ェ ネ レ ー タ は 、 オ ブ ジ ェ ク トモ テラレや ク ラ ス テ ー ブ/レか らヘ ッ ダ フ ァ イル ・ボ デ ィ ー フ ァ イル を 自 動 生 成 す る 。notifierは そ の 書 き 込 み を 監 視 して お り6、 書 き 込 み が あ っ た 場 合UNIXフ ァ イ ル シ ス テ ム か らPCTEリ ポ ジ ト リ に コ ピー を 行 な う。 さ ら に 、 新 た に 生 成 した フ ァ イル も 、 生 成 し た 時 点 か ら監 視 す る よ う に な っ て い る 。 ま た 、 これ ら 生 成 物 はPCTEの バ ー ジ ョ ン 管 理 機 構 を 用 い て 管 理 され て お り、 ユ ー ザ がPCTEで 統 合 さ れ たStP/OMTを 起 動 す る 際 に 、 オ プ シ ョ ン を 付 け て 起 動 す る こ と で 5EmeraudePCTEV .12.5.1まで は リン クキー の サ イズ が32文 字 に制 限 され てい た。V.12.6.1か らは 256文 字 に拡 張 され たが 、V.12.5.1の 時 にプ ログ ラム を作成 した ので この よ うな方 法 を とってい る。 6フ ァイル の書 き込 み時 間を比 較 してい る。 20

(30)

fic• ome

.dme

.fine

.cte

StP/OMTUNIX

RepositoryObjectFile

System

Manegement

444\Watching

System

... i s -...t...

...

notifier

StP/OMTCopy ---

Schema

PCTE...

Version

management

R

epository

...

~PCTE...

RI 3.5: StP/OMT

21 __4

(31)

メ イ ン ウ ィ ン ドウ

CLMS ユ ー ザ イ ン タ フ ェ ー ス 編 集 エデ ィタ イ ンヘ リタ ン スブ ラ ウ ザ ロ ス リフ ァ レ ン ス ブ ラ ウ ザ ク ラス ブ ラ ウザ オプ シ ョン ブ ラウザ マニ ュ アル ブ ラ ウザ デ ー タ ブ ラ ウザ フ ァ イ ル シ ス テ ム 図3.6:0bjectCenterの 概 観1

新 しいバ ー ジ ョンを生 成 す る こ とが で きる7。 また 、以前 のバー ジ ョンに戻 る際 も、オプ

シ ョンを付け て起 動す る ことで、以前 のバー ジ ョンか ら新 しいバー ジ ョンを生成 す る こと

がで き る8。バー ジ ョン管理 のオプ シ ョンを特 に指定 しない場 合 に は、最新 のバ ー ジ ョン

で起動す る。

3.20bjectCenterの 統 合 ObjectCenterは 、C++の コ ー ド 開 発 ・テ ス ト ・デ バ ッグ を 行 な う た め に 必 要 な 機 能 を 提 供 し て い る 下 流 工 程 のCASEツ ー ル で あ る 。ObjectCenterは 通 常 コ ン パ イ ル し て 使 用 す るC++の ソ ー ス コ ー ド を イ ン タ プ リ タ で 扱 う こ と が で き 、 デレミッ ガ と あ わ せ て 強 力 な 開 発 環 境 を 提 供 し て い る 。 3.2.10bjectCenterの デ ー タ イ ン タ フ ェ ー ス の 特 徴 図3.6にObjectCenterの 概 観 を 示 す 。ObjectCenterは 、 編 集 エ デ ィ タ 、 イ ン ヘ リ タ ン ス ブ ラ ウ ザ 、 ク ロ ス リ フ ァ レ ン ス ブ ラ ウ ザ 等 の ツ ー ル か ら 成 り 立 っ て お り 、 こ れ ら は メ イ ン ウ ィ ン ド ウ と 呼 ば れ る 統 合 ツ ー ル か ら 使 用 す る こ と が で き る 。 ま た 、 こ れ ら の ツ ー ル は CLMS(CenterLineMessageServer)と 呼 ば れ る メ ッ セ ー ジ 通 信 サ ー ビ ス を 利 用 し て ツ ー ル 間 の デ ー タ の や り と り を 行 な っ て い る 。 な お 、 使 用 す るC++の ソ ー ス コ ー ド は 、 フ ァ イ ル の 形 で 入 力 さ れ る 。 7-reviseオ プ シ ョンを付 け て起動 す る こ とで 、改訂(revise)さ れ る。 8-revise<versionnumber>を 指 定 す る こ と で 以 前 のバ ー ジ ョ ンの 改 訂 を 作 成 す る 。 22

(32)

こ れ ま で に 判 明 したObjectCenterの 特 徴 か ら、 統 合 上 の 問 題 点 及 び そ の 解 決 策 を 示 す 。 1.ObjectCenterは ソ ー ス コ ー ド の 公 開 さ れ て い な いCASEツ ー ル で あ る 。 ObjectCenterもStP/OMTと 同 様 、商 用 のCASEツ ー ル で あ り、プ ロ グ ラ ム の ソ ー ス コ ー ド は 公 開 さ れ て い な い 。 そ の た め 、 今 回 の 統 合 で は 、 カ プ セ ル 化 技 術 を 用 い て 統 合 を 行 な う 。 2.カ プ セ ル 化 ツ ー ル で 統 合 す る 際 に フ ァ イ ル 名 を 引 数 に して 実 行 す る こ と が で き な い 。 ObjectCenterで は 、 ク ラ ス ご と の ヘ ッ ダ フ ァ イル ・ボ デ ィフ ァ イル が 必 要 で あ る 。 と こ ろ で 、ObjectCenterで は 新 た な ク ラ ス は 生 成 され な い の で 、 新 た な 八 ッダ フ ァ イ ル や ボ デ ィ フ ァ イル が 生 成 され る こ と は な い 。 そ こ で 、ObjectCenterの 作 業 デ ィ レ ク ト リ か らPCTEの オ ブ ジ ェ ク トヘ シ ン ボ リ ッ ク リ ン ク を は る こ と で 、 直 接PCTE の リ ポ ジ ト リ を 操 作 す る こ と が で き る 。 3.ObjectCenterで い く つ か の 新 し い フ ァ イ ル が 生 成 され る 。 ObjectCenterは 、 ソ ー ス コ ー ド を コ ンパ イル す る た め にmakefileを 必 要 と す る 。 ま た 、 現 在 の 環 境 を 保 存 す る た め に プ ロ ジ ェ ク ト フ ァ イル を 生 成 す る9。 これ ら の フ ァ イ ル は 予 め フ ァ イル 名 が わ か っ て い る た め 、 カ プ セ ル 化 ツ ー ル の 中 でPCTEの オ ブ ジ ェ ク トを 生 成 し シ ン ボ リ ッ ク リ ン ク を は っ て お く こ と で 、PCTEの リ ポ ジ ト リ に デ ー タ が 格 納 され る よ うに な る 。 4.ObjectCenterに バ ー ジ ョ ン 管 理 の 機 能 が な い 。 ObjectCenterは ソ フ ト ウ ェ ア 開 発 で 使 用 す るCASEツ ー ル で あ る に も か か わ らず 、 生 産 物 の バ ー ジ ョ ン 管 理 の 機 能 が な い 。 今 回 の 統 合 で は 、PCTEの バ ー ジ ョ ン 管 理 の 機 能 を 用 い て 、ObjectCenterに バ ー ジ ョ ン 管 理 の 機 能 を 追 加 す る 。 3.2.3ス キ ー マ の 作 成 ObjectCenterを 統 合 す る た め の さ ま ざ ま な 制 約 を 考 慮 し た う え 、PCTEで 使 用 す る ス キ ー マ の 作 成 を 行 な う。 図3.7にObjectCenterで 使 用 す る ス キ ー マ を 示 す 。 こ の 中 で 、 StP/OMTで 使 用 し て い る オ ブ ジ ェ ク ト はStP/OMTの ス キ ー マ か ら輸 入 す る 。 表3.2に ObjectCenterで 使 用 す る オ ブ ジ ェ ク ト とそ の 型(括 弧 内 は オ リ ジ ナ ル の 型)を 示 す 。 ま た 、 キ ー や 型 参 照 子 に 関 し て もStP/OMTで 使 用 し て い る も の に 関 し て は 、 輸 入 し て 用 い る 。 表3.3にObjectCenterで 使 用 す る キ ー を 、 表3.4に 型 参 照 子 を 示 す 。 90center .projとい うファイルを生成する。 23 ' 冒}帽醐劃醐繭 圏醐 ■ ■■ ■■■■■ ■■ ■■■ ■ ■願 ■謄

(33)

object

user

Ifile

I I StPOMT

file I

group

~~name

.subname.project

T

project object ame.filename C

\Ciiame.kl.k2.systemnam . bname.c

C name.s e.cc

system_object ---CN

ame.subname.h C ame.subn .proj C ame.subname.mk

RI 3.7: Object Center---q

24

store filename

r

src files

(34)

表3.2:0bjectCenterで 使 用 す る オ ブ ジ ェ ク ト の 型

オブ ジ ェ ク ト型名

user group

projectobject

system_object

store_血1ename src.files

オブ ジ ェ ク ト型

StP_4MT-user(env-user)

StP_OMT-groupenv-group)

StP_OMT-projectobject(sys-object

StP_OMT-systemobject(sys-object)

StP.OMT-StPOMT」ile(sys一 且1e) StP-OMT-StPOMT」ile(sys一 且le) 表3.3:0bjectCenterで 使 用 す る キ ー一

キー名

name subname kl k2

輸入元(属 性)

StP_OMT-name(string)

StP_OMT-subname(string)

StP_OMT-kl(integer)

StP-OMT-k2(integer)

表3.4:0bjectCenterで 使 用 す る 型 参 照 子

型参照子

project

system filename C CC h

輸入元の型名

StP_4MT-project

StP_OMT-system StP_OMT-filename StP_4MT-c StP_OMT-cc StP_OMT-h 25

(35)

PCTE

PCTE Repository   Version management LJ

/

Object Center Schema

ObjectCenter

ク ロス リフ ァ レン ス ブ ラ ウザ クラス ブラ ウザ オ プシ ョン ブ ラ ウザ インヘ リタンス ブ ラ ウザ 編集エデ ィタ

Z

CLMS

Z

ti

マ ニ ュ アル ブ ラ ウザ 、 デー タ ブ ラウザ UNIX FileSvstem SymbolicLink

MainWindow

図3.8:0bjectCenterの 統 合 方 式 こ れ ら の 表 で 示 す よ うに 、 ほ と ん ど の も の はStP/OMTの ス キ ー マ か ら輸 入 して 使 っ て お り、 新 た に 生 成 さ れ る も の はmakefileと プ ロ ジ ェ ク ト フ ァ イ ル の2つ だ け で あ る 。 こ れ ら2つ の オ ブ ジ ェ ク トは 、 作 業 ス キ ー マ か らObjectCenterの ス キ.__..マを 外 す と(す な わ ち 、StP/OMTの ス キ ー マ だ け に な る と)参 照 す る こ と が で き な く な る10。 こ れ は 、2.2 で 説 明 した よ う に 「リ ポ ジ ト リ の フ ィル タ リ ン グ 」 に よ る も の で あ る 。 3.2.40bjectCenterの 統 合 方 式 図3.8に 、今 回 作 成 し た ツ ー ル の 概 要 を 示 す 。StP/OMTで 生 成 され たPCTEリ ポ ジ ト リ に あ る プ ロ グ ラ ム コ ー ド は 、UNIXの フ ァ イ ル シ ス テ ム 上 に 作 られ た シ ン ボ リ ッ ク リ ン ク を 通 して 操 作 さ れ る 。 そ の た め 、ObjectCenterの ツ.._..ル内 部 で はUNIX上 に プ ロ グ ラ ム コ ー ド が あ る の と 同 様 に 操 作 で き 、既 存 の プ ロ グ ラ ム コ ー ド に 関 し て は 特 に 制 限 を 受 け な い 。 しか し な が ら 、 新 た に 生 成 す る 場 合 は 、PCTEの リ ポ ジ ト リ に 格 納 され な い11。 ま た 、 こ れ ら の 生 成 物 はPCTEの バ ー ジ ョ ン 管 理 機 構 を 用 い て 管 理 され て お り、 ユ ー ザ がPCTEで 統 合 され たObjectCenterを 起 動 す る 際 に 、 オ プ シ ョン を 付 け て 起 動 す る こ と で 新 し い バ ー ジ ョ ン を 生 成 す る こ と が で き る12。 ま た 、 以 前 の バ ー ジ ョ ン に 戻 る 際 も 、 10StP/OMTで 参 照 する必要 があ る場 合 には 、StP/OMTの スキー マの方 でObjectCenterの ス キーマか ら輸入 す るよ うにす る。 iimakefileと プ ロジ ェク トフ ァイルに 関 しては 、事前に生成され ることが分かっているので格納 され る。 12-reviseオプションを付 けて起動す ることで、改訂(revise)さ れ る。 26 }擢  劇 贈 駒醐 醐囎幽 ■■■闘 關コ ■闘■■ 繭■ ■ ■ ■■■勝

(36)

ことが でき る13。バー ジ ョン管理 のオプ シ ョンを特 に指定 しない場 合 は、最新 のバ ー ジ ョ

ンで起動 す る。

3.3デ

ー タ 統 合 の 指 針

ここで は、これ まで行 な った統合 か ら、デ ー タ統合 の際 に必 要 とな る手法 と、考慮す べ

き点 をま とめ る。

3.3.1ス

キー マの作 成指針

ス キーマ は 、統合す るCASEツ

ール のデー タ構造 を表現 した もので ある。そ のため 、ス

キーマ を作成 す るには 、統 合 す るCASEツ

ール のデー タ構 造 を詳 し く知 る必 要が あ る。

●デ ー タの保 存方 法

デ ィレク トリとフ ァイル ・デ ー タベー ス管理 シス テム(DBMS)な

ど、どの よ うに し

てデー タが保 存 され てい るか を調べ る。

●デ ー タの操作 方法

フ ァイル ア クセ ス(フ ァイル をオー プ ン して操 作す る)・ 問い合 わせ 言語(SQL言

な ど)の 使 用 な ど、 どの よ うに した らデー タを操作 でき るか を調べ る。

● デ ー タの流 れ

どのよ うなデー タが どの ツール か ら生成 し、どの よ うな名 前 で保存 され るか 、また 、

どの よ うなデー タが ツール を操 作 す るのに必要 で あるか を調 べ る。

これ らを調査 した後 に、CASEツ

ール のデー タ構造 をPCTEの

リポ ジ トリに格納 で き

るよ うにマ ッピングを行 ない 、スキーマ を作成 する。なお 、バー ジ ョン管理 の機能 を追加

す る場合 には 、構 成管理 を行 な うオブ ジェ ク トを作成 し、それ らの下 にオブ ジェ ク トを格

納 す る よ うなスキー マ を作成 す る14。

3.3.2ツ ー ル 作 成 の 指 針 CASEツ ー ル の デ ー タ イ ン タ フ ェ ー ス の 特 徴 に よ っ て 、 あ る 程 度 の 方 針 を 示 す こ と が で き る 。 こ こ で は 、CASEツ ー ル の ソ ー ス コ ー ド の 存 在 の 有 無 と デ ー タ の 保 存 方 法 の 視 点 か ら 、 ど の よ う な 統 合 が 最 適 で あ る か に つ い て 以 下 に 示 す 。 13-revise<versio皿umber>を 指 定す るこ とで以 前 のバ ー ジ ョンの改訂 を作成 す る。 14StP/OMTの 場合 は 、system_objectを 併用 す る形 で実装 され てい る。 27 一 一一一糊 崩噛醐咽幽 ■醐■■闇■■■■■■■■■■■■ ■■■■膨

(37)

関数 に置 き換 えて再 コンパ イル を行 な う。再 コンパ イル に よって生成 され た ツール

は、UNIX上

で動 くツール と同様 に振舞 い如 何 な る制 限 も受 け ない。

2.UNIXフ

ァイル シス テム を使 用 して いるCASEツ

ー ル の場 合

新 た にオブジ ェク トが生成 され る場合 と、既 存 のPCTEの

オブ ジェ ク トを利 用 す る

場 合で統合 の方針 が異 なる。

(a)新

たに オブ ジ ェク トが生 成 され る場合

ツール 統合 の 中で難 しい ケース であ る。特 に 、新 た に生成 され るオブ ジ ェク ト

のパ ス名 が明 らか にな ってい ない場 合 は最 も難 しい。

i.パ ス名 が明 らか なツール の場合

エ デ ィタの よ うに起 動前 にパ ス名 が 明 らかな ツール は 、カ プセル化 ツール

中でPCTEの

オブジェ ク トを生成 し、その後contentsget関

数 でUNIXの

パ ス名 を知 り、UNIXの

パ ス名 を引数 に して ツール を起 動す る こ とによ っ

て直接 リポ ジ トリを操 作す る こ とがで き る。

ii.パ ス名 が明 らかでな いツール の場合

直接 リポジ ト リを操作 す る こ とが困難 なため 、UNIXの

ファ イル を介 して

操 作す るこ とにな る。 この場合 、生成 され た フ ァイル に対 して更新 を監視

す るnotifier(通知 体)を 生成 し、notifierの更新 通知 を リポ ジ トリ更新 の ト

リガ に して フ ァイル か らPCTEリ

ポジ トリに オブ ジェ ク トを コ ピー す る

こ とに なる。

この他 に も、入 出力 が単純 な場 合 は 、sharedlibraryを

置 き換 える リホス テ ィ

ングや 、 目的の フ ァイル に フ ックをかけ リポ ジ トリの更新 を行 な うEmeraude

TCIの

使用 も可能 で ある。

(b)既 存 のPCTEの

オブ ジ ェク トを利用 す る場 合

UNIX側

か らPCTE側

にシ ンボ リックリン クをはる こ とに よって直接 オブジ ェ

ク トの操 作 が可能 で ある。 また、 リボス テ ィング も可能 で あ る。

3.デ ー タベ ー ス を使 用 して い るCASEツ

ー ル の 場 合

デー タベ ース 自体 をPCTEの

リポジ トリに取 り込む方 法 と、デー タベー スが持 って

い るイン タフェース プ ログ ラ ミング言語 を使 用 して必 要 なデ ー タをPCTEの

リポジ

トリに コピー をす る方法 が考 え られ る。

28

(38)

場合

1の ファイル システム の場合 と2の デー タベー スの揚 合の双方 を うま く利 用 して統合

す る。 どの方法 が良い とは一概 に言 えず 、ケー スバ イケー スにな るで あろ う。CASE

ツール のデー タイン タフェース を良 く見極 めた上 で統 合 を行 な う必 要が あ る。

ソー ス コー ドの有無 、デー タの保存方 法の上 にデー タの操作方 法 ・デー タの流れ ま で考

慮す る とCASEツ

ール のデー タ統合 は 、CASEツ

ール に合 わせ た統合 ツール(カ プセル化

ツ,_..ル)を作成 しなけれ ば な らな い とい う結 論 に達 す る。

しか しなが ら、統合 ツール は これ までに挙 げ た統合 技術 を複 合 して使 用 す るこ とで ほ と

ん どの場 合 、対応 で きる とい え る15。

150bjectCenterと の 統 合 で は2-bの 方 法 と2-a-iの 方 法 を 複 合 し て 使 用 し て い る 。 29 解一一}噸 幽闇■幽一■■圏職■■■■■■■■■幽■■■■■■■睡

(39)

第4章

統 合 ツー ル の 評 価

4.1「

家 計 簿 シ ミュ レー シ ョ ン シ ス テ ム 」 に よ る 開発

作成 したCASE統

合 ツール を用 い て 、簡 単 な ソフ トウェア 開発 を行 な ってみ る。開発

した シス テムは 「

家計 簿 シ ミュ レー シ ョンシス テム1」 で あ る 同 。

4.1.10MT法

によ るモデ リング

StP/OMTは

、JamesRumbaughの

オブ ジ ェク ト指 向分析 ・設計 方法論[3]を 基 に 開発

の支援 す るCASEツ

ール であ る。従 って、家計 簿 シ ミュ レー シ ョンシス テム の分析 は こ

の方法論 を用 いて行 な う。OMT法

で は、まず 最初 に対象世 界 の問題分析 を行 ない 、次 に

モデ リング を行 な う。モデ リングでは 、まず最初 に オブ ジ ェク トモ デルか ら定義 す る。図

4.1に家 計簿 シ ミュ レー シ ョンの オブ ジ ェ ク トモ デル 図 を示 す。家計 簿 シ ミュ レー シ ョン

シス テムでは 、3つ の クラス 「

収支 の発 生源 」「家計 簿」「お金 の管理 場所 」が あ り、それ

らは図 に示 す よ うなサ ブ ク ラス を持 って い る。例 え ば、「

銀 行」 はお金 を管理 してい る と

ころの一つ で あ り、「

お金 の管理 場所 」 のサブ クラスの一つ で ある。 また 、それ らの ク ラ

スの間に はあ る関連 が存在 してお り、属性 をも ってつ なが ってい る。例 え ば、収支 が発 生

した ら家計 簿 に記録 しなけれ ばな らな い。そ の記録 の内容 は 、月 日 ・氏名 ・金額 ・銀行名 ・

口座 番 号 ・事象 ・操 作 ・倹 約 可能 項 目で あ る。

この よ うな、オブジ ェク トモ デル 図 を作成 した後 、次 に動的 モデル のモデ リング を行 な

う。図4.2に 家計簿 シ ミュ レー シ ョンシ ステム の動 的 モデル を示す。動 的モ デル は、問題

世界 に存在す るオブ ジェ ク トの状態変 化 を示 した もので あ り、この図 にお い て● は初期 状

態 を ● に○ で 囲 ん だ もの は 最 終 状 態 を示 して い る。 シ ミュ レー シ ョン を開 始 し 、初 期 状 態

か ら 「

次 の 日を待 つ」状 態 に移行 す る と、条件 に よって次 の移行 先 が異 な る。例 えば 、月

日が指定 月 日を超 えていた ら実績 報告書 を作成 して最終状 態に移行 す る。また月 日の 日が

1本大学のソフトウェア設計論の講義で行なわれたものを今回再度行なった。

30 隔…  欄 繭一 鱒■劇繭 ■■ 圏■ ■■ ■ 闘 ■■ ■ ■■■ 膨

図 一 覧 2.1 2.2 2.3 2.4 2.5 2.6 2.7 ト ー ス タ モ デ ル.................................カプセル化ツー ル................................contents̲getを使用したカプセル 化 ツ ー ル の 概 念...............PCTE通知体の概念.....9。。......。...............notifierを利用し たツール統合の概念.....................im

参照

関連したドキュメント

Program’s name number 1 02:30 203°F 300G. 300G

特に、その応用として、 Donaldson不変量とSeiberg-Witten不変量が等しいというWittenの予想を代数

for the observed functions, smooth.type a string with the name of smoothing method to be used (B-splines or Fourier), nbasis a numeric value defining the number of basis functions

4.1 Symmetrization along radial geodesics and a qualitative generalization of Bishop’s volume comparison theorem.. We begin justifying the name starlike domain with scalar

We know that the function u ˜ i is p(·)-quasicontinuous; notice here that [21], Theorem 2, improves [15], Theorem 4.6 by showing that our standard assumptions are sufficient for

品名(Part name) 数量(Quantity).. 品名(Part name) 数量(Quantity).. 品名(Part name) 数量(Quantity).. 部品番号 (Part No.) 品名(Part name)

[r]

 My name Is Jennilyn Carnazo Takaya, 26 years of age, a Filipino citizen who lived in Kurashiki-shi Okayama Pref. It happened last summer year