Skip to content

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:

Main Flow

  1. This use case starts when a Human Agent selects Create Holon from the MAP Home Page.
  2. 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.
  3. The Human Agent selects the desired Holon Type.
  4. 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
  1. 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
  2. The system saves the definition of the Holon, including any of its relationships, and confirms the save.
  3. This use case ends.

Alternate Flows

Alternate Flow: Add Related Holon -- Issue #132

This flow is followed when the Human Agent selects Add Related Holons for a specific relationship.

  1. 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 offers Cancel and Submit buttons.
  2. The Human Agent selects one or more holons and hits Submit. If instead they hit Cancel, follow Alternate Flow: Abandon Adding Related Holons.
  3. 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.

Alternate Flow: Abandon Adding Related Holons -- Issue #132

This flow is followed when the Human Agent selects Cancel from the Select Related Holons Form.

  1. The system responds by dismissing the Select Related Holons Form and resume the Main Flow at Step 4.

Wireframes

Select Holon Type Dialog Box

Holon Node Visualizer

Select Related Holons Form

Implementation Notes

Visualizers

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

Github Issues

Clone this wiki locally