control.mvc 988 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. include "primitives.alh"
  2. SimpleAttribute Boolean {
  3. name = "Boolean"
  4. }
  5. SimpleAttribute TriState {
  6. name = "TriState"
  7. }
  8. SimpleAttribute String{
  9. name = "String"
  10. constraint = $
  11. String function constraint(model : Element, name : String):
  12. if (is_physical_string(model["model"][name])):
  13. return "OK"!
  14. else:
  15. return "String has non-string value"!
  16. $
  17. }
  18. Class State {
  19. name = "State"
  20. isInitial : Boolean
  21. isError : Boolean
  22. name : String
  23. }
  24. Class Up : State {
  25. name = "Up"
  26. }
  27. Class Down : State {
  28. name = "Down"
  29. }
  30. Class Neutral : State {
  31. name = "Neutral"
  32. }
  33. Association Transition (State, State) {
  34. name = "Transition"
  35. objDetected : TriState
  36. }
  37. Association UpPressed : Transition (State, State) {
  38. name = "UpPressed"
  39. }
  40. Association NonePressed : Transition (State, State) {
  41. name = "NonePressed"
  42. }
  43. Association DownPressed : Transition (State, State) {
  44. name = "DownPressed"
  45. }