• 検索結果がありません。

ハイブリッドシステムモデリング言語HydLaの数式処理実行系

N/A
N/A
Protected

Academic year: 2021

シェア "ハイブリッドシステムモデリング言語HydLaの数式処理実行系"

Copied!
2
0
0

読み込み中.... (全文を見る)

全文

(1)情報処理学会第 73 回全国大会. 1B-5 ハイブリッドシステムモデリング言語 HydLa の数式処理実行系 高田 賢士郎 † †. 1. 早稲田大学大学院. 渋谷 俊 † ‡. 細部 博史 ‡. 国立情報学研究所. ††. はじめに. 上田 和紀 ††. 早稲田大学理工学術院 15. ハイブリッドシステムとは時間の経過に伴って状態. ht v. 10. が連続変化したり,状態や方程式が離散変化したりす. 5 ht, v. る系を指す.様々な分野のモデルを同じ枠組みによっ て統一的に扱えるため,その記述やシミュレーション,. 0 -5. 検証手法が研究されている [3].ハイブリッドシステム の記述形式としてハイブリッドオートマトンや Hybrid. -10. CC があるが,複雑なモデルの制約を過不足なく記述す るのは困難であったり,計算の精度が保証されていな. -15 0. 1. 2. 3 time. 4. 5. 6. いために厳密なシミュレーションが行えない.我々は. 図 1: 物体が自由落下し地面で弾むモデルの実行結果. より簡潔な記述を目指したモデリング言語として,制 約概念と制約階層 [1] に基づくモデリング言語 HydLa. ht は物体の位置(高さ),v は速度を表す関数変数で ある.1–3 行目の INIT,FALL,BOUNCE は制約の定義. [5] を提案,開発している.現在開発中の HydLa 処理 系は,高信頼なシミュレーションを行うことでシステ. で,INIT は時刻 0 における初期値を,FALL は連続変化 (自由落下)を,BOUNCE は離散変化(床との衝突)を. ム検証に役立てることを目標としている.計算手法の. 記述している.なお,[] は時刻 0 以降常に成り立つ制. 1 つとして数式処理を採用しているが,簡単な例題し か扱うことができず,パルス関数のように,離散変化. する条件付き制約であることを,ht’ は ht の時間微分. 時刻と連続変化時刻とを厳密に扱う必要があるような. を,ht-は ht の左極限値を表す.4 行目で制約の合成. モデルは正しいシミュレーション実行ができなかった.. を行っている.FALL と BOUNCE について,両者が矛盾. そこで,新たに定式化した HydLa の実行アルゴリズ ム [4] に基づき,数式処理によるシミュレーション実行 系の改良を行った.本論文では HydLa の数式処理実行 系において新しく導入した改良点について述べる.. 2. 約であることを,=>は左辺を条件式(ガード条件)と. した場合は BOUNCE を優先的に採用するように合成し, さらに優先順序を付けずに INIT を合成している.. 3 HydLa 処理系 HydLa 処理系は,入力された HydLa プログラムを. HydLa とそのモデリング例. システムが満たすべき仕様と見なし,それを満たすよ. HydLa はハイブリッドシステムを記述するための,制 約概念に基づいた宣言型言語である.HydLa プログラ. うな解軌道を計算することでシミュレーションを行う.. ムの変数は時刻についての関数変数であり,システム. を行い,次にプログラム中に与えられた制約階層を解. が満たすべき条件(制約)を等式・不等式と微分方程. き [2],解候補モジュール集合の集合を求める.続いて,. 式により記述することでモデリングを行う.また,制. 離散変化を扱うポイントフェーズ(PP)と,連続変化. 約間には優先度を設けることができ(制約階層),最. を扱うインターバルフェーズ(IP,2 つの PP を両端と. 低限の記述でシステムの挙動を記述できる.. する開区間)とを交互に行い,シミュレーションを進. 処理系はまず入力として受け取ったプログラムの展開. 例として物体が自由落下し地面で弾むモデルの HydLa. める.シミュレーション中に必要となる具体的な計算. プログラムを以下に示す.また,このモデルが描く軌. は,実際には外部のソルバを呼び出し,使用すること. 道(解)を図 1 に示す.. によって行われる.HydLa 処理系内には仮想的な制約. INIT <=> ht = 10 /\ v = 0. FALL <=> [](ht’ = v /\ v’ = -10). BOUNCE <=> [](ht- = 0 => v = -(4/5)*v-). INIT, (FALL << BOUNCE).. ソルバがあり,この機構により,さまざまなソルバに よる計算を扱えるようになっている. 数式処理によってシミュレーションを行う数式処理. A Symbolic Simulator of Hybrid Systems Modeled in HydLa Takata, Shun Shibuya, Graduate School of Sci. and Engr., Waseda University ‡ Hiroshi Hosobe, National Institute of Informatics †† Kazunori Ueda, Faculty of Sci. and Engr., Waseda University † Kenshiro. 実行系に対して行った改良点について述べる.ただし, 扱う対象としては,[4] のアルゴリズムで扱えるものの うち,解軌道が一意に定まるようなモデルに限定して いる.. 1-247. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(2) 情報処理学会第 73 回全国大会. 4. 数式処理実行系の改良. 4. 数式処理によるシミュレーション実行における主な. a b. 3.5 3. 計算は,各フェーズで成立すべき制約の連言である制. 2.5 a, b. 約ストアを用いて行われる.制約ストアには,各フェー ズで採用した制約に加え,前フェーズ終了時の各変数. 2 1.5. の値に関する制約が追加される.すなわち,PP では左. 1. 極限値に関する制約,IP ではフェーズ開始時点で成立. 0.5. する制約(初期値制約)が含まれる.数式処理実行系. 0 0. に新たに改良を加えた点としては以下のようなものが 挙げられる.. 0.5. 1. 1.5. 2 time. 2.5. 3. 3.5. 4. 図 2: パルス関数のモデルの実行結果. 1. PP での左連続性制約追加 — PP において,ある 変数の微分値に関する制約を採用している場合 は,その変数の左連続性に関する制約を制約スト アに新たに追加する.これにより,連続な変数を 正しく扱うことが可能になる.. り,パルス関数の挙動をしていることが分かる.これ は,IP でのガード条件判定において,時刻 3 の “直後” では PULSE のガード条件 a-=3 が成立しないことを正 しく判定できているからである.なお,このモデルに おいて a は常に連続な変数であるので,このガード条 件は左極限値を用いず a=3 と記述しても意味合いは変. 2. IP でのガード条件判定 — 制約ストアの下でガー ド条件が満たされるかどうかを調べるガード条件. わらないはずであり,実際にそのように記述した場合. 判定 [4] については,IP ではフェーズ開始 “直後”. た.これは,PP において微分制約 a’=1 によって左連. に関しての判定を行う.これは,IP は開区間によ. 続性制約 a=a-が制約ストアに追加された結果,ガード. り表されるためである.. でも正しくシミュレーションが行えることが確認でき. 条件判定が正しく行われるためである.また,IP にお. 3. IP での微分方程式求解における初期値制約の選 択 — IP において微分方程式を解く際は,制約ス トア内にある初期値制約のうち適切なもののみを. いて a は増加し続ける関数,b は 1 という定数関数と それぞれ求まっており,適切な初期値制約を選択した 上で微分方程式の求解が行われたことが分かる.. 選択する必要がある.これは,PP から渡された. 6 まとめ. 初期値制約をすべて使って解こうとすると,モデ ルによっては過剰決定系扱いになってしまい,微. HydLa の数式処理実行系の実装を行った.これによ り,解軌道が一意に定まるようなモデルについては数. 分方程式が解けないことがあるためである.. 式処理に基づいた正しいシミュレーションを行うこと が可能になった.今後は,複数の解軌道を持つモデル. 1. と 3. については,採用している制約内に存在する各 変数について最大微分回数を求め,それより小さい微. にも対応させることで,シミュレーションの幅を広げ るとともに,検証分野への応用をめざす.. 分回数のものについて,制約の追加・選択を行う.. 5. 謝辞 本研究の一部は,科学研究費補助金(基盤研究(B). 数式処理実行によるシミュレーション例 以上の改良を C++言語で実装し,正しいシミュレー. ションが行えることをパルス関数のモデルを元に確認 した.パルス関数は,モデルにおいてあるイベントが 一瞬だけ起きる際にそれをとらえる信号として役立つ. 以下は時刻 3 で上がるパルス関数を表す HydLa プログ ラムであり,数式処理実行系によるシミュレーション 結果を図 2 に示す.なお,数式処理のソルバとしては. Mathematica を使用した. INIT TIMER FLAT PULSE INIT,. <=> a = 0. <=> [](a’ = 1). <=> [](b = 1). <=> [](a- = 3 => b = 2). TIMER, (FLAT << PULSE).. 実行結果から,時刻 3 での PP において b の値が 1 から 2 となり,続く IP において b の値は再び 1 とな. 20300013)の補助を得ておこなった.. 参考文献 [1] Borning, A., Freeman-Benson, B., Wilson, M. : Constraint Hierarchies. Lisp and Symbolic Computation, Vol. 5, No. 3, pp. 223–270, 1992. [2] 廣瀬賢一, 大谷順司, 石井大輔, 細部博史, 上田和紀 : 制約階層によるハイブリッドシステムのモデリン グ手法, 日本ソフトウェア科学会第 26 回大会講演 論文集, 2D-2, 2009. [3] Lunze, J., Lamnabhi-Lagarrigue, F. : Handbook of Hybrid Systems Control: Theory, Tools, Applications. Cambridge University Press, 2009. [4] 渋谷俊, 高田賢士郎, 細部博史, 上田和紀 : ハイブ リッドシステムモデリング言語 HydLa 処理系にお ける実行アルゴリズム, 日本ソフトウェア科学会第 27 回大会講演論文集, 1B-2, 2010. [5] 上田和紀, 石井大輔, 細部博史 : ハイブリッド制約言 語 HydLa の宣言的意味論, コンピュータソフトウェ ア, Vol. 28, No. 1, 2011 (掲載予定).. 1-248. Copyright 2011 Information Processing Society of Japan. All Rights Reserved..

(3)

参照

関連したドキュメント

チツヂヅに共通する音声条件は,いずれも狭母音の前であることである。だからと

関係委員会のお力で次第に盛り上がりを見せ ているが,その時だけのお祭りで終わらせて

この数字は 2021 年末と比較すると約 40%の減少となっています。しかしひと月当たりの攻撃 件数を見てみると、 2022 年 1 月は 149 件であったのが 2022 年 3

12―1 法第 12 条において準用する定率法第 20 条の 3 及び令第 37 条において 準用する定率法施行令第 61 条の 2 の規定の適用については、定率法基本通達 20 の 3―1、20 の 3―2

本論文での分析は、叙述関係の Subject であれば、 Predicate に対して分配される ことが可能というものである。そして o

つまり、p 型の語が p 型の語を修飾するという関係になっている。しかし、p 型の語同士の Merge

 このようなパヤタスゴミ処分場の歴史について説明を受けた後,パヤタスに 住む人の家庭を訪問した。そこでは 3 畳あるかないかほどの部屋に

・条例第 37 条・第 62 条において、軽微なものなど規則で定める変更については、届出が不要とされ、その具 体的な要件が規則に定められている(規則第