[英]Flow through interface in SysML
我想知道如何在 SysSML 框圖中將流經兩個組件的數據與它們公開的接口聯系起來。
例如,假設您有一個主管組件為較低級別的 controller 設置參考。 controller 公開了一個接口Operations ,該接口具有操作set_reference() ,后者指定了一個浮點參數引用。 主管將使用該接口有效地為較低級別的 controller 設置參考。 該操作告訴兩個組件之間存在數據流(例如每個組件也有一個流端口),並且交換的數據是參考。 你會如何 model 這個場景在 SySML 中? 是否存在一種方法來指定接口和數據流並說“看,這個數據流是通過這個接口實現的”。
非常感謝你的幫助
塊定義圖通常不用於顯示系統組件之間的流程。 相反,您將使用系統的內部框圖,其中包含兩部分s:Supervisor
和c:Controller
。
要指定 controller 提供操作set_reference(r:float)
您可以使用 InterfaceBlock 作為controller
的端口類型。 相同的 InterfaceBlock 將用作supervisor
的端口的類型。 然而,這一次是共軛的。 這將通過添加一個~
符號來顯示。 然后你需要通過它們的端口連接它們。 這已經足以指定一個浮點值可以流過連接器。 不需要其他任何東西。
但是,有時您還沒有決定如何實現流程(有不止一種可能性set_reference
操作,正如您所做的那樣,由supervisor
或流程屬性提供的get_reference
操作)。 因此,您只想指定某些項目流動的需要,而不是機制。 在這種情況下,您可以在沒有類型的情況下保留端口,並且 model 在連接器上保留 ItemFlow。 它將顯示一個實心三角形,放置在連接器中心附近的某處,並標有流動項目的名稱和類型。 通過稍后自動創建接口塊和操作,工具甚至可以為您提供支持。
正如我所說,如果您已經知道如何實現流程,那么對 ItemFlow 建模是多余的。 當然,如果您想限制特定系統中的可能值。 可以說, double
是一個特定的float
,並且在您的系統中只會使用doubles
,即使 controller 也可以處理singles
。 這可以用double
類型的 ItemFlow 來表示。
有些人更喜歡只使用 model ItemFlows 並省略連接器。 單獨的 ItemFlows 顯示為帶有關鍵字 «flow» 的虛線箭頭。 我建議不要這樣做,因為 ItemFlows 並不意味着這些部分是連接的(流程可以通過中間元素來實現)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.