Method, device and equipment for workflow visualization and medium

By introducing a hierarchical transformation matrix management mechanism and updating the sub-canvas size in real time, the problem of low sub-canvas adjustment efficiency in the existing technology is solved, and efficient dynamic layout and unification of the workflow are achieved.

CN120848865APending Publication Date: 2025-10-28BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510898056.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-06-30
Publication Date
2025-10-28

Smart Images

  • Figure CN120848865A_ABST
    Figure CN120848865A_ABST
Patent Text Reader

Abstract

The invention relates to a method, a device, equipment and a medium for workflow visualization. In one embodiment, a method includes displaying a sub-canvas of a workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating a geometric transformation of the child node relative to the sub-canvas. The method further includes adjusting a boundary of the sub-canvas in response to an update of the local transformation matrix of the at least one node.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computers, and more particularly to methods, apparatus, devices, computationally readable storage media, and program products for workflow visualization. Background Art

[0002] In recent years, visual workflow editing technology has been widely used in business process automation. Through a graphical interface, users can build business processes consisting of multiple nodes without writing code, implementing logic such as sequential task execution, branch control, and parallel processing. This approach lowers the development threshold and improves the flexibility and maintainability of business processes.

[0003] To enhance the expressiveness of workflows in complex business scenarios, a sub-canvas mechanism was introduced to support higher-level process organization and reuse. A sub-canvas (also called a container node or container) can be viewed as an independent process unit nested within the main canvas, and can contain several child nodes to help build a tree-like process structure. With the help of sub-canvases, workflows can support complex logic such as loops and batch processing. Summary of the Invention

[0004] In a first aspect of embodiments of this disclosure, a method for workflow visualization is provided. The method includes: displaying a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating a geometric transformation of the child node relative to the sub-canvas; and adjusting the boundaries of the sub-canvas in response to an update of the local transformation matrix of the at least one node.

[0005] In a second aspect of embodiments of this disclosure, an apparatus for workflow visualization is provided. The apparatus includes: a display unit configured to display a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating a geometric transformation of the child node relative to the sub-canvas; and a boundary adjustment unit configured to adjust the boundary of the sub-canvas in response to an update of the local transformation matrix of the at least one node.

[0006] In a third aspect of embodiments of this disclosure, an electronic device is provided. The electronic device includes one or more processors; and a storage device for storing one or more programs, which, when executed by the one or more processors, cause the one or more processors to implement a method for workflow visualization, comprising: displaying a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating a geometric transformation of the child node relative to the sub-canvas; and adjusting the boundaries of the sub-canvas in response to an update of the local transformation matrix of the at least one node.

[0007] In a fourth aspect of embodiments of this disclosure, a computer program product is provided. The computer program product is tangibly stored on a non-transitory computer-readable medium and includes machine-executable instructions that, when executed, cause a machine to implement a method for visualizing an editing workflow. The method includes: a method for workflow visualization, comprising: displaying a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating a geometric transformation of the child node relative to the sub-canvas; and adjusting the boundaries of the sub-canvas in response to an update of the local transformation matrix of the at least one node.

[0008] The summary section is provided to present the chosen concepts in a simplified form, which will be further described in the detailed description below. The summary section is not intended to identify key or principal features of the claimed subject matter, nor is it intended to limit the scope of the claimed subject matter. Attached Figure Description

[0009] The above and other features, advantages, and aspects of the embodiments of this disclosure will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:

[0010] Figure 1 A schematic diagram illustrating the adaptive size adjustment of a single-layer sub-canvas is shown;

[0011] Figure 2 A schematic diagram illustrating the adaptive size adjustment of multiple sub-canvases is shown;

[0012] Figure 3 A flowchart of a method for workflow visualization according to some embodiments of the present disclosure is shown;

[0013] Figure 4 A flowchart is shown illustrating a method for adaptively adjusting the size of multiple sub-canvases according to some embodiments of the present disclosure;

