![]() |
OTX Reference
|
|
Parallel sequences (threads) More...
Classes | |
class | ParallelRealisation |
Represents the parallel realisation More... | |
Public Attributes | |
ParallelRealisation | realisation |
Represents the parallel realisation More... | |
![]() | |
System.Boolean | disabled |
To turn on/off a node. A deactivated node is not executed at run time. More... | |
![]() | |
ExtensibleData[] | extendedData |
Declares general data for NamedAndSpecified which can be extented by new general data defined in new OTX extensions using the standardised extension mechanism. For example it can be used to specify specification relevant content in a better structured way. More... | |
OtxId | id |
Unique identifier of an element More... | |
MetaData | metaData |
Additional tool-specific data More... | |
OtxName | name |
Name of an element More... | |
System.String | specification |
Descriptive specification More... | |
Parallel sequences (threads)
A parallel node consists of two or more lanes
that will be executed simultaneously and synchronously. Nested parallel lanes
are supported. Since the Parallel
node's normal runtime behaviour is synchronized, a Parallel
node will not complete until all of its lanes
have completed.
lanes
is not determined. Race conditions may occur! For that reason one lane
should not rely on the execution of any other lane
in the Parallel
node. In order to gain thread safety, authors should use MutexGroup node. Parallel
node. The rules will be applied when a Return node, a TerminateLanes node or an Exception occurs in a lane: lanes
, all other lanes
are signalled to complete prematurely. lanes
will complete immediately after completion of the last atomic node, MutexGroup or Finally block (if any). Atomic nodes are Action nodes with an atomic ActionRealisation as well as the end nodes Return, Break, Continue, TerminateLanes and Throw. Since there is no completion timeout defined for atomic nodes, Finally blocks or MutexGroup nodes, lane
completion is delayed no matter how long the node takes to complete. This avoids producing undefined states but implies possibilities of deadlocks. An OTX author is responsible for avoiding deadlock situations. lanes
, the lane
will complete, but the jump induced by the Return node will be delayed until all other lanes
complete. After this, the Procedure completes. lanes
throws an exception which is not handled in that lane, the lane
will complete, but the Throw is delayed until all other lanes
have completed. After this, the exception is thrown upwards. If more than one exception was delayed, the first thrown exception shall be thrown upwards and the others will be discarded. ParallelRealisation OpenTestSystem.Otx.Core.Nodes.Node.CompoundNode.Parallel.realisation |
Represents the parallel realisation