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

プログラミング環境を充実させたオブジェクト指向COBOL

N/A
N/A
Protected

Academic year: 2021

シェア "プログラミング環境を充実させたオブジェクト指向COBOL"

Copied!
4
0
0

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

全文

(1)

特集

オブジェクト指向技術の実用化

プbグラミング環境を充実させたオブジェクト指向COBOJ

ProgrammingEnvironmentsforObject-OrientedCOBOL

西尾高典* 7滋ん`′”√ノ7′Z〃ム}んオり

前田秀子*Jイオ〟どん√ノルねどdα

⊂)

分散システムの構築

横塚大典*

加わ"々ビnノカ√)′s〟々α

権藤文代*

ダ〟椚か〃C(川〟√丁

⊂⊃

グラフイカルユーザー インタフェースの構築 オブジェクト オブジェクト指向COBOLの 利用で広がる世界 オブジェクト指向 データベースの構築 COBO+プログラマの 人的財産

J⊃

既存システムの 継承 COBOL プログラム RDB 既存 ファイル 注:略語説明 COBOL(CommonBusinessOrientedLanguage) RDB(RelationalDatabase) オブジェクト指向の世界へのゲートウェイ「オブジェクト指向COBOJ+ オブジ工クト指向COBOLにより,過去のプログラム・データ資産と最新のオブジェクト指向技術との融合を図ることができる。また,COBOL85 と完全上位互換であるため,徐々にオブジ工クト指向を取り込むことができる。

このたび,次期標準COBOL97の「プリビュー+と

もいうべきオブジェクト指向COBOL(以 ̄卜`,

00COBOLと言う。)の本格的なプログラミング環

塙を,WindowsNT削)およびUNIX※2)で製.肘ヒした。

この環境は,開発マネージャやブラウザ,COBOL

エディタ,アニメータ機能を持つデバッガ,ファイ

ル・レコード走去,スクリーン左義機能など,

COBOLプログラム開発向けの充実した機能を提供

