level of abstraction:抽象度,抽象化レベル
上智大学 伊藤 潔
2015年10月1日
level of abstraction 「抽象度,抽象化レベル」について述べます.
抽象データ型(abstract data type)と抽象,concrete, abstract, general: 具体的,抽象的,一般的 の項で述べたように,abstractやabstractionは,「抽象」と訳すときの「象」とは,かたち,姿,かたどりを意味します.「抽象」は,「かたち,姿,かたどりを外に引き出す」を意味します.これは,対象としているものを特徴づける重要な性質を取り出すことです.一般的ではありませんが,文脈によっては,「抽出」と訳してもいい場合もあります.
形容詞abstractは,「抽象的」ですが,意味合いは「曖昧な」とは限りません.動詞abstractは,「抽象化する,抽出する,取り出す」です. 抽象という日本語は,事物が一般的にとらえられているという意味と,具体性がない,曖昧という意味があります.abstractも曖昧という意味がありますが,日本では,前者の意味を捨て去ってしまうことが多々ありますので,注意が必要です.
abstractionは,「抽象化」で,対象の振る舞いや特性を決定する,本質的な重要な性質を抽出することです.枝葉末節な事柄や実現方法は表に出さない,ということです.曖昧にするとか,現実離れというような意味を強調すべきではありません.
C言語やJabaなどの高級言語で書かれたプログラムは,機械語で書かれたプログラムより, 抽象度が高いと言われます.これは,プログラムが実行されるコンピュータの詳細にとらわれないで,そのプログラムで行いたい処理やアルゴリズムプログラミングできるということです.処理やアルゴリズムに着目してそれを描き出している,それ以外にとらわれないで抽出しているということで,抽象度が高いのです.処理やアルゴリズムを曖昧に書いているわけでは決してありません,
また,model 「モデル」やdiagram 「ダイアグラム」で,specification 「仕様書」を作成するとき,この仕様記述は,抽象度が高いと言われます.この仕様書はimplemenation 「実装」の platform 「プラットフォーム」の詳細にとらわれないで作成されたものです.仕様記述している対象のシステムやソフトウェアで行いたい処理に専念して作成されたものです.行いたい処理に着目してそれを描き出している,プラットフォームにとらわれないで抽出しているということで,抽象度が高いのです.処理を曖昧に書いているわけでは決してありません,.
model 「モデル」 ☞ modeling: モデル化,モデル作成,モデリング
diagram 「ダイアグラム」 ☞ diagram: 図形,図,線図
specification 「仕様書」 ☞ specification(s):仕様化,仕様,仕様書
implementation 「実装」 ☞ implementation: 実装
abstract | 抽象化する,抽出する,取り出す | ||
abstract | 抽象的な,(曖昧な) | ||
abstraction | 抽象化,抽出 | ||
model | モデル | ||
diagram | ダイアグラム | ||
specification | 仕様記述 | ||
implementation | 実装 | ||
platform | プラットフォーム | ||