su4sml - an SML repository for managing (Secure)UML/OCL models
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

181 lines
7.2KB

  1. ==============================================================================
  2. Supported for various UML Modelelements:
  3. ==============================================================================
  4. "Core" Package:
  5. ------------------------------------------------------------------------------
  6. ModelElement | Status
  7. -----------------------+------------------------------------------------------
  8. Association |
  9. AssociationClass | not used in rep_*
  10. AssociationEnd |
  11. Attribute |
  12. Class |
  13. Generalization | only single inheritance in rep_*
  14. Operation |
  15. Interface | used in rep_*?
  16. Dependency | does not distinguish between different kind of
  17. | dependencies (abstraction, binding, permission, usage)
  18. Parameter |
  19. ------------------------------------------------------------------------------
  20. "Datatypes" Package:
  21. ------------------------------------------------------------------------------
  22. ModelElement | Status
  23. -----------------------+------------------------------------------------------
  24. AggregationKind | not used in rep_*
  25. ScopeKind |
  26. ChangeableKind | not used in rep_*
  27. | (should be converted into invariants?)
  28. Multiplicity |
  29. OrderingKind | dresden (and we) use sequences for ordered
  30. | association ends, but UML/OCL specifies OrderedSet
  31. ParameterDirectionKind | UML/OCL allows several return parameters, we allow
  32. | only one
  33. VisibilityKind |
  34. ------------------------------------------------------------------------------
  35. "Extension Mechanisms" Package:
  36. ------------------------------------------------------------------------------
  37. ModelElement | Status
  38. -----------------------+------------------------------------------------------
  39. Stereotype | constraints attached to stereotypes are not used.
  40. | Not all modelelements in xmi_* can have stereotypes.
  41. | In rep_*, only classifiers can have stereotypes.
  42. TaggedValue | Not all modelelements in xmi_* can have taggedvalues.
  43. | In rep_*, no tagged values are used.
  44. ------------------------------------------------------------------------------
  45. "Model Management" Package:
  46. ModelElement | Status
  47. -----------------------+------------------------------------------------------
  48. Package | xmi_* does not distinguish between models, packages,
  49. | and subsystems.
  50. | rep_* has no notion of packages.
  51. ------------------------------------------------------------------------------
  52. "Statemachines" Package:
  53. ModelElement | Status
  54. --------------------------+---------------------------------------------------
  55. Transition |
  56. Event | currently only support for CallEvent.
  57. (SignalEvent, CallEvent)|
  58. Guard | the guard's expression is just a string
  59. PseudoStateVars |
  60. StateVertex | no support for StubState's
  61. | Argouml, Poseidon do not support Subactivity states
  62. StateMachine |
  63. ActivityGraph | argouml, poseidon do not support partitions
  64. ------------------------------------------------------------------------------
  65. ==============================================================================
  66. Support for various types of constraints:
  67. ==============================================================================
  68. ------------------------------------------------------------------------------
  69. stereo- | | expression- |
  70. type | context | type | Status
  71. --------+----------------+---------------+------------------------------------
  72. inv: | classifier | Boolean | done
  73. pre: | operation | Boolean | done
  74. post: | operation | Boolean | done
  75. body: | operation | result type | done (converted to post)
  76. init: | attribute or | same type | done
  77. | AssociationEnd | |
  78. def: | classifier | declared type | dresden-ocl should add the
  79. | | | defined attribute/operation
  80. | | | to the model with appropriate
  81. | | | invariant, resp. postcondition,
  82. | | | but does currently not.
  83. derive:| attribute or | same type | not yet implemented in dresden-ocl
  84. | AssociationEnd | |
  85. guard: | transistion of | Boolean | not implemented in dresden-ocl
  86. | state machine | | (not clear, how this should be
  87. | | | done.)
  88. ------------------------------------------------------------------------------
  89. ==============================================================================
  90. Support for various expression-types:
  91. ==============================================================================
  92. ------------------------------------------------------------------------------
  93. Type | Status
  94. ---------------------+--------------------------------------------------------
  95. Primitive Types | ok
  96. (Boolean, Integer, |
  97. Real, String) |
  98. User-defined Classes | ok, (only single inheritance in rep_*,
  99. | no restriction in xmi_*)
  100. Interfaces | ??
  101. Collections | ok, but dresden-ocl does not support OrderedSet
  102. (Set,Sequence,Bag) |
  103. VoidType,OclAny | ok
  104. EnumerationTypes | -- (planned)
  105. TupleTypes | -- (planned)
  106. OclModelElementType | -- (not planned)
  107. OclMessageType | -- (not planned)
  108. ------------------------------------------------------------------------------
  109. ==============================================================================
  110. Supported subset of OCL expressions:
  111. ==============================================================================
  112. ------------------------------------------------------------------------------
  113. Expression | Status
  114. -------------------------+----------------------------------------------------
  115. IfExp | ok
  116. VariableExp | ok
  117. AssociationEndCallExp | ok (no support for "qualifiers")
  118. AttributeCallExp | ok
  119. OperationCallExp | ok
  120. OperationWithTypeCallExp | ok
  121. LetExp: | ok
  122. IteratorExp | ok
  123. IterateExp | ok
  124. PrimitiveLiteralExp | ok (called "LiteralExp" in current code)
  125. CollectionLiteralExp | only support for empty collections,
  126. | full support is planned.
  127. AssociationClassCallExp | -- (planned)
  128. EnumLiteralExp | -- (planned)
  129. TupleLiteralExp | -- (planned)
  130. OclMessageExp | -- (not planned)
  131. ------------------------------------------------------------------------------
  132. ==============================================================================
  133. Miscellaneous Issues:
  134. ==============================================================================
  135. TBD