-
Notifications
You must be signed in to change notification settings - Fork 1
UC: Create Holon
Steve Melville edited this page Jul 28, 2024
·
8 revisions
Description: This use case enables a Human Agent to create a new Holon of a specified holon type, supplying values for its various properties and (via Issue #132) adding related holons via one or more holon relationships. In the future, the Human Agent will also be able to invoke dances offered by this Holon Type.
Actor: Human Agent
Preconditions:
- Human Agent has selected
Create Holon
from the MAP Home Page.
Post-conditions:
- The request to create a new holon has been canceled and there are no changes to the persistent state.
- OR...
- A new holon has been persisted in the system
- Holons have been added to relationships that the newly created holon is the SOURCE_FOR
Assumptions:
- This use case starts when a Human Agent selects Create Holon from the MAP Home Page.
- The system responds by presenting a
Select Holon Type Dialog Box
. This dialog box presents a scrollable list of HolonTypes and prompts the agents to select one. - The Human Agent selects the desired Holon Type.
- The system responds by presenting a
Holon Node Visualizer
that:
- displays the various properties of the selected Holon Type and makes them available for editing via type-specific Property Visualizers
- displays the various relationship types that the selected HolonType is a SOURCE_FOR and offers an
Add Related Holons
command for each. Issue #132
- The agent can add values for one or more properties or selects
Add Related Holons
for a relationship. If the latter, follow Alternate Flow: Add Related Holon. When all desired properties have been added, the agent selects Submit - The system saves the definition of the Holon, including any of its relationships, and confirms the save.
- This use case ends.
This flow is followed when the Human Agent selects Add Related Holons
for a specific relationship.
- The system responds by presenting a
Select Related Holons Form
for the specified relationship. This form presents a multi-select list of the available holons that are of a type eligible to be the target of the specified relationship. This form also offersCancel
andSubmit
buttons. - The Human Agent selects one or more holons and hits
Submit
. If instead they hitCancel
, follow Alternate Flow: Abandon Adding Related Holons. - The system validates that at least one holon was selected. If not, the system presents the "Select At Least One Related Holon Error Message" and returns to Step 1. Otherwise, the system stages (but does not commit) the specified target holonsrelationship change and resumes the Main Flow.
This flow is followed when the Human Agent selects Cancel
from the Select Related Holons Form
.
- The system responds by dismissing the
Select Related Holons Form
and resume the Main Flow at Step 4.
This use case requires the following DAHN visualizers:
- String Property Visualizer and Editor
- Integer Property Visualizer and Editor
- Boolean Property Visualizer and Editor
- Value Array Property Visualizer and Editor
- Holon Collection Visualizer (single-instance)
- Holon Collection Visualizer (list)
- Holon Collection Selector (single-select)
- Holon Collection Selector (multi-select)
- Single-Action Visualizer (button)
- Action Selector (menu)
- Node Visualizer and Editor
- String Property Visualizer
- The initial implementation of this use case is via Issue #131: Implement Basic UC: Create Holon. It focuses only on properties and NOT relationships.
- Behaviors related to adding relationships are addressed in Issue #132: Extend Implementation UC: Create Holon to Support Adding Relationships