Documentation Language: Swift

Protocol

ATLExpression

Protocol for ATL expressions that can be evaluated within transformation contexts.

protocol ATLExpression : Hashable, Sendable

Overview

ATL expressions form the computational foundation of the Atlas Transformation Language, providing a rich expression system built upon OCL (Object Constraint Language) with extensions for model transformation. Expressions are evaluated within execution contexts that provide access to source and target models, variables, and helper functions.

Overview

ATL expressions support multiple evaluation paradigms:

Implementation Notes

All expressions conform to Sendable to enable safe concurrent evaluation within the ATL virtual machine’s actor-based architecture. Expression evaluation is asynchronous to support complex model traversals and transformation operations.

Example Usage

let navigationExpr = ATLNavigationExpression(
    source: ATLVariableExpression(name: "self"),
    property: "firstName"
)

let result = try await navigationExpr.evaluate(in: executionContext)

Topics

Instance Methods

F
evaluate(in:)

Evaluates the expression within the specified execution context.

F
toECoreExpression()

Convert this ATL expression to an ECore expression.

Relationships

Inherits From

Conforming Types

See Also

Expressions

S
ATLNavigationExpression

Represents property navigation expressions in ATL.

S
ATLCollectionExpression

Represents an ATL collection operation expression.

S
ATLLiteralExpression

Represents literal value expressions in ATL.