-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Description
現状の問題
satconfigの、特にcommand prefix部分について、以下のような問題がある
構造が現在のメンタルモデルとそぐわない
現在satconfigのcmd_prefix_mapの構造は、旧コマンド送信画面におけるコマンドの構文のそれに直接対応したものになっている。
一方opslangでは、execution_type=TL, destination_type=MEのものについて(すなわちMOBCでキューイングされたあとdestinationに配送されるものについて)、@TL.MOBC @@AOBC のような表記を採用している。
この構造は既存のsatconfigのものと一致せず、現在のopslangの実装は
- "MOBC"という文字列をインタプリタに直接埋め込み、これ以外にキューイングしようとするもの(
@TL.AOBC @@AOBC等)をエラーにする - 一旦
cmd_prefix_map.TL.MOBCを参照してから、これとexecution typeが一致してdestination typeがTO_MEになりコンポーネントがAOBCとなるものを検索して、これにcommand prefixを書き換える
というアドホックな実装になっている。(https://github.com/arkedge/gaia/blob/8a1bf555818d538ad406ed2dfd29c67c08a2aeec/devtools-frontend/src/components/CommandView.tsx#L38C3-L73C7)
メンタルモデルからしても、RT TLといったexecution typeの下にコンポーネントがあるのではなく、コンポーネントごとに利用可能なexecution typeが定まるべきである。
TIの種類についての情報がない
現状TIについては has_time_indicator : bool があるのみで、TL/BL/UTLによる解釈の情報がない。
opslangではDateTime型を利用してTIを指定することができるが、これはUTLに対してのみ利用可能とすべきで、この情報はsatconfigに含まれているべきである。
望ましいsatconfigの構造
以上を解決するには、satconfigのコマンド情報部分は
"MOBC": {
"transferrable" : ["AOBC"], // MOBCでキューイングしてからAOBCに配送することが可能なことを表す
"types" : {
"TL" : {
"execution_type" : 1,
"ti_type" : "TL",
}
}
}
のような構造を持つことが望ましい
sksat
Metadata
Metadata
Assignees
Labels
No labels