core_formalism.mvc 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import models/SimpleClassDiagrams as SimpleClassDiagrams
  2. SimpleClassDiagrams CoreFormalism {
  3. Class String {
  4. $
  5. if (bool_not(is_physical_string(self))):
  6. return "String has no string value"!
  7. else:
  8. return "OK"!
  9. $
  10. }
  11. Class Permissions {
  12. $
  13. if (bool_not(is_physical_string(self))):
  14. return "Permissions has no string value"!
  15. else:
  16. return "OK"!
  17. $
  18. }
  19. Class Boolean {
  20. $
  21. if (bool_not(is_physical_bool(self))):
  22. return "Boolean has no bool value"!
  23. else:
  24. return "OK"!
  25. $
  26. }
  27. Class User {
  28. name : String
  29. admin : Boolean
  30. }
  31. Class Group {
  32. name : String
  33. }
  34. Association ownedBy (Group, User) {}
  35. Association belongsTo (User, Group) {}
  36. Class Model {
  37. name : String
  38. location : String
  39. permissions : Permissions
  40. }
  41. Association owner (Model, User) {
  42. target_lower_cardinality = 1
  43. target_upper_cardinality = 1
  44. }
  45. Association group (Model, Group) {
  46. target_lower_cardinality = 1
  47. target_upper_cardinality = 1
  48. }
  49. Class Transformation : Model {
  50. name : String
  51. location : String
  52. }
  53. Class ModelTransformation : Transformation {}
  54. Class ActionLanguage : Transformation {}
  55. Association transformInput (Model, Transformation) {
  56. name : String
  57. }
  58. Association transformOutput (Transformation, Model) {
  59. name : String
  60. target_lower_cardinality = 1
  61. }
  62. }
  63. export CoreFormalism to models/CoreFormalism