[0014] Figure 5 A schematic diagram illustrating the transfer process of the local transformation matrix of a multi-layer sub-canvas according to some embodiments of the present disclosure is shown.

[0015] Figure 6 A block diagram of a workflow visualization apparatus according to some embodiments of the present disclosure is shown; and

[0016] Figure 7 A block diagram of a device capable of implementing several embodiments of the present disclosure is shown. Detailed Implementation

[0017] It is understood that all user-related data involved in this technical solution should be obtained and used only after authorization from the user. This means that if it is necessary to use a user's personal information in this technical solution, the user's explicit consent and authorization are required before obtaining this data; otherwise, no related data collection and use will be carried out. It should also be understood that when implementing this technical solution, relevant laws and regulations should be strictly followed in the process of data collection, use, and storage, and necessary technical measures should be taken to protect user data security and ensure the secure use of data.

[0018] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0019] For example, upon receiving a user's proactive request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0020] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0021] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0022] Embodiments of this disclosure will now be described in more detail with reference to the accompanying drawings. While some embodiments of this disclosure are shown in the drawings, it should be understood that this disclosure can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this disclosure. It should be understood that the accompanying drawings and embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of protection of this disclosure.

[0023] In the description of embodiments of this disclosure, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects unless explicitly stated. Other explicit and implicit definitions may also be included below.

[0024] Visual workflow systems are widely used in automation, data processing, and business orchestration. To adapt to increasingly complex business needs, many workflow systems have introduced the concept of "sub-canvases," which involve nesting local process areas within the main canvas to support complex structures such as loops, batch processing, and concurrent processing. Sub-canvases are typically hosted by container nodes, which can contain several child nodes to organize independent sub-processes. In practice, the number and content of child nodes within a sub-canvas often change dynamically. To ensure that child nodes are displayed completely, the rendering area of ​​the sub-canvas should ideally adjust its size dynamically according to its content. However, most current mainstream workflow editors use manual adjustment of the sub-canvas size, a practice with significant limitations.

[0025] First, users frequently need to manually adjust the size of sub-canvases to accommodate changes in content, a tedious and inefficient process that significantly impacts user experience and workflow. Second, different users may use different standards when adjusting sub-canvases, leading to a lack of consistency in the overall workflow layout. Furthermore, when sub-nodes change or the workflow structure is restructured, all related sub-canvases must be manually adjusted repeatedly, increasing maintenance costs. Finally, in multi-layered nested canvas structures, the existing system lacks a unified and efficient transformation matrix mechanism to achieve consistent canvas layout and coordinate calculations.

[0026] In view of the above problems, this disclosure proposes a workflow sub-canvas size adaptive mechanism based on matrix transformation, which eliminates the need for users to manually adjust the size of the sub-canvas, thereby improving the efficiency of users in orchestrating workflows and the dynamic layout capability of workflows.

[0027] In some embodiments, by introducing a hierarchical transformation matrix management mechanism and combining it with real-time calculation of the sub-canvas boundaries in the visual interface, the system can automatically perceive changes in the spatial layout of child nodes within the sub-canvas and dynamically adjust the size of the sub-canvas. Specifically, each node (including sub-canvas nodes and their child nodes) maintains a local transformation matrix to describe its geometric transformation relative to its parent node. When child nodes are added, deleted, or repositioned, the system utilizes the transitive nature of the local transformation matrices of the hierarchical child nodes to update the size of the sub-canvas in real time, thereby adaptively adjusting its rendering area. In some embodiments, the size and rendering area of ​​the parent node's sub-canvas can also be updated adaptively level by level in a recursive manner.

[0028] The following is for reference Figures 1 to 7 Describe exemplary embodiments provided in this disclosure.

