0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

要求仕様 形式記述言語VDM++ 識別子として日本語は使われているのか

Last updated at Posted at 2023-10-15

はじめに

上流工程ではどの程度日本語が使われているのかを調査するため、工程上の位置づけは内部設計の上になりますが、要求仕様記述段階での使用が主に想定されているVDM(Vienna Development Method)1の具体的な記述例を引き続き2 調査しました。

この記事内容の作業目的

内部仕様の記述用に設計したロジック仕様記述言語 Re:Mind(リマインド)3 が要求仕様記述用途で使用できるか、不足する言語仕様要件はなにかといった点を検討しています。要求仕様->内部仕様->実装で一貫した形式記述を採用することで、開発工程の生産性向上に寄与することが目標です。ここでいう「一貫した形式記述」とは、VDMのような数学形式に限定されません。

形式記述言語VDM++の日本語識別子の記述例

厳密な仕様記述入門 - IPA (独)情報処理推進機構

血縁関係のクラス定義など、基本的に日本語で例示されています。

[PDF] 厳密な仕様記述入門 - IPA 独立行政法人 情報処理推進機構 2013/3

VDMによる画面機能仕様記述 - 日本科学技術連盟

「検索条件を入力する」など、基本的に日本語で例示されています。

[PDF] VDMによる画面機能仕様記述 - 品質管理なら日本科学技術連盟 2014/2

「VDM++仕様記述と分析」の定石と手筋 - ソフトウェア技術者協会

「蔵書を削除する」など、基本的に日本語で例示されています。

[PDF] 「VDM++仕様記述と分析」の定石と手筋 2017

VDMTools VDM++開発手法ガイドライン - 九州大学

プラントクラスのクラス定義など、基本的に日本語で例示されています。

FMVDM-> github [PDF] VDMTools VDM++開発手法ガイドライン1.0 2016

いまさら聞けない 形式手法入門 - MONOist

VDM++のクラス定義例で、「平方根」といった日本語が使われています。

MONOist いまさら聞けない 形式手法入門

おわりに

VDM++の日本語の各種資料から、日本で使われる場合は構文中に日本語の識別子が普通に使われていることが読み取れます。やはり、直接関係する情報(解決課題や要求)が自然言語の日本語で書かれている場合は、その仕様記述として同じ日本語の用語を使用し続けるのに実装言語のような抵抗はないと見受けられました。

要求仕様から実装方法の記述詳細化もできるとされる形式記述言語VDM++の、もう少し構造化手順よりの構文(Re:Mindの◇、一般的にはif文switch文、Re:Mindの〇、一般的にはforループ)をVDM++ではどのように使っているのかを調べてみます。

  1. IBMのウィーン研究所で1960年代から70年代にかけて開発された形式手法。その実装には1996年にISO標準(ISO_IEC_13817-1)となったVDM-SLと、そのオブジェクト指向拡張のVDM++がある。

  2. Qiita IPA (独)情報処理推進機構の「厳密な仕様記述入門」を読み解く - 要求仕様 形式記述言語VDM/VDM++ 参照

  3. Qiita オープンな設計言語仕様 日本語ロジック仕様記述言語 Re:Mind(リマインド) 参照

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?