JorKerbalSpaceProgramming
| 分野 | 仮想宇宙運用・計算機制御 |
|---|---|
| 主目的 | 手順と軌道の同期最適化 |
| 一般的な入力 | 姿勢指令・推力プロファイル・制約条件 |
| 代表的な出力 | ミッション手順書(自己整合版) |
| 中心組織 | JorKerbal宇宙手順研究所(架空) |
| 成立年(通説) | |
| 関連語 | JorKSP、KSP手順言語 |
| 批判点 | 過剰な抽象化と再現性不足 |
(じょーかーばるすぺーすぷろぐらみんぐ)は、宇宙飛行の手順を計算機に「託す」ための、型プログラミング様式であるとされる[1]。とくにとを同時に扱う点で、技術者の間でも一種の流行語となった[2]。
概要[編集]
は、宇宙機の制御を「コード」ではなく「手順の文脈」として記述することで、設計者の意図を崩さずに実行可能性へ落とし込む、という理念に基づくとされる[1]。そのため、従来の制御工学のように数式中心でなく、手順書・チェックリスト・例外処理までを同一形式で扱う点が特徴とされる。
この様式はに、個人開発者の間で広まった「宇宙飛行“っぽい”計画」を、チーム開発でも通用する形へ整える必要から生まれたと説明される[3]。ただし、実装は必ずしも統一されていないため、同名の派生手法が多数存在することも指摘されている[4]。
概要(一覧でなく概念地図)[編集]
JorKerbalSpaceProgrammingでは、ミッションを「軌道」だけでなくとの“段取り”として定義することが多いとされる。段取りの粒度は、初期案では「分単位」だったが、後述の標準化会議の結果「秒単位」へ引き上げられたとされる[5]。
また、手順はを含むのが通例である。たとえば、着火が「予定より-3.2%遅れた」場合に限り、予備燃料の振替順序を逆にする、といった冗長な規定があえて盛り込まれることがある。これにより、失敗しても“説明可能”であることを重視する思想が語られてきた[6]。
歴史[編集]
誕生:港の倉庫と「1,184行の手順書」[編集]
通説では、の原型は、東京都の倉庫転用施設に集まった開発者たちの、ささやかな“共同訓練”から始まったとされる[7]。同年の社内(という扱いの)メモには「1,184行の手順書を、同じ順番のまま再実行できることが最重要」と書かれていたとされる[7]。
その後、手順書は単なるログではなく、再計算の入力としても読める形式へ整理された。特に、推力プロファイルは配列化され、各要素に「姿勢の理由」ラベルが付与されたと説明される。ここでのラベルが、のちにと呼ばれる分類へつながったとされる[8]。
なお、この原型が誕生した倉庫の住所は、出典によっての番地が微妙に異なるという指摘がある。ある編集者は「資料が倉庫の改装で散逸した」とまとめ、別の編集者は「番地が“ゲーム内座標”由来だった」と推定した[9]。
標準化:KSP手順言語会議と“秒粒度の呪い”[編集]
2011年には、名目上の業界団体である(通称:SJIC)が、JorKerbalSpaceProgrammingを含む手順記述の互換仕様を検討したとされる[10]。この会議で合意されたのが「手順の主要イベントは原則として粒度で表現する」ルールである[10]。
会議報告書では、最小の粒度を巡る議論が異様に具体的で、「1秒未満を許すと、遅延が“理由”から切り離される」「しかし1秒超だと“次に何をするか”が見えなくなる」と記載されたとされる[11]。この結果、秒粒度の採用に伴い、手順の長さは平均で約2.7倍に膨れたと推計された[11]。
さらに、規約案には“呪い”のような条文があり、「外乱が検出された場合、最初に速度を疑い、次に姿勢を疑い、最後に手順自体を疑え」という順序が盛り込まれたとされる[12]。このため、参加者の一部が皮肉として「秒粒度の呪い」と呼ぶようになった、とも記録されている[12]。
展開:JorKerbal宇宙手順研究所と行政寄りの物語化[編集]
2013年、(所在地:架空の“研究所都市計画区域”)が設立されたとされる[13]。研究所の役割は、手順を“コード化”するだけでなく、審査資料の体裁にまで整えることだったと説明される。
同研究所が公開した「自己整合版ミッション手順書」は、提出時に要求される形式が各機関で異なる問題を背景としている。たとえば、風の様式、風の様式、さらに「学会提出用の脚注過多様式」といった、架空の提出フォーマットが比較表にまとめられたとされる[14]。
一方で、手順が“物語化”されすぎるという批判も早期からあった。研究所の広報資料では「宇宙は物理であり、手順は情緒である」と断言したとされるが、実際には根拠が薄いとする編集者もいた[15]。
実装の特徴と具体例[編集]
JorKerbalSpaceProgrammingでは、よくに近い形で「これを達成する」ことを先に書き、その後にとを埋め込むとされる。たとえば、軌道への進入条件を満たすための姿勢制御は、数値の列であると同時に“なぜその角度なのか”の説明でもある、と説明される[16]。
具体例として、架空の事例ではあるが「小惑星K-17へ向かう夜間ミッション」で、着火までの待機を“理由つき”で記述したところ、待機解除が予定より41ミリ秒早まっても整合性が保たれた、とする報告がある[17]。ただし、追試では待機解除の平均ズレが56ミリ秒へ拡大し、理由のラベル付けが再配置されたことが後から判明したともされる[18]。
また、モジュール制御の呼称は、物理モジュールそのものではなく、手順上の“分割点”へも適用される場合がある。分割点は「燃焼計画の責任範囲」を意味するとされ、同一モジュールに矛盾が生じた場合、最終的に“手順の語り直し”が要求される仕組みだと紹介される[19]。
批判と論争[編集]
最大の論争は、再現性の問題である。手順が情緒や理由を含むため、同じ入力でも解釈が変わり得るのではないか、という指摘がある[20]。とくに、秒粒度の呪いによって手順長が増えると、編集者の癖が仕様へ混入しやすいという懸念が示された。
また、標準化協議会では互換性が主張された一方、実装差が残ったまま“互換”だけが先に広まったとする見方もある[21]。その結果、ある派生では例外規定が「速度→姿勢→手順」の順ではなく「姿勢→速度→手順」へ入れ替わったとされ、ユーザーコミュニティで混乱が起きたと報告される[22]。
さらに、行政寄りの物語化が、実際の審査や安全性評価を軽視しうるのではないかとする批判もある。ただし擁護側は「物語は検証のための索引である」と主張したとされ、論争は長く続いた[23]。なお、ある要約記事では“安全性は数学より感情に依存する”とまで書かれたが、出典が不明とされている[24]。
脚注[編集]
関連項目[編集]
脚注
- ^ 渡辺精一郎『手順としての宇宙:JorKerbalSpaceProgrammingの系譜』恒星出版社, 2012.
- ^ Margaret A. Thornton「Procedure Context in Virtual Guidance Systems」『International Journal of Mission Software』Vol.18 No.4, 2014, pp.33-58.
- ^ 佐伯玲音『自己整合ミッション手順書の実務』電算技術社, 2015.
- ^ 田中彰吾・小野寺藍「秒粒度がもたらす整合性と混乱:SJIC報告の再検証」『計算航法論文集』第6巻第2号, 2016, pp.101-129.
- ^ Hiroshi Saitō「Modular Responsibility Boundaries in Procedure-First Control」『Aerospace Informatics Review』Vol.9 Iss.1, 2017, pp.1-22.
- ^ Nguyen Thanh「Narrative Auditing for Exception Rules in Simulated Missions」『Journal of Systems & Stories』第3巻第1号, 2018, pp.77-96.
- ^ 【宇宙手順整合化協議会】『SJIC互換仕様草案(ドラフト)」SJIC文書, 2011.
- ^ JorKerbal宇宙手順研究所『提出様式の比較表:国別の“脚注過多”傾向』JorKerbal研究所報告, 2013.
- ^ 林田昌之「港区倉庫メモの真偽と番地のズレ」『アーカイブ史学会誌』Vol.2 No.3, 2019, pp.210-236.
- ^ S. K. Ramaswamy『情緒と検証の境界線(第2版)』Hyperion Academic, 2020.
外部リンク
- JorKerbalWiki(手順例集)
- SJIC互換仕様アーカイブ
- 秒粒度の呪いまとめ
- 例外規定ライブラリ
- 自己整合版手順書ギャラリー