-
Notifications
You must be signed in to change notification settings - Fork 0
Sending a signal to an assigner state machine
A single assigner is a state machine that manages competition on an association. Since there can be at most one instance of a single assigner per association, you can just address the signal to the association name like so:
Waiting for clerk -> /R1
A multiple assigner provides one state machine instance per instance of some designated partitioning class. Extending the Customer-Clerk example we might manage competition separately within each Department. So the Department class is designated as the partitioning class and we have one state machine per Department instance. Therefore, you must provide both the association name and the Department instance to find the correct assigner state machine as shown:
my department .= /R3/Department
Waiting for clerk -> /R2(my department)
In a state activity of either kind of assigner, the ME keyword refers to the local state machine instance and not to any class instance.
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