vdm++で乱数ジェネレーターを実装しました。しかし、私はシードをコンピューターからの時刻にしたかったのです。c++関数と同等のvdm++関数があるかどうか誰かが知っていますtime(NULL)
か?
ありがとうございました。
システム時刻を取得するための組み込み lib は存在しませんがtime(NULL)
、VDM 用の Overture IDE を使用している場合、Java でそのような関数を作成してモデルにリンクするのは簡単です。
Overture ユーザー ガイドには、これに関するセクションがあります: 14.1 Overture から使用する独自の Java ライブラリを定義する。
次のようなシステム時間を提供する Java クラスを含む jar ファイルを作成する必要があります。
public class SystemTime
{
public static Value time()
{
return new RealValue(System.currentTimeMillis());
}
}
そして、その VDM の対応物:
class SystemTime
operations
public static time : () ==> real
time() == is not yet specified;
end SystemTime
次に、jar ファイルと vdm ファイルを次のようにプロジェクト内に配置します。 Project root/ lib/ systemtime.jar systemtime.vdmpp
これで、VDM オペレーション SystemTime`time() を使用してシステム時間を取得できるようになりました。