Numerical graphical flow diagram conversion and comparison
AssigneeInternational Business Machines Corporation
InventorsShravan K. Kudikala, Amar A. Shah, Swikar K. Sugandhi
Life of this patent
Estimating the term…
Abstract
A computing device translates each of a group of structured language graphical process flow element representations, that each represents within a structured language one node of a captured graphical process flow diagram of a first business process, into one of a group of numerical strings that each represents within a set of data fields the respective node and connections to and from the respective node. The group of numerical strings is sequenced in accordance with values of the respective data fields within each numerical string that represents the respective node and the connections to and from each represented node of the captured graphical process flow diagram of the first business process.
Claims17
A method, comprising:
- receiving, by a processor, a graphical process flow diagram dataset representing a graphical process flow diagram comprising a plurality of processing nodes and a plurality of connections among and between the plurality of processing nodes;
- translating, by the processor, the graphical process flow diagram into an element information structure (EIS) array using a plurality of enumeration tables by traversing a group of user interface element representations of the graphical process flow diagram and enumerating each of the processing nodes as one of a group of numerical strings based upon a node type, a type of input and output terminal associated with each connection to and from each of the processing nodes, wherein a processing node within the plurality of processing nodes is respectively represented by an instance process flow element representation having a numeric process flow element attribute type identifier, and a connection of the plurality of connections is respectively represented by one of a plurality of numerical strings representing a plurality of data fields of the processing node and connections to and from the plurality of processing nodes;
- sorting, by the processor, each EIS within the EIS array in ascending order by applying one or more sort keys from a sort key table to each EIS of the EIS array, automatically grouping input nodes, output nodes and the plurality of processing nodes within the EIS array;
- reordering, by the processor, one or more arrays of at least one EIS within the EIS array in response to sorting the EIS array;
- assigning, by the processor, sequence numbers to each EIS of the EIS array based upon a position of each EIS within a re-ordered EIS array;
- and
- sequencing the plurality of numerical strings in accordance with values of the data fields within the numerical strings that represents the processing node and the connections to and from the plurality of processing nodes of the graphical process flow diagram using the sequence numbers assigned to each EIS within the EIS array.
A computer program product comprising a non-transitory computer readable storage device including computer readable program code, where the computer readable program code when executed on a computer causes the computer to:
- receive a graphical process flow diagram dataset representing a graphical process flow diagram comprising a plurality of processing nodes and a plurality of connections among and between the plurality of processing nodes;
- translate the graphical process flow diagram into an element information structure (EIS) array using a plurality of enumeration tables by traversing a group of user interface element representations of the graphical process flow diagram and enumerating each of the processing nodes as one of a group of numerical strings based upon a node type, a type of input and output terminal associated with each connection to and from each of the processing nodes, wherein a processing node within the plurality of processing nodes is respectively represented by an instance process flow element representation having a numeric process flow element attribute type identifier, and a connection of the plurality of connections is respectively represented by one of a plurality of numerical strings representing a plurality of data fields of the processing node and connections to and from the plurality of processing nodes;
- sort each EIS within the EIS array in ascending order by applying one or more sort keys from a sort key table to each EIS of the EIS array, automatically grouping input nodes, output nodes and the plurality of processing nodes within the EIS array;
- reorder one or more arrays of at least one EIS within the EIS array in response to sorting the EIS array;
- assign sequence numbers to each EIS of the EIS array based upon a position of each EIS within a re-ordered EIS array;
- and
- sequence the plurality of numerical strings in accordance with values of the data fields within the numerical strings that represents the processing node and the connections to and from the plurality of processing nodes of the graphical process flow diagram using the sequence numbers assigned to each EIS within the EIS array.
A method, comprising:
- receiving, by a processor, a graphical process flow diagram data set representing a graphical process flow diagram comprising a plurality of processing nodes and a plurality of connections among and between the plurality of processing nodes;
- translating, by the processor, the graphical process flow diagram into an element information structure (EIS) array using a plurality of enumeration tables by traversing a group of user interface element representations of the graphical process flow diagram and enumerating each of the processing nodes as one of a group of numerical strings based upon a node type, a type of input and output terminal associated with each connection to and from each of the processing nodes, wherein a given processing node of the plurality of processing nodes is respectively represented by an instance process flow element representation having an appropriate numeric process flow element attribute type identifier, and a given connection of the plurality of connections is respectively represented by a numeric process flow graphical interconnection attribute type identifiers of the instances of the process flow element representations subject to the given connection
- sorting, by the processor, the group of numerical strings of each EIS within the EIS array in ascending order, automatically grouping input nodes, output nodes and the plurality of processing nodes within the EIS array;
- reordering, by the processor, one or more arrays of at least one EIS within the EIS array in response to sorting the EIS array;
- assigning, by the processor, sequence numbers to each EIS of the EIS array based upon a position of each EIS within a re-ordered EIS array;
- sequencing, by the processor, the plurality of numerical strings for each EIS within the EIS array in ascending order of the sequence numbers, creating a continuous array;
- and
- numerically comparing two or more continuous arrays to determine whether two graphical process flow diagram data sets represent the same logic.
Dependencies are inferred from the claim text.