跳转至

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 widgets

Scheduling Gantt chart

The scheduling Gantt chart renders an interactive 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 interface colors and interactions such as puck allocation behavior and snap behavior for schedule object pucks.

For more information, see the scheduling Gantt chart widget documentation.

Calendar

The calendar renders Schedule objects over day, week, month, or custom views.

Scenarios

Scenarios enable the creation and comparison of what-if analyses. By using scenarios, edits made in the widget are not directly written to the Ontology. Instead, they are created as proposed changes that can be actioned.

Schedule save action handler

A schedule save action handler is used to execute Ontology edits in the scheduling Gantt chart widget. This action is required so users can edit pucks by dragging and dropping, and stage those changes in the Ontology. Most use cases can use a simple Ontology modify action, but a function-backed custom save action can be used for advanced workflows. A function-backed action must accept at least the following optional parameters:

  • Resource ID (the foreign key to the resource object)
  • Start time
  • End time

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 or 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.


中文翻译


核心概念

动态调度(Dynamic scheduling)基于以下核心概念构建:

调度对象(Schedule object)

调度对象是本体(Ontology)中任务或活动的表示形式,应包含该事件发生的开始和结束时间,和/或其预期持续时间。

资源对象(Resource object)

资源对象代表调度对象被分配或与之关联的任何实体(例如人员、地点、项目等)。

调度组件(Scheduling widgets)

调度甘特图(Scheduling Gantt chart)

调度甘特图呈现一个交互式图表,用于调度或资源分配工作流,包含两个核心元素:

  • 调度对象: 调度对象(例如飞机维护任务)在调度甘特图上以滑块(pucks)形式呈现。用户可通过拖放滑块来更新调度对象的开始时间、结束时间和/或关联的资源对象。
  • 资源对象: 资源对象(例如飞机机械师)在调度甘特图上以行形式呈现。当用户悬停在某行上时,卡片将显示资源对象的标题、模块构建者选择的属性,以及指向对象视图的链接。

调度甘特图组件为模块构建者提供了选择界面颜色和交互方式的灵活性,例如滑块分配行为和调度对象滑块的吸附行为。

更多信息,请参阅调度甘特图组件文档。

日历(Calendar)

日历以日、周、月或自定义视图呈现Schedule对象。

场景(Scenarios)

场景支持创建和比较假设分析(what-if analyses)。通过使用场景,在组件中进行的编辑不会直接写入本体,而是作为可执行的建议变更创建。

调度保存操作处理器(Schedule save action handler)

调度保存操作处理器用于在调度甘特图组件中执行本体编辑。此操作是必需的,以便用户通过拖放编辑滑块,并将这些更改暂存到本体中。大多数用例可以使用简单的本体修改操作,但对于高级工作流,可以使用基于函数的自定义保存操作。基于函数的操作必须至少接受以下可选参数:

  • 资源ID(资源对象的外键)
  • 开始时间
  • 结束时间

建议函数(Suggestion function)

建议函数根据组织定义的逻辑,指示潜在调度对象放置位置的适宜性。当用户选择调度对象滑块时,用户界面会高亮显示满足规则逻辑条件的调度区域。规则逻辑的输出可用于高亮显示可进行分配的区域,或相反地,高亮显示不可分配的区域。应用程序构建者可以选择通过Workshop组件配置中的设置来强制执行这些规则。启用此功能后,滑块将被强制放置到最近的高亮区域。

搜索函数(Search function)

搜索函数充当"问题解决者",根据您的特定需求和标准提供调度建议。该函数根据目的和要求返回一组调度对象或时间段。通过在调度甘特图组件中右键单击来执行搜索函数。建议函数始终考虑当前状态,确保建议考虑到用户在活动场景中所做的任何调度更改。

验证规则(Validation rule)

验证规则允许您将调度约束条件编码化,使最终用户能够在了解定义其工作流的限制和约束的情况下构建或修改调度。每条验证规则由一个函数支持,该函数评估分配对象的当前状态是否满足函数逻辑中定义的特定条件。