qvtimperative

qvtimperative

AddStatement
AppendParameter
AppendParameterBinding
BufferStatement
CheckStatement
ConnectionVariable
DeclareStatement
GuardParameter
GuardParameterBinding
ImperativeModel
ImperativeTransformation
ImperativeTypedModel
LoopParameterBinding
LoopVariable
Mapping
MappingCall
MappingLoop
MappingParameter
MappingParameterBinding
MappingStatement
NewStatement
ObservableStatement
SetStatement
SimpleParameter
SimpleParameterBinding
Statement
VariableStatement

The Package for an Imperative QVT transformation.

An Imperative QVT trabsformation is expected to be created by an autogenerator that observes the following run-time restrictions:

A mapping that my be re-invoked must have MappingCall.isInfinite set for every possible invocation.

A mapping that reads object slots before they are guaranteed to have been assigned must declare the slots property in a corresponding ImperativeArea.checkedProperties entry.

A mapping that assigns an object slot that any mapping may access before assignment is guaranteed must declare declare the slots property in a corresponding ImperativeArea.enforcedProperties entry.

All reads by Functions/Queries must be guaranteed to succeed; i.e. the invoking mapping must check readiness before calling the query.

All writes to multi-valued properties must be guaranteed to occur before any read of the property.

AddStatement

An AddStatement appends the value of an expression to a connection.

syntax: add connection := expression;

conformsTo MappingStatement , ObservableStatement

Attributes

isEnforcedUnique : Boolean[?]

True if the append is suppressed after a check for uniqueness of the value.

Associations

ownedExpression : OCLExpression[1]

The expression whose evaluation yields the value to append.

targetVariable : ::ConnectionVariable[1]

The connection to be appended.