我是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. 德累斯頓OCL負荷約束
- 3. 在Eclipse Papyrus上檢查OCL約束
- 4. OCL是它允許寫操作的約束和屬性
- 5. 如何在Gurobi python中編寫約束
- 6. 如何編寫手動AutoLayout約束?
- 7. 如何在JAVA中實現OCL(對象約束語言)
- 8. 爲virtex 5編寫I/O約束
- 9. 使用Ecore分類器的OCL約束 - 未知類型異常
- 10. 如何將OCL約束集成到使用Eclipse Sirius創建的模型中?
- 11. 約束佈局改變約束編程
- 12. 如何寫一個topLayoutGuide約束在VFL
- 13. 如何編寫遷移以撤消Laravel中的唯一約束?
- 14. 如何編寫alter table語句來添加約束條件
- 15. Gurobi Python:如何在約束中編寫嵌套總和
- 16. 如何爲事件成員編寫類型約束?
- 17. 如何約束NSSplitView?
- 18. 重寫iOS Storyboard約束
- 19. 重寫AMPL中的約束
- 20. SQL約束大寫字母
- 21. Zk:寫'約束'錯誤?
- 22. 如何檢查列表中元素之間的約束/是否約束編程?
- 23. 如何以編程方式更改約束佈局的子視圖的約束
- 24. MS考試70-536 - 在編寫任何代碼之前如何約束輸入?
- 25. UIView編程寬度約束
- 26. PHP中的約束編程
- 27. 約束編程入門
- 28. 使用Python約束編程
- 29. 在java中約束編程
- 30. GCC內聯彙編:約束
如果要檢查OCL約束的語法,可以使用[Eclipse MDT/OCL](https://wiki.eclipse.org/OCL)的評估控制檯,或者嘗試[德累斯頓OCL](http ://www.dresden-ocl.org/index.php/DresdenOCL)編輯器功能,您可以在其中加載模型。但請注意,德累斯頓OCL目前沒有任何活躍的開發者,但非常成熟。 – lschuetze
親愛的Reggie thx爲了您的快速響應,我仍在等待如何編寫描述每個客戶端,客戶和地址類的OCL約束的響應。請問有人可以幫我 –
你應該指定*超出範圍*的含義。此外,我不確定你可以迭代類的每個功能,因爲這是元編程。每個班級有很多功能嗎? – lschuetze