2013-08-17 27 views

回答

3
  1. 有什麼動作的語義和UML模型的操作語義之間的區別是什麼?

他們是相關的但單獨的舉措。行動語義是較早的行動。它源自UML不能用於構建可執行模型的承認,因爲它缺乏用於描述處理操作的構造:分配,事件生成等。最初的意圖是產生動作語言來解決這些缺陷。但是:所涉及的人無法就語言語法達成一致。所以相反,他們產生了動作語義:僅在抽象語法級別上需要的構造的定義。然後供應商/實施者可以自由使用他們自己的表面語法。

已經有多種計劃爲UML生成操作語義(some examples)。但是,總的來說,它們不是由OMG直接製作的,也不是爲OMG製作的。大多數是獨立的研究計劃。

據我所知,沒有單一的,規範的UML操作語義。最接近的東西可能是fUML和相關的Alf規格。爲了構建可執行模型的明確目的,fUML形式化了UML的一個子集。 Alf是fUML的具體語法。 fUML定義了一個執行它描述爲「UML結構的行爲語義,指定隨時間推移的操作行爲,描述或約束所建模域中的允許行爲」。

Alf/fUML可以看作是原始動作語義工作的進化。雖然阿爾夫規格的標題是Concrete Syntax for a UML Action Language它包括所有以建立可執行的模型,包括類,關係,狀態模型所需的元素語法等

是否有他們每個人的標準規範?

  • 動作語義最初被髮布了作爲一個單獨的規範,然後將其在1.5版本合併到主UML規範 - 規格here
  • AlffUML(如上面鏈接)

是否有實現工具進行開發?

有一個Alf的參考實現& fUML here。各種工具支持使用動作語言構建可執行模型,例如xtuml editor(免費,開源)和MagicDraw通過Cameo simulation toolkit(專有)。

hth。

PS:你可能要考慮接受答案,你問其他問題...

+0

首先,我很高興,因爲你回答我的問題 其次,我主要是接受最好的答案這是由現實生活中的例子,有用的鏈接或任何其他類型的證據支持 當我不確定答案是否最好,因爲缺乏證據我投票支持,因爲它增加了一些有用的東西,並等待一票,其他成員的評論允許他們分享併爲答案增加更多的含義。 – user2019510

+0

我想感謝您讓我看看早期版本的UML規範,這對我非常有幫助 此外,我非常喜歡你的答案,我認爲我投了大多數UML答案 – user2019510

+0

#你可以嗎請澄清你的答案的一部分? '然而:那些涉及到的語言語法並不一致。因此,他們產生了動作語義:只在抽象語法級別上需要的構造的定義。然後,供應商/實施者可以自由使用他們自己的表面語法。「# – user2019510