-
Notifications
You must be signed in to change notification settings - Fork 0
Control flow
Within a single activity, control defines an explicit order in which actions may execute or supplies a predicate evaluation to decide which actions may execute. A set of one or more actions defined to execute under the same conditions are grouped as an action block. Explicit sequence is determined by setting and using sequence tokens. Conditional activation is established by a traditional if-then-else clause or through the use of boolean scalar variables used as guards.
Control is visualized in a data flow diagram as a dashed line that delivers either a sequence token or a diamond that splits out a true/false result. For our purposes, the dashed line is represented by setting and delivering a sequence token. The decision diamond is handled by either with an if-then-else construct or by setting one or more boolean scalar variables for later reference.
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