-
Notifications
You must be signed in to change notification settings - Fork 0
Accessing the class model
We access the class model to create or delete instances or to read or update attribute values. In the process, we may want to select a subset of instances (a restriction) of some class. Or we may want to navigate from one instance across one or more relationships to find a set of related instances. In more complex cases, we may want to select a subset of attributes (a projection). In even more complex cases we may want to grab attributes from multiple classes on a subset of instances connected together across relationships to construct tables. Ultimately we may may reduce all of this relational slicing down into the assignment a single scalar value.
In this manner, a small set of fundamental building block actions can be combined to perform powerful class model access operations. We’ll define those building blocks in this section.
Copyright 2020, 2021, 2022, 2023, 2025 © Leon Starr under MIT Open Source License
- Why they are problematic
- Instance attribute creation values
- Boolean values
- Special values
- Enumerated values
- Action block
- Statement
- Single line action
- Multiple dependent actions on a single line
- An action spread across multiple lines
- A conditional group of single line actions
- Comments
- Finding instances
- Attribute access
- Creation and deletion
- Subclass migration
- Creating a table from a class
- Creating a table with a definition
- Converting a table into a class
- Set operations on tables
- Set comparisons on tables
- Join
- Rename
- Extend
- Aggregation
- Rank
- Image
- Input values
- Signatures and name doubling
- Output values
- Execution order
- Sequential execution
- Conditional execution
- Signals
- Scrall has no for_each action
- Iteration