[0029] Figure 1 This diagram illustrates an adaptive resizing of a single-layer sub-canvas. As shown, the main canvas 100 of the workflow is used to present and edit the node structure of the entire workflow. Schematably, the main canvas 100 includes sub-canvases 110 (also called container nodes) as its child nodes, and the sub-canvases 100 include child nodes 112, 114, and 115. Child nodes 112, 114, and 115 are at the same level and can be considered as sibling nodes. Figure 1 The child nodes 112, 114, and 115 have corresponding geometric shapes, such as rectangles, which are used to be presented in the graphical interface and support user interaction operations, such as clicking, dragging, resizing, and modifying content.

[0030] As shown in the figure, the size of the sub-canvas 110 matches the size and position of its included child nodes 112, 114, and 115. When the size or position of the child nodes changes (e.g., due to changes in node text content, style adjustments, or user actions causing an increase in size), the size or boundaries of the sub-canvas 110 can also change accordingly. For example, if the height of child node 114 changes, the height of the sub-canvas 110 can change accordingly; similarly, if the width of child node 115 changes, the height of the sub-canvas 110 can change accordingly.

[0031] Figure 2This diagram illustrates the adaptive size adjustment of multiple sub-canvases. As shown, the main canvas 100 is used to present the visual structure of the entire workflow. The main canvas 100 includes a first-level sub-canvas 110. Sub-canvas 110, as a child node of the main canvas, is a container node used to organize sub-processes. Sub-canvas 110 contains multiple child nodes, such as child node 112, child node 115, and child node 120. Child node 120 itself is also a container node and can serve as a second-level sub-canvas, containing two nested child nodes: child node 122 and child node 124. In this nested structure, child node 124, as the innermost node, is located within the second-level sub-canvas 120, which in turn is located within the first-level sub-canvas 110.

[0032] According to embodiments of this disclosure, in response to changes in the content, position, or size of child node 124, the size and boundaries of its container, i.e., child node 120 (which is the parent node relative to child node 124), are adaptively adjusted. When the size or boundaries of child node 120 change, the size and boundaries of its container, i.e., sub-canvas 110, are adaptively adjusted. This achieves adaptive adjustment of the sub-canvas size in multi-layered sub-canvas linkage.

[0033] The embodiments of this disclosure provide a sub-canvas size adaptive mechanism based on a local transformation matrix. It adopts a hierarchical architecture design and realizes automated calculation and dynamic adjustment of canvas size through the collaborative work between modular components.

[0034] The system maintains a corresponding local transformation matrix for each node. In this paper, the local transformation matrix is ​​used to indicate the geometric transformation of a node relative to its parent node (or parent coordinate system), including translation, scaling, tilting, or rotation. For example, in Figure 1 In the diagram, the local matrix transformations of child nodes 112, 114, and 115 represent the geometric transformations of these nodes relative to sub-canvas 110, and the local transformation matrix of sub-canvas 110 represents the geometric transformation of the sub-canvas relative to the main canvas 100. Figure 2 In the diagram, the local transformation matrices of child nodes 122 and 124 represent their geometric transformations relative to child canvas 120, the local transformation matrix of child canvas 120 represents its geometric transformation relative to child canvas 110, and the local transformation matrix of child canvas 110 represents its geometric transformation relative to the main canvas 100.

[0035] Based on the hierarchical nesting relationship between nodes and sub-canvases, local transformation matrices can be cascaded to calculate the world transformation coordinates of nodes relative to the world coordinate system (i.e., the reference main canvas 100).

[0036] The system also provides a set of child nodes to maintain references to all child nodes of the current container. If any child node of a sub-canvas changes (meaning its local transformation matrix changes), the sub-canvas boundary is recalculated, and this can recursively trigger the recalculation of the boundaries of higher-level sub-canvases. The system also provides a bounding box caching mechanism to cache computation results for performance optimization.

