control_PW.mvc 1004 B

12345678910111213141516171819202122232425262728293031323334353637
  1. include "primitives.alh"
  2. SimpleClassDiagram Control_PW{
  3. SimpleAttribute Boolean {}
  4. SimpleAttribute String{
  5. constraint = $
  6. String function constraint(model : Element, name : String):
  7. if (is_physical_string(model["model"][name])):
  8. return "OK"!
  9. else:
  10. return "String has non-string value"!
  11. $
  12. }
  13. Class Named {
  14. name : String
  15. }
  16. Class Positionable {
  17. }
  18. Class Boundary : Named, Positionable {}
  19. Class Port : Named, Positionable {}
  20. Class Transition : Named, Positionable {}
  21. Class State : Named, Positionable {
  22. initial : Boolean
  23. }
  24. Association Has1 (Boundary, State) {}
  25. Association Has2 (Boundary, Port) {}
  26. Association Has3 (Boundary, Transition) {}
  27. Association PortTransition (Port, Transition) {}
  28. Association From (State, Transition) {}
  29. Association To (Transition, State) {}
  30. Association PortState (Port, State) {}
  31. }