我是OCL的新手,我在eclipse上使用papyrus luna 4.4.2 我有一個名爲CLIENT的類圖,約束{所有屬性超出範圍}第二個類名爲Customer,帶有約束{所有屬性都是強制性的}並且另一個類調用具有約束屬性出處的地址(來源應爲強制性的)
我應該如何編寫適合形式語言的OCL約束? 也想知道如何驗證語法的正確性?如何編寫OCL約束
0
A
回答
0
在集合的情況下,它檢查非空,否則檢查非空的屬性。
context Address inv: self.provenance->notEmpty()
因爲你必須爲每個屬性做到這一點,其他類。如果你想爲每個具有一個不變量的屬性執行此操作,則必須在元模型上將它們表達出來。
+0
抱歉Ischuetze,元層次結構意味着什麼?你是指這個班的名字?期待您的回覆;靜候佳音 –
相關問題
- 1. OCL 2.0約束條件
- 2. 在Eclipse Papyrus上檢查OCL約束
- 3. OCL是它允許寫操作的約束和屬性
- 4. 如何編寫手動AutoLayout約束?
- 5. 如何在Gurobi python中編寫約束
- 6. 如何在JAVA中實現OCL(對象約束語言)
- 7. 約束佈局改變約束編程
- 8. 如何寫一個topLayoutGuide約束在VFL
- 9. 如何在F#中編寫此成員約束?
- 10. Gurobi Python:如何在約束中編寫嵌套總和
- 11. 如何約束NSSplitView?
- 12. 重寫AMPL中的約束
- 13. 如何檢查列表中元素之間的約束/是否約束編程?
- 14. MS考試70-536 - 在編寫任何代碼之前如何約束輸入?
- 15. GCC內聯彙編:約束
- 16. 約束編程入門
- 17. PHP中的約束編程
- 18. UISearchBar忽略編程約束
- 19. 在java中約束編程
- 20. scipy.optimize.leastsq有約束約束
- 21. 如何編寫一個關於postgresql中最大行數的約束?
- 22. 如何獲取UITableView約束?
- 23. 如何設置SDP約束?
- 24. 如何禁用約束?
- 25. 如何禁用iOS約束?
- 26. MySQL約束如何失效?
- 27. 如何約束VHDL-2008 integer_vector?
- 28. 如何使用多約束
- 29. 如何在Orange中的先驗約束中引入synstactic約束
- 30. 如何同時具有寬度約束和等寬約束
如果要檢查OCL約束的語法,可以使用[Eclipse MDT/OCL](https://wiki.eclipse.org/OCL)的評估控制檯,或者嘗試[德累斯頓OCL](http ://www.dresden-ocl.org/index.php/DresdenOCL)編輯器功能,您可以在其中加載模型。但請注意,德累斯頓OCL目前沒有任何活躍的開發者,但非常成熟。 – lschuetze
親愛的Reggie thx爲了您的快速響應,我仍在等待如何編寫描述每個客戶端,客戶和地址類的OCL約束的響應。請問有人可以幫我 –
你應該指定*超出範圍*的含義。此外,我不確定你可以迭代類的每個功能,因爲這是元編程。每個班級有很多功能嗎? – lschuetze