Structure
ATLModule
Represents an ATL (Atlas Transformation Language) module.
struct ATLModule
Overview
An ATL module is the root container for a transformation specification, containing source and target metamodels, helper functions, transformation rules, and module-level configuration. ATL modules define unidirectional transformations from source models to target models using declarative matched rules and imperative called rules.
Overview
ATL modules follow a structured approach to model transformation:
-
Source models: Read-only input models conforming to source metamodels
-
Target models: Write-only output models conforming to target metamodels
-
Helpers: Reusable functions that extend OCL with custom operations
-
Matched rules: Declarative transformation rules triggered automatically
-
Called rules: Imperative transformation rules invoked explicitly
Example Usage
let module = ATLModule(
name: "Families2Persons",
sourceMetamodels: ["Families": familiesPackage],
targetMetamodels: ["Persons": personsPackage],
helpers: ["familyName": familyNameHelper],
matchedRules: [member2MaleRule, member2FemaleRule]
)
Topics
Operators
Initializers
Creates a new ATL module with the specified configuration.
Instance Properties
Called rules indexed by their names.
Helper functions indexed by their names.
Matched rules for automatic transformation execution.
The name of the ATL module.
Source metamodels indexed by their namespace aliases.
Target metamodels indexed by their namespace aliases.
Instance Methods
Default Implementations
Relationships
Conforms To
See Also
Modules and Rules
Represents an ATL matched rule for declarative transformation.
Represents an ATL called rule for imperative transformation.
Represents an ATL helper function.