[0037] Figure 3 A flowchart of a method 300 for workflow visualization according to some embodiments of the present disclosure is shown. Method 300 can be performed by any electronic device with computing capabilities, for example, to adaptively adjust the size of sub-canvases of the workflow when a workflow application is running on the device. It will be understood that method 300 may include more steps, or some steps may be omitted.

[0038] In box 310, a sub-canvas of the workflow is displayed. The sub-canvas includes at least one child node, each child node having its own local transformation matrix indicating the geometric transformation of the child node relative to the sub-canvas. In some embodiments, the sub-canvas may have a local transformation matrix corresponding to its parent node.

[0039] In a multi-layered nested canvas structure, each canvas maintains its own local transformation matrix, achieving correct coordinate system transformation through matrix combination. In some embodiments, a cumulative transformation strategy is employed, whereby the final transformation matrix of each sub-canvas is obtained by sequentially multiplying all local transformation matrices along the path from the main canvas to the current canvas. In other words, the global transformation state of any canvas node is formed by layer-by-layer superposition (i.e., matrix multiplication) of the local transformations of its ancestor nodes.

[0040] In box 320, the boundaries of the sub-canvas are adjusted in response to an update of the local transformation matrix of at least one child node. In some embodiments, the sub-canvas has a list of child nodes, each with its own local transformation matrix. Once it is determined that the local transformation matrix of a child node in the list of child nodes has been updated, the boundaries of the node sub-canvas are re-established.

[0041] In some embodiments, when a child node is added or deleted within a sub-canvas, the local transformation matrix of the child node in the sub-canvas is updated, triggering a recalculation of the sub-canvas's boundaries. In some embodiments, a user may change the boundaries or content of a child node, such as adding text content, which also leads to an update of the child node's local transformation matrix, thereby triggering a recalculation of the sub-canvas's boundaries. In some embodiments, a user may move a child node within the sub-canvas, causing an update of the child node's local transformation matrix, thereby triggering a recalculation of the sub-canvas's boundaries.

[0042] When changes occur at the bottom-level nodes, the changes can propagate upwards along the hierarchy, recalculating the boundaries of each sub-canvas and notifying the next level. This design ensures consistency and responsiveness throughout the entire canvas system.

[0043] In some embodiments, the world transformation matrix of a sub-canvas can be calculated based on the local transformation matrices of the sub-canvas and at least one of its parent canvases. The at least one parent canvas includes all canvases starting from the sub-canvas and ascending the hierarchy up to the main canvas, where each local transformation matrix indicates the geometric transformation of the current sub-canvas relative to its parent canvas. For example, the world transformation matrix of the current sub-canvas can be obtained by multiplying all local transformation matrices from the main canvas to the current sub-canvas. The boundaries of the sub-canvas can then be calculated based on the world transformation matrix; that is, the global coordinates of the sub-canvas's boundaries can be calculated for rendering.

[0044] In some embodiments, matrix calculations can employ a caching mechanism, recalculating only when the local transformation matrix changes, thus avoiding performance loss caused by repeated calculations.

[0045] In some embodiments, in response to an update of the local transformation matrix of at least one node of a sub-canvas, the local transformation matrices of the current sub-canvas and its parent canvas are updated recursively. In some embodiments, the boundaries of at least one parent canvas can be adjusted based on the updated local transformation matrix of the sub-canvas. In other words, an update of the local transformation matrix of a sub-canvas further triggers a recalculation of the boundaries of its parent canvas, which in turn leads to an update of the local transformation matrix of the parent canvas, and so on. This achieves the transfer of the local transformation matrix (or local boundaries) of a sub-canvas within a multi-layer canvas system.

[0046] Figure 4 A flowchart is shown for a method 400 for adaptively adjusting the size of multiple sub-canvases according to some embodiments of the present disclosure. Method 400 can be considered as an exemplary implementation of method 300.

[0047] In box 402, a change in node content was detected. This could be due to the addition or deletion of a child node within the sub-canvas, a change in the size of a child node (e.g., increased or decreased content, or manual user modification), or a change in the position of a child node. These transformations result in changes to the local transformation matrices of the child nodes within the sub-canvas.

