Core concepts

Dynamic scheduling is built on the following core concepts:

Schedule object

A schedule object is the Ontology's representation of a task or activity, and should include a start and end time of when that event is occurring and/or its expected duration.

Resource object

A resource object represents any entity (such as person, location, project, etc.) that the schedule object is being assigned to or scheduled against.

Scheduling Gantt Chart

The Scheduling Gantt Chart is a Workshop widget used to render an interactive Gantt chart for scheduling or resource allocation workflows and consists of two core elements:

  • Schedule objects: Schedule objects (for example, aircraft maintenance tasks) are rendered as pucks (blocks) on the Scheduling Gantt Chart. Users can drag-and-drop pucks to update a schedule object’s start time, end time, and/or linked resource object.
  • Resource objects: Resource objects (for example, an aircraft mechanic) are rendered as rows in the Scheduling Gantt Chart. When a user hovers over a row, cards will display the resource object's title, properties selected by the module builder, and a link to the object view.

The Scheduling Gantt chart widget provides module builders with the flexibility to choose specific interface options (colors) and interactions (puck allocation behavior, snap behavior) for schedule object pucks.

For more information, see the Scheduling Gantt Chart widget documentation.

Scenarios

Scenarios are foundational to the Scheduling Gantt Chart widget, enabling the creation and comparison of what-if analyses. By using Scenarios, changes made in the widget are not immediately and directly written to the Ontology, but instead begin as proposed changes that can be actioned.

Schedule save action

A schedule save action is used to execute Ontology edits that are staged or proposed in the Scheduling Gantt Chart widget. This action is required since the Scheduling Gantt Chart does not immediately write changes to the Ontology. Most use cases can use a simple Ontology modify action; however, application builders can build a Function-backed Custom Save Action for advanced workflows.

Suggestion Function

Suggestion Functions indicate the suitability of a potential schedule object placement based on logic defined by your organization. When a user selects a schedule object puck, the user interface highlights regions in the schedule that meet the conditions defined in the rule logic. The output of the rule logic can be used to highlight areas where an assignment can be made or, by contrast, areas where assignments cannot be made. Application builders have the option to enforce these rules through a setting in the Workshop widget configuration. When turned on, this feature will force placement of the puck to the closest highlighted region.

Search Function

Search Functions act as your "problem solver," providing scheduling recommendations tailored to your specific needs and criteria. The Function returns a set of schedule objects or time slots, depending on the purpose and requirements. Execute a Search Function by right-clicking in the Scheduling Gantt Chart widget. The recommendation Function always takes the current state of the world into consideration, ensuring that recommendations take into account any scheduling changes users have made in the active Scenario.

Validation rule

Validation rules allow you to codify scheduling constraints, enabling end users to build/modify schedules with an understanding of the limitations and restrictions that define their workflows. Each validation rule is backed by a Function that evaluates whether the current state of an assignment object meets a certain condition as defined in the function logic.