US 12,141,754 B2
Finite state machines for implementing workflows for data objects managed by a data processing system
Robert Parks, Weston, MA (US); Anthony Yeracaris, Newton, MA (US); and Dusan Radivojevic, North Andover, MA (US)
Assigned to Ab Initio Technology LLC, Lexington, MA (US)
Filed by Ab Initio Technology LLC, Lexington, MA (US)
Filed on Jan. 22, 2020, as Appl. No. 16/749,604.
Claims priority of provisional application 62/795,443, filed on Jan. 22, 2019.
Prior Publication US 2020/0234242 A1, Jul. 23, 2020
Int. Cl. G06Q 10/10 (2023.01); G06F 9/448 (2018.01); G06F 16/906 (2019.01)
CPC G06Q 10/103 (2013.01) [G06F 9/4498 (2018.02); G06F 16/906 (2019.01)] 30 Claims
OG exemplary drawing
 
1. A method for managing workflows for data objects persisted in at least one database of a data processing system, the data processing system comprising:
(i) the at least one database storing:
a plurality of data objects each representing a respective term in an enterprise glossary and storing values of attributes of the respective term, the attributes comprising a name attribute, a definition attribute, a hierarchy attribute, and/or one or more classification attributes, the plurality of data objects including a first data object, the first data object having a plurality of attributes including a first hierarchy attribute; and
metadata specifying relationships among at least some of the plurality of data objects by specifying one or more hierarchies of data objects including a first hierarchy; and
(ii) a workflow management system comprising: a workflow execution engine for managing execution of finite state machines (FSMs) including a first FSM associated with the first data object and for managing a first workflow for the first data object, the first FSM comprising a plurality of workflow states and a plurality of transitions corresponding to respective tasks of the first workflow, the method comprising:
using the workflow management system and the first FSM associated with the first data object to manage the first workflow for the first data object at least in part by:
accessing a current value of the first hierarchy attribute of the first data object in the at least one database, the current value of the first hierarchy attribute indicating at least one of the one or more hierarchies to which the first data object belongs, the at least one hierarchy including the first hierarchy;
identifying, using the current value of the first hierarchy attribute and the first hierarchy, a first actor authorized to perform a first workflow task for the first data object, the first workflow task corresponding to a first one of the plurality of transitions of the first FSM that transitions the first FSM from a first workflow state in the plurality of workflow states to a second workflow state in the plurality of workflow states, the identifying comprising:
using the current value of the first hierarchy attribute to determine that the first data object belongs to the first hierarchy of data objects specified by the metadata; and
identifying the first actor as authorized to perform the first workflow task for a second data object hierarchically related to the first data object in the first hierarchy;
generating a graphical user interface (GUI) through which the first actor can provide input specifying that the first workflow task is to be performed; and
in response to receiving, from the first actor and through the GUI, input specifying that the first workflow task is to be performed:
performing the first workflow task for the first data object; and
updating a current workflow state of the first FSM to another workflow state by transitioning the first FSM from the first workflow state to the second workflow state.