Structure
ATLCalledRule
Represents an ATL called rule for imperative transformation.
struct ATLCalledRule
Overview
Called rules provide imperative control flow within ATL’s primarily declarative framework. They are executed explicitly through rule invocation expressions and support parameterised transformations that cannot be expressed through pattern matching alone.
Overview
Called rules offer several capabilities:
-
Explicit invocation: Called through rule invocation expressions
-
Parameterisation: Accept multiple input parameters beyond pattern matching
-
Flexible output: Can create multiple target elements with complex relationships
-
Imperative logic: Support sequential statement execution and control structures
Example Usage
let createPersonRule = ATLCalledRule(
name: "CreatePerson",
parameters: [
ATLParameter(name: "member", type: "Families!Member"),
ATLParameter(name: "isMale", type: "Boolean")
],
targetPatterns: [
ATLTargetPattern(
variableName: "person",
type: "Persons!Person",
bindings: ["name": nameExpression]
)
],
body: [assignmentStatement, conditionalStatement]
)
Topics
Operators
Initializers
Creates a new ATL called rule.
Instance Properties
The imperative statements executed by the called rule.
The name of the called rule.
The parameters accepted by the called rule.
The target patterns that define the output specifications.
Instance Methods
Default Implementations
Relationships
Conforms To
See Also
Modules and Rules
Represents an ATL (Atlas Transformation Language) module.
Represents an ATL matched rule for declarative transformation.
Represents an ATL helper function.