SCCD.mvc 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. include "primitives.alh"
  2. include "object_operations.alh"
  3. include "modelling.alh"
  4. SimpleAttribute Action {}
  5. SimpleAttribute Boolean {}
  6. SimpleAttribute String {}
  7. SimpleAttribute Natural {}
  8. Class Diagram{
  9. name : String
  10. author : String
  11. description : String
  12. lower_cardinality = 1
  13. upper_cardinality = 1
  14. }
  15. Class Class{
  16. name : String
  17. constructor_body? : Action
  18. destructor? : Action
  19. default : Boolean
  20. external : Boolean
  21. }
  22. Association diagram_classes(Diagram, Class){
  23. target_lower_cardinality = 1
  24. }
  25. Class Attribute{
  26. name : String
  27. }
  28. Association class_attributes(Class, Attribute){}
  29. Class Method{
  30. name : String
  31. body : Action
  32. }
  33. Association association(Class, Class){
  34. name : String
  35. source_upper_cardinality = 1
  36. }
  37. Association inheritance(Class, Class){
  38. priority ?: Natural
  39. source_upper_cardinality = 1
  40. }
  41. Class State{
  42. name : String
  43. }
  44. Class BasicState : State{
  45. isInitial : Boolean
  46. onEntryScript? : Action
  47. onExitScript? : Action
  48. }
  49. Association behaviour(Class, BasicState){
  50. target_lower_cardinality = 1
  51. target_upper_cardinality = 1
  52. }
  53. Class Raise{
  54. event : String
  55. scope? : String
  56. target? : String
  57. }
  58. Association state_onentry_raises(BasicState, Raise){
  59. order : Natural
  60. }
  61. Association state_onexit_raises(BasicState, Raise){
  62. order : Natural
  63. }
  64. Class CompositeState : BasicState{}
  65. Association composite_children(CompositeState, State){
  66. source_upper_cardinality = 1
  67. }
  68. Class ParallelState : BasicState{}
  69. Association parallel_children(ParallelState, CompositeState){
  70. source_upper_cardinality = 1
  71. }
  72. Class HistoryState : State{
  73. type : String
  74. }
  75. Association transition(State, State){
  76. name: String
  77. cond? : Action
  78. script? : Action
  79. after? : Action
  80. event? : String
  81. source_upper_cardinality = 1
  82. }
  83. Association transition_raises(transition, Raise){
  84. order : Natural
  85. }