su4sml/STATUS

181 lignes
7.2 KiB
Plaintext

==============================================================================
Supported for various UML Modelelements:
==============================================================================
"Core" Package:
------------------------------------------------------------------------------
ModelElement | Status
-----------------------+------------------------------------------------------
Association |
AssociationClass | not used in rep_*
AssociationEnd |
Attribute |
Class |
Generalization | only single inheritance in rep_*
Operation |
Interface | used in rep_*?
Dependency | does not distinguish between different kind of
| dependencies (abstraction, binding, permission, usage)
Parameter |
------------------------------------------------------------------------------
"Datatypes" Package:
------------------------------------------------------------------------------
ModelElement | Status
-----------------------+------------------------------------------------------
AggregationKind | not used in rep_*
ScopeKind |
ChangeableKind | not used in rep_*
| (should be converted into invariants?)
Multiplicity |
OrderingKind | dresden (and we) use sequences for ordered
| association ends, but UML/OCL specifies OrderedSet
ParameterDirectionKind | UML/OCL allows several return parameters, we allow
| only one
VisibilityKind |
------------------------------------------------------------------------------
"Extension Mechanisms" Package:
------------------------------------------------------------------------------
ModelElement | Status
-----------------------+------------------------------------------------------
Stereotype | constraints attached to stereotypes are not used.
| Not all modelelements in xmi_* can have stereotypes.
| In rep_*, only classifiers can have stereotypes.
TaggedValue | Not all modelelements in xmi_* can have taggedvalues.
| In rep_*, no tagged values are used.
------------------------------------------------------------------------------
"Model Management" Package:
ModelElement | Status
-----------------------+------------------------------------------------------
Package | xmi_* does not distinguish between models, packages,
| and subsystems.
| rep_* has no notion of packages.
------------------------------------------------------------------------------
"Statemachines" Package:
ModelElement | Status
--------------------------+---------------------------------------------------
Transition |
Event | currently only support for CallEvent.
(SignalEvent, CallEvent)|
Guard | the guard's expression is just a string
PseudoStateVars |
StateVertex | no support for StubState's
| Argouml, Poseidon do not support Subactivity states
StateMachine |
ActivityGraph | argouml, poseidon do not support partitions
------------------------------------------------------------------------------
==============================================================================
Support for various types of constraints:
==============================================================================
------------------------------------------------------------------------------
stereo- | | expression- |
type | context | type | Status
--------+----------------+---------------+------------------------------------
inv: | classifier | Boolean | done
pre: | operation | Boolean | done
post: | operation | Boolean | done
body: | operation | result type | done (converted to post)
init: | attribute or | same type | done
| AssociationEnd | |
def: | classifier | declared type | dresden-ocl should add the
| | | defined attribute/operation
| | | to the model with appropriate
| | | invariant, resp. postcondition,
| | | but does currently not.
derive:| attribute or | same type | not yet implemented in dresden-ocl
| AssociationEnd | |
guard: | transistion of | Boolean | not implemented in dresden-ocl
| state machine | | (not clear, how this should be
| | | done.)
------------------------------------------------------------------------------
==============================================================================
Support for various expression-types:
==============================================================================
------------------------------------------------------------------------------
Type | Status
---------------------+--------------------------------------------------------
Primitive Types | ok
(Boolean, Integer, |
Real, String) |
User-defined Classes | ok, (only single inheritance in rep_*,
| no restriction in xmi_*)
Interfaces | ??
Collections | ok, but dresden-ocl does not support OrderedSet
(Set,Sequence,Bag) |
VoidType,OclAny | ok
EnumerationTypes | -- (planned)
TupleTypes | -- (planned)
OclModelElementType | -- (not planned)
OclMessageType | -- (not planned)
------------------------------------------------------------------------------
==============================================================================
Supported subset of OCL expressions:
==============================================================================
------------------------------------------------------------------------------
Expression | Status
-------------------------+----------------------------------------------------
IfExp | ok
VariableExp | ok
AssociationEndCallExp | ok (no support for "qualifiers")
AttributeCallExp | ok
OperationCallExp | ok
OperationWithTypeCallExp | ok
LetExp: | ok
IteratorExp | ok
IterateExp | ok
PrimitiveLiteralExp | ok (called "LiteralExp" in current code)
CollectionLiteralExp | only support for empty collections,
| full support is planned.
AssociationClassCallExp | -- (planned)
EnumLiteralExp | -- (planned)
TupleLiteralExp | -- (planned)
OclMessageExp | -- (not planned)
------------------------------------------------------------------------------
==============================================================================
Miscellaneous Issues:
==============================================================================
TBD