[0048] In box 404, the sub-canvas whose boundaries need to be updated are identified. By maintaining a dirty flag for the nodes, the system can accurately identify regions that need to be recalculated, significantly improving the rendering performance of large workflows. In some embodiments, nodes or sub-canvases in the workflow whose local transformation matrices have changed can be identified. Based on the node reference relationships in the workflow, the parent canvas or higher-level parent canvases that include these nodes or sub-canvases in the workflow's hierarchy are determined. These canvases are identified as needing their boundaries updated, and then the boundaries of the identified parent canvases or higher-level parent canvases are adjusted, as described in boxes 406 to 418.

[0049] In box 406, collect child node information. The system accesses the set of child nodes of the current sub-canvas to obtain references to all child nodes of the current sub-canvas.

[0050] In box 408, apply the local transformation matrix to the child nodes. The system can collect the local transformation matrices of all child nodes in the current sub-canvas, thereby obtaining the position and layout of the child nodes relative to the current sub-canvas.

[0051] In box 410, the joint boundary is calculated. The system can calculate the joint boundary of these child nodes based on their local transformation matrices. For example, the smallest matrix box that can cover these child nodes is calculated as the joint boundary.

[0052] In box 412, add inner margin. The system can determine the inner margin of the sub-canvas and add the inner margin to the outside of the union boundary.

[0053] In box 414, update the size of the sub-canvas. The system can determine the size of the sub-canvas based on the inner margins and the joint boundary.

[0054] In box 416, it is determined whether the current child canvas has a parent canvas. If so, method 400 proceeds to box 418, notifying the parent canvas to recalculate its boundaries. In some embodiments, when a parent canvas exists, the local transformation matrix of the child canvas can be updated based on its size, and the local boundary matrix of the child canvas can be passed to the parent canvas as its local boundary. Optionally, the system can pass the size of the child canvas to the parent canvas, which then updates the local transformation matrix of the child canvas.

[0055] Then, the process from boxes 406 to 418 is repeated until the recursion reaches the main canvas, which has no parent canvas. Then, method 400 moves to box 420 and updates the global layout. The boundaries of all child canvases marked with dirty tags are recalculated to obtain the global coordinates of the boundaries. As a result, the rendering system uses the global coordinates of the child canvases to redraw the visual workflow, achieving adaptive adjustment of the node and child canvas sizes in the hierarchical workflow.

[0056] Figure 5 A schematic diagram illustrating the transfer process 500 of the local transformation matrix of a multi-layered sub-canvas according to some embodiments of the present disclosure is shown. For ease of explanation, refer to... Figure 2 The exemplary workflow hierarchy 200 is illustrated below. It is understood that the local transformation matrix transfer process proposed in this disclosure is applicable to any hierarchy, and this disclosure does not limit the total number of levels.

[0057] As shown in the figure, the transmission process 500 involves node 124, the sub-canvas 120 where node 124 is located, the sub-canvas 110 which is the upper layer canvas of the sub-canvas 120, and the main canvas 100.

[0058] In step S51, the content changes of node 124 are transmitted to sub-canvas 120. For example, the local transformation matrix of node 124 is communicated to sub-canvas 120, enabling the system to determine the relative position of node 124 in the coordinate system of sub-canvas 120.

[0059] In step S52, the system calculates the local boundaries of the sub-canvas 120. For example, refer to... Figure 4 The process shown in boxes 406 to 414 is used to update the size of the sub-canvas 120 and calculate its local boundaries.

[0060] In box S53, the transformed boundary of sub-canvas 120 is passed to the parent sub-canvas 110.

[0061] In box S54, the system combines the local boundaries of all child nodes of sub-canvas 110 (including sub-canvas 120) and calculates the boundary of sub-canvas 110.

