Core concepts(核心概念)¶
We recommend reviewing the following concepts before using the Machinery application.
Process¶
In a real-world process, entities such as documents, equipment, or individuals transition through states over time. Many of these process objects can be linked to each other to represent multiple entities involved in a process. In Machinery, you can model these processes via process containers which hold states and actions. These process containers can be linked to one another and even be nested.
Entities within a process, also called "process objects", can be represented by an object type in your ontology, such as Claim, Flight, or Employee. That object type must have a string-type property that denotes the object's state.
State¶
A state describes the current condition of an object, such as in progress or delivered for a parcel. The possible states must be enumerable. For instance, a Name property would not be suitable because there are indefinitely many possible names.
State transitions are shown as edges between state nodes.
Every object must be in one of the possible states at any given time. Scenarios where this is not the case should be modeled as a process hierarchy. For example, an employee could have the state new-hire or onboarded, and also paid or awaiting payment at the same time. These should be separate processes, with a parent process tracking whether the employee is payable.
Within the Ontology, the state is codified as a string value of the State property. This value is equivalent to the state ID in Machinery. To change the state label shown on the graph, you can overwrite the display name.
The state IDs in Machinery are equivalent to the state values in your data. To avoid typing errors or discrepancies, you can back your state property by an enumeration value type. This will guarantee that the data in the ontology can only assume a predefined set of values. Machinery will detect this setup and keep the process states in sync.
Action and automations¶
Actions are the cause of state transitions. State changes that happen within the platform are defined by an action. You can import them to the Machinery graph and qualify their role in the process.
Process log¶
The nature of a process is that entities undergo changes over time. To identify patterns in the paths that objects take or metrics like the average time spent in a state, it is essential to capture the time dimension of changes. Machinery does so by maintaining a Log object type that tracks every change made to an object, whether from external data sources or Foundry actions.
You can view this object type like any other, but you should not define actions on it yourself, as the log object type is maintained automatically by Machinery.
Each log object type tracks the changes of a single object type property. Each process can have a process log of its own.
For processes happening outside the platform, you need to provide a dataset in changelog format that tracks which object went into which state at what time. Machinery computes derivations required for analysis and monitoring, such as the previous state, the duration between states, and the path that an object took until this time.
中文翻译¶
核心概念¶
在使用 Machinery 应用程序之前,建议先了解以下概念。
流程(Process)¶
在现实世界的流程中,文档、设备或个人等实体会随时间推移经历不同的状态转换。许多流程对象可以相互关联,以表示流程中涉及的多个实体。在 Machinery 中,您可以通过包含状态和动作的流程容器(process container)来建模这些流程。这些流程容器可以相互链接,甚至可以嵌套。
流程中的实体(也称为"流程对象")可以通过本体(ontology)中的对象类型来表示,例如索赔、航班或员工。该对象类型必须具有一个字符串类型的属性,用于表示对象的状态。
状态(State)¶
状态描述对象的当前状况,例如包裹的运输中或已送达。可能的状态必须是可枚举的。例如,Name 属性就不适合,因为可能的名称数量是无限的。
状态转换在图中显示为状态节点之间的边。
每个对象在任何给定时间必须处于一个可能的状态。如果不符合这种情况,则应建模为流程层次结构。例如,一名员工可能同时处于新入职或已入职状态,以及已付款或待付款状态。这些应作为独立的流程处理,并由一个父流程跟踪该员工是否可支付。
在本体中,状态被编码为 State 属性的字符串值。该值等同于 Machinery 中的状态 ID。要更改图表上显示的状态标签,您可以覆盖显示名称。
Machinery 中的状态 ID 等同于数据中的状态值。为避免输入错误或不一致,您可以使用枚举值类型来支持状态属性。这将确保本体中的数据只能采用预定义的值集。Machinery 会检测此设置并保持流程状态同步。
动作(Action)与自动化(Automations)¶
动作是状态转换的原因。平台内发生的状态更改由动作定义。您可以将它们导入 Machinery 图表,并限定它们在流程中的角色。
流程日志(Process Log)¶
流程的本质是实体随时间发生变化。为了识别对象所经历路径的模式或状态平均停留时间等指标,捕获变化的时间维度至关重要。Machinery 通过维护一个日志(Log)对象类型来实现这一点,该类型跟踪对对象所做的每一次更改,无论这些更改来自外部数据源还是 Foundry 动作。
您可以像查看其他对象类型一样查看此对象类型,但不应自行在其上定义动作,因为日志对象类型由 Machinery 自动维护。
每个日志对象类型跟踪单个对象类型属性的变化。每个流程可以拥有自己的流程日志。
对于平台外部发生的流程,您需要提供一个变更日志(changelog)格式的数据集,用于跟踪哪个对象在什么时间进入了哪个状态。Machinery 会计算分析和监控所需的衍生数据,例如先前状态、状态之间的持续时间以及对象截至当前所经历的路径。