DESTECS/Crescendoセミナーの内容を聞いてきた。その内容をメモメモの続き。
VDMはあんまり時間概念・リアルタイム・並行処理つよくないけど、
そのへんのリアルタイムを拡張した、VDM-RTの説明について
講師は石川先生。
VDM-RT
イメージ:VDM++
モデル規範がた
class イベント参加登録管理システム
登録済みユーザー集合:set of 「ユーザー識別し」;
定数:nat1;
inv card 登録済みユーザー集合 <= 定員
抽選登録する:set of 「ユーザー識別し」==>「ユーザー識別し」
抽選登録する(引数ユーザー集合)==is not yet specified
pre
card 登録済みユーザー集合< 定員
and exists ユーザー in set 引数ユーザー集合
& ユーザー not in set 登録済みユーザー
post
登録済みユーザー集合=登録済みユーザー集合~union{RESULT}
and RESULT in set 引数ユーザー集合
and RESULT not in set 登録済みユーザー集合~;
is not yet specified:未定義→この段階では決めない
背景:VDM
・ゴール:根拠に基づきつつ、利用しやすいモデリング、分析の技術
・VDM Tool→Overture→Crescendo→Symphony
実用的な開発方法論
産業応用
・VDM モデル規範型の仕様記述言語
オブジェクト指向と実時間性による拡張
静的解説のための基本ツール
シミュレーションの強力な支援
モデルベーステスト
・フェリカが有名→いま日本語仕様やめてVDMにしている
VDM-RT:VDMのリアルタイム拡張
単純なControllerクラス
→スレッドの定義
コメント
20-simと同期させる変数
mesured
setpoint
err
output
関数
pure:副作用なし、ループは使わない
オペレーション:
作用アリ(インスタンス変数をいじる)
while文とかも書ける(ループOK)
ローカル変数 dcl
RTの場合
threads
→何秒間隔、ぶれの可能性を書く
VDM-RTの重要な特徴
・リアルタイム拡張
・内部クロックは20-simと同期される
・CPU,バスもフレームワーク化されている
DE-Firstモデリング
VDMはあんまり時間概念・リアルタイム・並行処理つよくないけど、
そのへんのリアルタイムを拡張した、VDM-RTの説明について
講師は石川先生。
VDM-RT
イメージ:VDM++
モデル規範がた
class イベント参加登録管理システム
登録済みユーザー集合:set of 「ユーザー識別し」;
定数:nat1;
inv card 登録済みユーザー集合 <= 定員
抽選登録する:set of 「ユーザー識別し」==>「ユーザー識別し」
抽選登録する(引数ユーザー集合)==is not yet specified
pre
card 登録済みユーザー集合< 定員
and exists ユーザー in set 引数ユーザー集合
& ユーザー not in set 登録済みユーザー
post
登録済みユーザー集合=登録済みユーザー集合~union{RESULT}
and RESULT in set 引数ユーザー集合
and RESULT not in set 登録済みユーザー集合~;
is not yet specified:未定義→この段階では決めない
背景:VDM
・ゴール:根拠に基づきつつ、利用しやすいモデリング、分析の技術
・VDM Tool→Overture→Crescendo→Symphony
実用的な開発方法論
産業応用
・VDM モデル規範型の仕様記述言語
オブジェクト指向と実時間性による拡張
静的解説のための基本ツール
シミュレーションの強力な支援
モデルベーステスト
・フェリカが有名→いま日本語仕様やめてVDMにしている
VDM-RT:VDMのリアルタイム拡張
単純なControllerクラス
→スレッドの定義
コメント
20-simと同期させる変数
mesured
setpoint
err
output
関数
pure:副作用なし、ループは使わない
オペレーション:
作用アリ(インスタンス変数をいじる)
while文とかも書ける(ループOK)
ローカル変数 dcl
RTの場合
threads
→何秒間隔、ぶれの可能性を書く
VDM-RTの重要な特徴
・リアルタイム拡張
・内部クロックは20-simと同期される
・CPU,バスもフレームワーク化されている
DE-Firstモデリング