[0062] In frame S55, the system passes the final boundary to the main canvas 100.

[0063] In frame S56, the system calculates the world transformation matrix of all relevant canvases and nodes, obtains the world coordinates, and updates the global layout based on the world coordinates.

[0064] The above is for reference only. Figures 1 to 5 Exemplary embodiments of this disclosure are described. This disclosure provides a hierarchical transformation matrix management mechanism that automatically senses changes in the spatial layout of child nodes within a sub-canvas, enabling dynamic adjustment of the sub-canvas size. Using embodiments of this disclosure, users do not need to manually adjust the sub-canvas size, thereby improving the efficiency of workflow orchestration and the dynamic layout capabilities of workflows.

[0065] Figure 6An apparatus 600 for visualizing an editing workflow is illustrated according to some embodiments of the present disclosure. As shown, the apparatus 600 includes a display unit 610 and a boundary adjustment unit 620. The display unit 610 is configured to display a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having a respective local transformation matrix indicating the geometric transformation of the child node relative to the sub-canvas. The boundary adjustment unit 620 is configured to adjust the boundary of the sub-canvas in response to an update of the local transformation matrix of the at least one node. The apparatus 600 may also implement a reference according to further units. Figures 3 to 5 The individual steps of the described method or process.

[0066] Figure 7 A block diagram of a device 700 capable of implementing various embodiments of the present disclosure is shown. (See diagram for example.) Figure 7 As shown, device 700 includes a computing unit 701, including a central processing unit (CPU) and / or a graphics processing unit (GPU), which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 702 or loaded from storage unit 708 into random access memory (RAM) 703. The RAM 703 may also store various programs and data required for the operation of device 700. The computing unit 701, ROM 702, and RAM 703 are interconnected via bus 704. Input / output (I / O) interface 705 is also connected to bus 704. Although not shown in... Figure 7 As shown, device 700 may also include a coprocessor.

[0067] Multiple components in device 700 are connected to I / O interface 705, including: input unit 706, such as keyboard, mouse, etc.; output unit 707, such as various types of monitors, speakers, etc.; storage unit 708, such as disk, optical disk, etc.; and communication unit 709, such as network card, modem, wireless transceiver, etc. Communication unit 709 allows device 700 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0068] The various methods or processes described above can be executed by computing unit 701. For example, in some embodiments, the methods can be implemented as computer software programs tangibly contained in a machine-readable medium, such as storage unit 708. In some embodiments, part or all of the computer program can be loaded and / or installed on device 700 via ROM 702 and / or communication unit 709. When the computer program is loaded into RAM 703 and executed by computing unit 701, one or more steps or actions in the methods or processes described above can be performed.

[0069] In some embodiments, the methods and processes described above can be implemented as a computer program product. The computer program product may include a computer-readable storage medium having computer-readable program instructions loaded thereon for performing various aspects of this disclosure.

[0070] Computer-readable storage medium can be a tangible device that can keep and store the instructions used by the instruction execution device.Computer-readable storage medium can be, for example, but not limited to, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device or any suitable combination thereof.More specific examples (non-exhaustive list) of computer-readable storage medium include: a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanical encoding device, for example, a punch card or a convex structure in a groove having instructions stored thereon, and any suitable combination thereof.Computer-readable storage medium used herein is not interpreted as a transient signal itself, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagated by waveguides or other transmission media (for example, light pulses by fiber optic cables), or electrical signals transmitted by wires.

[0071] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, a local area network (LAN), a wide area network (WAN), and / or a wireless network, to an external computer or external storage device. The network may include copper cables, fiber optic cables, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.

[0072] Computer program instructions used to perform the operations of this disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, status setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages ​​and conventional procedural programming languages. The computer-readable program instructions may execute entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing the status information of the computer-readable program instructions to implement various aspects of this disclosure.

