Source: Model Driven Solutions ( Ed Willink)
"asSequence" and "asOrderedSet" are specified as returning an unknown ordering. How deterministic is this? repeatable with the same tool version, the same tool, the same CPU, the same number of CPUs, any OCL tool?
"any" is specified as indeterminate.
Non-determinism is a very bad language characteristic.
Surely "any" should be the earliest element in asSequence()?
If a tool avoids anarchic sets, perhaps keeping a list and set for each 'set', the resulting behavior can be deterministic. But is specifying deterministic set evaluation algorithms appropriate for the OCL specification?
Suggest the specification should just require that a re-execution with:
- the same tool version
- the same Operating System etc
- the same single CPU
- the same command line options
shall give the same result (unknown but deterministic).
Reported: OCL 2.4 — Tue, 27 Dec 2016 17:36 GMT
Updated: Sat, 31 Dec 2016 08:54 GMT
OCL25 — Clarify indeterminate/unknown order for asSequence/asOrderedSet/any
- Key: OCL25-210
- OMG Task Force: OCL 2.5 RTF