« 外資企業と打ち合わせ | トップページ | RoseRealTimeからRhapsodyとの対応 »

2008年9月 6日 (土)

ソフトウエアアーキテクチャ設計

今回は書籍「ADA-言語とプログラミング方法論(丸善)」と共にソフトウエアアーキテクチャ設計について考えてみ見たい。

ソフトウエア言語はソフトウエア開発の発展と共に多くの言語が誕生し利用されてきた。

1980年代以降の言語は単にソフトウエア言語というよりも、ソフトウエア工学に基づく考え方を言語機能、開発環境としてどのように支援するかという点が強調されている。

ADA言語はAda83、Ada85と発展して来たが、それまでの(そして現在でも)規模・リアルタイムシステム向けの言語としてはかなり多くの特徴と利点を備えている。

特徴の多くはソフトウエア工学に基づく分析・設計・実装の考え方をAda言語としてサポートしている点である。

大規模開発時の並行開発やサブシステム分割作業の支援(パーーケージ機能、密閉型、密閉限定型、汎用型、汎用体)、リアルタイムスケジューリング設計支援、タスク機能(タスク型、ランデブー、実時間指定、割り込み支援)、ハードウエア環境の移植性支援、厳しい型チェック支援、動的型チェックと解除、オブジェクト指向テクノロジーなどなど極めて多くの機能を持つ。

つまり、ソフトウエアアーキテクチャ設計にとって非常に重要かつ効果的な機能を備えている。

逆に言うとソフトウエアアーキテクチャ設計を厳密にしなければならない分野のエンジニアのための言語である。

Adaを使いこなすには、単にAdaの文法だけでなくソフトウエア工学に基づく多くの知識を必要とする。

そのために、Ada言語の解説書は海外の書籍を中心に、Ada言語と共にソフトウエア工学に基づくアーキテクチャ分析・設計の解説がされている。

今回の書籍「ADA-言語とプログラミング方法論」も、Adaの機能の解説と共に、大規模開発設計や実時間設計、移植性の考慮などソフトウエア工学と同時に解説している。

学校の教科書として使うには適した書籍と言語であるかもしれない。

しかし、Ada言語は良くも悪くも素人向けの言語ではなく、ソフトウエア開発の専門家のための言語であるために、勉強で簡単なプログラムを作成して動かすという点では全くAda言語の良さが見えてこない。

一見武骨なくらい多くの考慮が必要となる。つまり、安直にシステムを設計できないようになってている訳だ。だから、Adaの良さを理解するには表面的な判断は危険である。

Adaのコンパイラーは方言が無いことでも有名である。コンパイラーとしての正式な認定を取らないと認められないからである。これにより、言語仕様順守と移植性を保障している。

以上から、開発現場の課題や問題を如何にソフトウエア工学を利用して設計し、Ada言語で実装するかという点まで考えないと良さが見えてこないのである。

これは大規模、ミッションクリティカル、リアルタイムシステム、HWの依存性・移植性の問題への対応、拡張性を備えたアーキテクチャ設計など数多くの課題を抱えたシステム向きと言える。

本書は翻訳され600ページを超える書籍だが、それでもAda言語の特徴をすべてを解説しきれない(機能が多いので仕方ないことである)。翻訳版は1991年の出版であるが、当時の値段で12360円もする。

Ada言語で開発をしていた時代がかなりあったが、C++やJavaその他の言語を使う機会が増えた今でもAda言語ほど優れた大規模、ミッションクリティカル、リアルタイムシステム、HWの依存性・移植性の問題への対応、拡張性を備えた言語は他に見当たらない。

Ada1_8 Ada2_4Ada3_4 Ada4_3 Ada5_4 Ada6_3 Ada7_3 Ada8_3

=HSCI Takanari Hashimoto(URL:http://hsc-i.com/)=

|

« 外資企業と打ち合わせ | トップページ | RoseRealTimeからRhapsodyとの対応 »

「パソコン・インターネット」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/112989/42394756

この記事へのトラックバック一覧です: ソフトウエアアーキテクチャ設計:

« 外資企業と打ち合わせ | トップページ | RoseRealTimeからRhapsodyとの対応 »