している。COBOL85と`完全上位互換であるため,

*l川二磐望作巾 ソフトウェア問才色本部

徐々にオブジェクト指向を取り込めると同時に既存

資産もそのまま活用できる。オブジェクト指向デー

タベースや分散オブジェクト環境などの新しいパラ

ダイムの考え方とも親和性が良い。また,RDBや

OLTP(Online

TrallSaCtion

Processing)などの各

種ミドルソフトウェアや上流CASE(Computer

Aided Software

Engineering),GUI(Graphical

UserInterface)構築ツールとも連携しており,企業

情報システム開発の中核としての活躍が期待できる。

(2)

856 日立評論 VOL.77 No.12(1995-12)

n

はじめに COBOLが汎(はん)用計算機用プログラミング言語と して誕牛してから30年以上がたち,その間に計算機も, これを利用する社会も大きく変貌(ぼう)を遂げた。言語

自体に対する要求も時代とともに大きく変わった。

COBOLの場合,過去に3回の大改革を経験した。そして 今,1985年の第3次規格から10年余を経て,1997年に向 けて4回目の大改革を迎えようとしている。COBOL97

の時代到来である。

このたび,次期COBOLの中で最大の拡張ともいえるオ ブジェクト指向の概念の重要性に着目し,00COBOL

としていち早く製品化した。00COBOLの役割は,

COBOL文化へのオブジェクト指向の考え方の定着,ク

ラスライブラlい開発環境の充実,オブジェクト指向関 連他製品との連携など,COBOL85からCOBOL97へのス ムーズな橋渡しと言える。 ここでは,00COBOLの言語としての特徴,および日

立製作所のプログラミング環境での機能的な特徴,メリ

ットなどについて述べる。

オブジェクト指向COBOLの概要

2.1だれが作っているか SmalltalkであればGoldberg氏という具合に,言語に はある個人名が結び付くことが多い。ところが,COI∃OL

の作成者のプロフィールはほとんど見えない。米凶の

CODASYL(Conference on Data System Languages)

が制定してきたからである。現在は米国の標準化団体

ANSI(AmericanNationalStandardsInstitute)傘Fの

委員会Ⅹ3J4が仕様の検討などを行っている。ドラフトが

ほぼ固まりつつあり,舞台はISO(InternationalStan-dardizationOrganization)へと移りつつある。

Ⅹ3J4にはわが同の情報処理学会規格調査会も加入し

ている。米国の委員会でありながら,わが国もその仕様 確定に寄与している。この調査会のSC(Subcommittee) 22COBOLWG(WorkingGroup)の主査は日立製作所が

務める。米国の委員会にも積極的に参加しており,

COBOLの標準化に貢献している。 ※1)WindowsNTは,米国MicrosoftCorp.の商標である。 ※2)UNIXは、Ⅹ/OpenCompanyLimitedがライセンスし ている米田ならびに他の匡lにおける登録商標である。 28 2.2 言語の特徴 (1)COBOL85との上位互換性 00COBOLの最も大きな特徴は,従来のCOBOLとの 完全上位互換性であろう。800倍ステップと言われる過去 の膨大なプログラム資産を牛かしつつ,新しいパラダイ

ムへと進化できる。-_L位互換性を保つためにCOBOL85

の構文をすべて継承しておl),さらにオブジェクト指向 プログラミングに不可欠の2文だけを追加している。ま た00COBOLからCOBOL85を呼び州した-),逆に COBOL85から00COBOLを呼び出せる。 (2)どこがオブジェクト指向か 00COBOLでのオブジェクト指向の諸概念の抜い ̄ガ について述べる。

(a)プログラム定義とクラス定義

00COBOLは,新たにクラスというモジュールを扱 う。このモジュールでは,そのクラスやオブジェクト が使用するデータおよびメソッドを定義する(図1参 照)。データやメソッドをクラスとオブジェクトで構文

的に書き分けることにより,理解容易性の向上が期待

できる。 (b)継水機能 クラス定義で他のクラスとの継承関係が定義できる。 lDENTIF】CAT10N DlVIS10N. CLASS-1D.クラス名INHERITS祖先クラス名. ENVIRONMENTS DlVIS10N. クラスの環境部本体 ‖〕ENTIFICAT10N DlVIS10N. CLASS-OBJECT. ENVIRONMENTS DIVIS10N. クラスオブジェクトの環境部本体 DATA D】VISK)N. クラスデータ定義 PROCEDURE DlVISK)N. クラスメソッド定義 END CLASS-OBJECT. lDENTIFICAT10N DlVIS10N. OBJECT. ENVIRONMENTS DlVIS10N. オブジェクトの環境部本体 DATA DlVIS10N. オフ一ジェクトデータ定義 PROCEDURE DlVIS10N. オブジェクトメソッド定義 END OBJECT. END CJASSクラス名. 図l オブジ工クト指向COBOLのクラス定義の構文 クラス定義では,クラス用のデータ・メソッド,インスタンス用 のデータ・メソッドを明確に書き分けることにより,読みやすさの 向上を図っている。PROCED〕RE DIVIS】ONでの追加命令文はわずか に2文だけである。

(3)

プログラミング環境を充実させたオブジェクト指向COBOL 857 継承元のクラスを上位クラスと呼ぶ。上位クラスのデ ータやメソッドの定義が自クラスでも使用できる。複 数の上位クラスを持つ多重継承もサポートしている。 (c)メッセージの受け渡し オブジェクト指向言語では,モジュール間の呼汁-し (caller-Callee)関係に代わり,オブジェクト間のメッ セージ送受信関係が実行の基本である。00COBOLで

はCALL文と類似の構文を円いて実行したいメソッド

を持つオブジェクトにメッセージが送信できる。 (d)メソッドの記述 各クラスで定義するメソッドは,クラスメソッド, イ・ンスタンスメソッドに分けて従来のプログラム定義

と類似の構文で定義できる。

(e)インスタンスの生成と管理法 インスタンスの牛J戊機構は,あらゆるクラスの最上 位クラス「baseクラス+に"CBL-NEW”メソッドと して用意されている。生成したいクラスに対して "CBL-NEW''を送信するとインスタンスが生成される。 作成されたインスタンスには,識別子(オブジェク ト参照と呼ぶ)が付与され,"CBL-NEW''メソッドの 実効結果として送信側に返される。以後,このインス タンスは「オブジェクト参照+を使ってアクセスされる。

00COBO+プログラミング

00COBOLはCOBOL85と完全上位二わ二挽なので, 00COBOLによって従来どおりの構造化設計プログラ ミングができる。00COBOLを適用することにより,さ らに以下に述べることが実現できる。 3.1データ抽象の実現

データ抽象の考え方は1970年代中ごろに生まれ,情報

隠蔽(ぺい)あるいは部占占化と呼ばれてきた。内部処理の 変更を外のプログラムに波及させないすぐれた手法であ る。00COBOLでは,個々のオブジェクトの保持するデ ータへのアクセスをメソッドを介してだけ行うので,そ のままでデータ抽象プログラミングができる。 3.2 継承機能による差分コーディングの実現 上位クラスに含まれない自クラス特有の処理だけをコ ーディングすることを「差分コーディング+と呼ぶ。牛こf にビジネスアプリケーションでは類似の概念を扱うケー スが多いので,クラス階層を有効活用することにより, コーディング量の大幅削減が期待できる。 00COBOLは多重継承もサポートしているので,強力 な差分コーディングができる。 フ7イ州F】表示IV)アロゾ、ェ州P)-リール(T〉Jアシ])(0)実行IR)∼レれ川 蘭画匡直□[ヨヨ囲ヨ巨〕 Receわ†s.exe

E喜喜道三呂昌至言ト㌦

LR叩MenuO2≠∬ 実行フ7イル COBOLソース COBOしソース 豊】桑集原文 フ7イル定義フ7イル 登録集原文 レコード定義フフィル COBO+ソース 芸事景集原文 画面定義フ7イル ツールめオヲションま受定 □口ロロロロロロ 一一クタトト、ト 帽暗ラ伸一丁・刀化稚] ロ■”㌍宍紆討 ‖¶m¶巧Ⅷ¶¶ スバック情報の出力 □馳主アロケ、ラム生成 □娠似昌げログラム生成

⊂=正二二ニコ[二二重亘][二重□

図2 開発マネージャのイメージ画面 間発マネージャからコンパイラをはじめとする各ツールを呼び 出すことができる。 3.3 データの動的管理可能 従来のCOBOLは一つのデータ定義で一時に一つの値 しか扱えなかった。このため複数件のデータをループで

扱う場合など,新データを設定する際に前件データを捨

てざるを得ない。例えば集計値の計算を追加する際,前 作データ待避などのロジック修正が発チトする。 00COBOLでは複数件のおのおのに対してオブジェ クトが生成・管理できるので,さまざまな要求があとで 発生しても新規追加だけで済み,既存部分のロジック変 如が不要の場合が多い。 3.4 オブジェクト指向分析・設計手法とのタイアップ

00COBOLは従来の構造化手法の中で十分その効果

を発揮するうえに,本格的なオブジェクト指向分析・設

計手法と連携することにより,さらに効果を_Lげること

ができる。 _H患丁程で表現されるオブジェクトモテリレは,プログ ラム実装_1二程で作成するオブジェクトとギャップが小さ いことから,_卜流から ̄卜流までの開発がスムーズに行え る。実 ̄牡界モデルを反映した構造なので,変更・保!、1:に 強いプログラム構造が得られる。

00COBOLプログラミング環境

00COBOLは,UNIX版,WindowsNT版をサポート している。主にNT版に別して00COBOLのプログラム 環境について以 ̄卜に述べる。

このプログラミング環境では,00COBOL/COI∃OL85

コンパイラ,ブラウザ,テストデバッガ,データベース 定義,両面定義,ファイル・レコード定義,ISAM 29

(4)

858 日立評論 〉OL.了7 No.12(1995-1Z) =■■ コ)和一州C テ卦m 検索・一生作) 才アラコ)10)ウのドゥ(叫 ∼げ川) 逐次(少 0002mO OO82108 0082200 0002300 000Z4α:l 〔棚〕2500 0002¢∝l ∝旧27∝1 0002畠伽 0脚2gα〕 00030〔旧 0∝但10〔1 0鵬200 斬喧) P配CmE DIVISI珊. OP訓Ⅰ肝l汀 FILEI HOVE 55 TO 甲1-1. 鰐 削一1TO Wl-2. 1F甲1-1=甲1-2THEN DISPLÅY'1F訂rÅTEH訓T OK' nSE DISPLAY'IF STAT祖Ⅰ封TⅣ別呈上一 打旧一IF. 00肝l汀E甲ト3=利一2/削一1 C瓜⊥ 一SUBP' C札L '既SUB◆ mSE FILEl 08033押 mP 吼肘. K∝BlOO町-!テストデバッグを開始します。 g[t(文識別子)】 [叩(バラメタ文字列)] 1994一 AT HITÅCHI9)mÅR Ⅸ刀DE1 98〔叫28Z4 甘1-1 ‡'00000亡iOO' Vl-2 Ⅹ'0〔の00000一 FIIE-COⅣT艮)L. S旺.m FILEI ASSI(訓TO 〔拓Å椚ZATIO付 SE馴 DATA t)ⅠⅤISIOII. FILE SmI珊. FD FILEI ロムTAI氾刀RDIS DÅTAl. 01軸雅!;. OZ Ⅸ刀DEI PIC 9(朗∝l 図3 デバッガのイメージ画面 アニメ一夕モードでデバッグを行っている画面である。動作中に 実行速度を切り換えたり,一時停止・再実行させたりしてデータの 参照・設定などができる。 (IndexedSequentialAccessMethod),ソート(Sort), およびツールクラス ライブラリが一体となっている。 (1)開発マネージャ この環境に内蔵されるさまざまなツールの統合化およ び業務プログラムの統合的管理を図っているのが開発マ ネージャである(図2参月号号)。憤始文や登録集原文,画面 定義,ファイルレコード定義などのリソース管理,各リ

ソースに対応したツールの起動制御やツール間の情報交

換の制御,およびリソースの依存関係に基づく手順の自

動化機能がある。

(2)ブラウザ クラスやインタフェースの継承関係やプログラム間の CALLの関係をグラフ表示する(図2参照)ので,これら の関係がビジュアルに理解できる。また,表示ボックス をクリックするだけで,そのクラスの持つメソッドやデ ータの一覧表が表ホできる。また,ボックスからエディ タを起動して,該当クラスのプログラムのソースコード

編集ができる。

プログラムレビュー時や,開発時のクロスリファレン スとして使用する。 (3)テスト・デバッガ アニメータモード,対話モード,およびバッチモード がある。アニメータモードではプログラムの実際の動き を臼で確認しながらテストできる(図3参月日)。対話モー ドではコマンドを用いて対話的にテストを才fう。バッチ モードでは効率よく短時間に大量のテストができる。ま

た,00COBOL特有の機能として,メソッドの呼応関係

を表示するメッセージトレース機能,および特左メソッ ドの実行を表示するオブジェクトトレース機能がある。

最適化オブジェクトコード上で重力作するので,デバッ

グ彼のリコンパイルが不要である。 (4)各種定義機能 このほか,データベース定義,ファイル・レコード定

義,対話両面左義などの定義情報をGUI凪に定義できる。

(5)ツールクラス ライブラリ 基本クラスとサンプルクラスがある。基本クラスはコ レクションクラスなどデータを扱うクラスをライブラリ 化したもので,標準として規格化される見込みが高い。 サンプルクラスはマッチング,ソーティングなど業務で 頻出する機能を実現するクラスであり,業雅をオブジェ クト指向化する際のサンプルとして利用できる。

おわりに

ここでは,このたび製品化した,COBOL97の「プリ ビュー+ともいうべき00COBOLについて述べた。 00COBOLは,COBOL85と完全_L佗二千 ̄亡換であるととも に,オブジェクト指1らlデータベースや分散オブジェクト 指向環境などの新しいパラダイムの考えんとも親和性が 良い。すなわち,オブジェクト指向か古かという1か0 の選択ではなく,少しずつ過川できるので,比較的入り にくいといわれるオブジェクト指向の世界ヘスムーズに 入ることができる。 各稗ツールを内戚したオブジェクト指向COBOL・ COBOL85向けの本格的な統合開発支援環境をWindows NTおよびUNIXで製品化し,各種ミドルソフトウェア とも連携を進めている。/ト,COBOLの世界が徐々にで はあるが人きく変わろうとしている。 参考文献 1)AndrewT()pper:Object-Orientedl〕evelopmentinCOB(〕L,McGraw-Hill,Inc.(1995) 30

参照

関連したドキュメント

「養子縁組の実践:子どもの権利と福祉を向上させるために」という

IUCN-WCC Global Youth Summitにて 模擬環境大臣級会合を実施しました! →..

小・中学校における環境教育を通して、子供 たちに省エネなど環境に配慮した行動の実践 をさせることにより、CO 2

小学校における環境教育の中で、子供たちに家庭 における省エネなど環境に配慮した行動の実践を させることにより、CO 2

2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 地点数.

2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 地点数.

特に有機溶剤規制の遵守 作業環境濃度 特殊健康診断 消防法 危険物の表示と適正管理 危険物倉庫. 防爆仕様機械設備 悪臭防止法

※4: 国際規格 IEC60034-30 及び JIS C 4034-30 で規定されている効率クラスを満たすモータで、IE3