[0073] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing apparatus to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing apparatus, they create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium that causes a computer, programmable data processing apparatus, and / or other device to operate in a particular manner. Thus, the computer-readable medium storing the instructions comprises an article of manufacture that includes instructions for implementing aspects of the functions / actions specified in one or more blocks of the flowchart and / or block diagram.

[0074] Computer-readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, thereby causing the instructions executed on the computer, other programmable data processing apparatus, or other device to perform the functions / actions specified in one or more boxes of a flowchart and / or block diagram.

[0075] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of devices, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of an instruction containing one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the blocks may occur in a different order than those marked in the drawings. For example, two consecutive blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or action, or using a combination of dedicated hardware and computer instructions.

[0076] The various embodiments of this disclosure have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical applications, or technical improvements to the technology in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.

Claims

1. A method for workflow visualization, comprising: A sub-canvas that displays the workflow, the sub-canvas including at least one child node, each child node having its own local transformation matrix, the local transformation matrix indicating the geometric transformation of the child node relative to the sub-canvas; as well as In response to an update of the local transformation matrix of the at least one node, the boundaries of the sub-canvas are adjusted.

2. The method according to claim 1, wherein, Adjusting the boundaries of the sub-canvas includes: Based on the local transformation matrices of the sub-canvas and at least one parent canvas of the sub-canvas, a world transformation matrix of the sub-canvas is calculated, the local transformation matrices indicating the geometric transformation of the sub-canvas relative to its parent canvas; and The boundary of the sub-canvas is calculated based on the world transformation matrix.

3. The method according to claim 2, further comprising: In response to the update of the local transformation matrix of the at least one node, the local transformation matrices of the sub-canvas and at least one parent canvas of the sub-canvas are updated recursively.

4. The method according to claim 3, further comprising: Based on the updated local transformation matrix of the sub-canvas, the boundaries of the at least one parent canvas are adjusted.

5. The method according to claim 1, wherein, Updating the local transformation matrix of the sub-canvas and at least one parent canvas of the sub-canvas includes: The size of the sub-canvas is determined based on the updated local transformation matrix of at least one node of the sub-canvas; and Update the local transformation matrix of the sub-canvas based at least on the size of the sub-canvas.

6. The method according to claim 5, wherein, Determining the size of the sub-canvas includes: Based on the local transformation matrix of the at least one node of the sub-canvas, calculate the joint boundary of the at least one child node; and Determine the inner margin of the sub-canvas; and The size of the sub-canvas is determined based on the inner margin and the joint boundary.

7. The method according to claim 1, wherein, The workflow includes hierarchical nodes and sub-canvases, each node or sub-canvas having a corresponding local transformation matrix. The method further includes: Identify the nodes or sub-canvases in the workflow where the local transformation matrix changes; Based on the node reference relationships in the workflow, determine the parent canvas or a higher-level parent canvas that includes the node or child canvas in the hierarchical structure; and Adjust the boundaries of the identified parent canvas or a higher-level parent canvas.

8. The method according to claim 1, further comprising: Update the local transformation matrix of the at least one child node of the sub-canvas based on at least one of the following: Add or delete child nodes in the sub-canvas; Change the boundaries or content of child nodes; or Move the child node within the sub-canvas.

9. An apparatus for workflow visualization, comprising: The display unit is configured to display a sub-canvas of the workflow, the sub-canvas including at least one child node, each child node having its own local transformation matrix, the local transformation matrix indicating the geometric transformation of the child node relative to the sub-canvas; as well as A boundary adjustment unit is configured to adjust the boundary of the sub-canvas in response to an update of the local transformation matrix of the at least one node.

10. An electronic device, comprising: processor; as well as A memory coupled to the processor, the memory having instructions stored therein, which, when executed by the processor, cause the electronic device to perform the method according to any one of claims 1-8.

11. A computer-readable storage medium having stored thereon computer-executable instructions, wherein the computer-executable instructions are executed by a processor to implement the method according to any one of claims 1-8.