Method and apparatus for process orchestration initialization, device, and program product

By parsing the activity graph code to generate a syntax tree structure, the problem that existing process orchestration engines cannot utilize the intuitiveness of activity graph syntax is solved, enabling rapid process initialization and efficient orchestration, and improving user orchestration efficiency.

WO2026112895A1PCT designated stage Publication Date: 2026-06-04BEIJING ZITIAO NETWORK TECH CO LTD

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
BEIJING ZITIAO NETWORK TECH CO LTD
Filing Date
2024-11-28
Publication Date
2026-06-04

AI Technical Summary

Technical Problem

Existing process orchestration engines cannot effectively utilize the intuitiveness and ease of understanding of activity diagram syntax, resulting in low efficiency for users during process initialization and orchestration. Users need to manually configure the nodes and content within the process engine, and professional developers need to recode, which affects development efficiency.

Method used

By parsing the activity graph code, a corresponding syntax tree structure is generated. Leveraging the intuitiveness and ease of understanding of the activity graph syntax, the cold start initialization orchestration of the process can be completed quickly, including lexical analysis, syntax analysis, and the use of stack structures, generating a domain-specific language protocol to execute the process orchestration.

Benefits of technology

It improves the efficiency of process orchestration, enabling non-technical personnel to easily understand and operate complex processes, simplifies process management and creation, and improves the efficiency of user process orchestration.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024135321_04062026_PF_FP_ABST
    Figure CN2024135321_04062026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure provides a method and apparatus for process orchestration initialization, a computing device, a computer-readable storage medium, and a computer program product. The method comprises: acquiring an activity diagram code describing the workflow. The method further comprises: parsing the activity diagram code to generate a syntax tree structure corresponding to the workflow. In addition, the method further comprises: performing process orchestration initialization on the basis of the syntax tree structure.
Need to check novelty before this filing date? Find Prior Art

Description

Methods, apparatus, equipment, and procedures for process orchestration initialization. Technical Field

[0001] This disclosure relates to the field of computer technology, and more specifically, to a method, apparatus, computing device, computer-readable storage medium, and computer program product for process orchestration initialization. Background Technology

[0002] An activity diagram is a graphical representation in the Unified Modeling Language (UML) primarily used to describe the workflow of a system or process. Activity diagrams typically illustrate the sequence of steps, decision points, concurrent execution, and synchronization points. They have wide applications in software design, business process modeling, and other fields. While activity diagrams themselves are not a programming language, various tools and programming languages ​​can be used to generate or describe them. The activity diagram syntax is a simple text-based language for creating activity diagrams. It allows developers to define elements of the activity diagram using simple keywords and symbols, such as activities, conditions, loops, and parallelism, thus providing a visual description of process logic.

[0003] A process orchestration engine is a tool for defining, executing, and monitoring business processes. It allows developers to define business processes visually or using workflow languages, standardizing input parameters, output parameters, context, data flow formats, and triggering logic through standardized process nodes, thereby achieving process configurability and visualization. Summary of the Invention

[0004] This disclosure provides a method, apparatus, computing device, computer-readable storage medium, and computer program product for process orchestration initialization. By parsing activity diagram code to obtain a syntax tree structure corresponding to the workflow, it can leverage the intuitive and easy-to-understand advantages of activity diagram syntax to quickly complete the initialization of process orchestration and improve the efficiency of user process orchestration.

[0005] According to a first aspect of this disclosure, a method for process orchestration initialization is provided, the method comprising obtaining activity graph code describing a workflow. The method further comprises generating a syntax tree structure corresponding to the workflow by parsing the activity graph code. Furthermore, the method includes performing process orchestration initialization based on the syntax tree structure.

[0006] According to a second aspect of this disclosure, an apparatus for process orchestration initialization is provided, comprising: a code acquisition unit configured to acquire activity graph code describing a workflow; a code parsing unit configured to generate a syntax tree structure corresponding to the workflow by parsing the activity graph code; and a process initialization unit configured to perform process orchestration initialization based on the syntax tree structure.

[0007] According to a third aspect of this disclosure, a computing device is provided, comprising: at least one processing unit; at least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the computing device to perform the method as described in the first aspect of this disclosure.

[0008] According to a fourth aspect of this disclosure, a non-transient computer storage medium is provided, including machine-executable instructions that, when executed by a device, cause the device to perform the method as described in the first aspect of this disclosure.

[0009] According to a fifth aspect of this disclosure, a computer program product is provided, including machine-executable instructions that, when executed by a device, cause the device to perform the method as described in the first aspect of this disclosure.

[0010] It should be understood that the summary section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0011] The above and other objects, features, and advantages of embodiments of the present disclosure will become more readily understood from the following detailed description with reference to the accompanying drawings. In the drawings, several embodiments of the present disclosure will be described by way of example and non-limitation, wherein:

[0012] Figure 1 shows a schematic diagram of an example environment in which embodiments of the present disclosure may be implemented;

[0013] Figure 2 shows a schematic flowchart of a process orchestration initialization method according to an embodiment of the present disclosure;

[0014] Figure 3 shows a schematic flowchart of constructing a syntax tree structure through syntax parsing according to an embodiment of the present disclosure;

[0015] Figures 4A to 4J show schematic flowcharts of a syntax tree structure and a stack structure based on syntax elements according to embodiments of the present disclosure;

[0016] Figure 5 shows a block diagram of an apparatus for process orchestration initialization according to an embodiment of the present disclosure; and

[0017] Figure 6 shows a block diagram of an electronic device according to an embodiment of the present disclosure.

[0018] In all the accompanying figures, the same or similar reference numerals denote the same or similar elements. Detailed Implementation

[0019] 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.

[0020] 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.

[0021] For complex processes, existing initialization orchestration processes suffer from the following problems: users often need to define a rough logic for the process before refining the configuration details within the process engine; during configuration, users often need to manually create and configure each node one by one. Therefore, professional developers have to rewrite and build the application from scratch, severely impacting development efficiency.

[0022] The activity diagram syntax of the Unified Modeling Language (UML) offers advantages such as intuitiveness and ease of understanding. Activity diagram code conforming to this syntax can generate visual activity diagrams for users to view the corresponding workflows. However, activity diagrams are typically only viewable by users or editable within UML tools. Existing process orchestration engines cannot convert activity diagrams into process engine configurations, thus failing to leverage the aforementioned advantages of the activity diagram syntax. Therefore, how to utilize the advantages of the activity diagram syntax to quickly complete the initial orchestration of processes presents a challenge for those skilled in the art.

[0023] To address or mitigate the aforementioned problems and / or other potential issues, embodiments of this disclosure propose a method for process orchestration initialization. This method parses activity diagram code to obtain a syntax tree structure corresponding to the workflow, thereby leveraging the intuitive and easy-to-understand nature of activity diagram syntax to quickly complete the cold start initialization orchestration of the process, improving the efficiency of user process orchestration.

[0024] The basic principles and implementation of this disclosure are illustrated below with reference to the accompanying drawings. It should be understood that the exemplary embodiments given are merely intended to enable those skilled in the art to better understand and implement the embodiments of this disclosure, and are not intended to limit the scope of this disclosure in any way.

[0025] Figure 1 illustrates a schematic diagram of an environment 100 capable of implementing various embodiments of the present disclosure. As shown in Figure 1, the environment 100 may include activity diagram code 101, a process orchestration engine 102, and a visual process orchestration 103. An activity diagram is a UML diagram used to represent a series of activities and their sequence in a system or process, which can be generated by code from relevant open-source tools. In some embodiments, the activity diagram code 101 may include user-written code or text description conforming to activity diagram syntax.

[0026] As shown in Figure 1, activity diagram code 101 can be imported into process orchestration engine 102 to generate a visual process orchestration 103. Process orchestration engine 102 is a tool for defining, executing, and monitoring business processes, allowing developers to define business processes visually or using workflow language. In some embodiments, users can copy a piece of activity diagram code 101 and paste it into process orchestration engine 102, where the built-in functional plugins of process orchestration engine 102 will convert the code into a visual process. Alternatively, users can manually input activity diagram code 101 directly into process orchestration engine 102, or import activity diagram code 101 in any other form; this disclosure does not limit this process.

[0027] A visual process orchestration 103 can include one or more nodes and edges. Nodes can represent key elements or steps in the process. These elements can be tasks, decision points, sub-processes, data input / output points, etc. Nodes can be presented graphically, such as circles, rectangles, or diamonds, so that users can intuitively identify and understand them. Nodes can be of various types, such as start nodes, end nodes, operation nodes, and decision nodes. Furthermore, nodes can have attributes such as node name, node description, execution conditions, and execution time.

[0028] In the visual process orchestration 103, edges represent relationships between nodes or the direction of the process. Edges can be arrows or lines indicating data flow, control flow, or dependencies within the process. Edges can be unidirectional or bidirectional to represent unidirectional flow or bidirectional interaction within the process.

[0029] Visual process orchestration (103) is a user-friendly interface design that allows users to edit and build processes through simple drag-and-drop operations. This approach greatly simplifies the management and creation of complex processes, making it easy for non-technical personnel to understand and operate.

[0030] Figure 2 shows a schematic flowchart of a process orchestration initialization method 200 according to an embodiment of the present disclosure. In some embodiments, method 200 may be implemented by a functional plug-in in, for example, the process orchestration engine 102 shown in Figure 1. It should be understood that method 200 may also include additional actions not shown and / or actions shown may be omitted, and the scope of the present disclosure is not limited in this respect.

[0031] As shown in Figure 2, in box 210, method 200 may include: obtaining activity diagram code describing the workflow. Activity diagram code 101 can describe elements such as action states, decision points, concurrent execution, and synchronization points in the workflow in text form. In some embodiments, a user can copy a piece of activity diagram code 101 and paste it into the workflow orchestration engine 102. In some embodiments, the user can also manually write activity diagram code 101 directly in the workflow orchestration engine 102.

[0032] In box 220, method 200 may include generating a syntax tree structure corresponding to the workflow by parsing the activity graph code. A syntax tree structure is a tree-like structure used to represent the grammatical relationships of sentences, where each node represents a grammatical component, such as a word, phrase, or sentence, and the connections between nodes represent the grammatical relationships between components. A lexical is the smallest indivisible meaningful unit of language; a word can consist of one or more lexicals. In some embodiments, the workflow orchestration engine 102 may first perform lexical analysis on the activity graph code 101 to obtain a sequence of lexical components, and then perform grammatical analysis on that sequence of lexical components to generate the syntax tree structure.

[0033] A regular expression is a text pattern that includes ordinary characters (such as letters from a to z) and special characters (called "metacharacters"). These characters and metacharacters are combined to form a rule string used to match, search, replace, or validate text that conforms to a specific pattern. In some embodiments, the flow orchestration engine 102 may first segment the activity graph code 101 into multiple lexicals based on a regular expression that identifies at least one syntactic element, and then obtain a sequence of lexical elements based on these lexical elements.

[0034] In some embodiments, syntax elements may include a single activity (e.g., beginning with a colon and ending with a semicolon), conditional information (e.g., beginning with a colon and ending with a semicolon), or control structures (e.g., if, while, switch, etc.). In some embodiments, a regular expression like the one shown below can be used to identify specific syntax elements:

[0035] A stack is a Last-In-First-Out (LIFO) data structure that allows insertion and deletion operations only at one end of the stack (called the top). The last element added to the stack is removed first, while the first element added is kept at the bottom until it is removed later. Stacks typically only allow operations at the top, including adding elements (push) and removing elements (pop). This restricted access ensures data consistency and validity. In some embodiments, the orchestration engine 102 can use a stack structure to construct a syntax tree structure based on the lexicons representing grammatical elements in a lexicon sequence.

[0036] In some embodiments, the process orchestration engine 102 may perform at least one of the following to construct a syntax tree structure for each lexicon representing a syntax element: creating a node of the syntax tree structure, the type of which is determined based on the lexicon; adding the created node to the list of child nodes of the top node of the stack; performing a push operation on the stack structure; performing a pop operation on the stack structure; or obtaining the next lexicon in the sequence of lexicons.

[0037] In box 230, method 200 may include: performing flow orchestration initialization based on a syntax tree structure. A domain-specific language (DSL) is a computer language specifically designed for a particular domain, providing semantics and syntax relevant to that domain. In some embodiments, the flow orchestration engine 102 may first generate a domain-specific language schema conforming to the generated syntax tree structure, and then perform flow orchestration initialization based on the domain-specific language schema to present an orchestratable workflow.

[0038] Figure 3 illustrates a schematic flowchart 300 of constructing a syntax tree structure through syntax parsing according to an embodiment of the present disclosure. As shown in Figure 3, in step 301, the process orchestration engine 102 begins to perform syntax parsing operations on the lexical sequence. In step 302, the process orchestration engine 102 can obtain the lexical sequence obtained in advance by performing lexical parsing on the activity graph code 101. In step 303, the process orchestration engine 102 can first create the root node of the syntax tree structure, and then in step 304, the process orchestration engine 102 can push the root node onto a stack and begin generating the syntax tree structure based on the stack structure.

[0039] In some embodiments, the lexical sequence may have an index to facilitate access to elements in the sequence. The initial value of the index is 0 and can be increased or decreased via instructions. In step 305, the flow orchestration engine 102 can obtain the lexical at the index position and increment the index by 1 so that the next lexical in the lexical sequence can be obtained through the index next time. In step 306, the flow orchestration engine 102 can determine whether the currently obtained lexical is empty. If it is not empty, then proceed to step 307, where the flow orchestration engine 102 operates on the syntax tree structure and stack structure based on the type of the current lexical (described in detail below with reference to Figures 4A-4J). Then, in step 308, the flow orchestration engine 102 can obtain the lexical at the index position and increment the index by 1 again. Further, it can return to step 306 to perform a loop judgment. If it is empty, then in step 309, it directly returns to the root node of the syntax tree structure and proceeds to step 310 to end the syntax parsing operation and complete the construction of the syntax tree structure. The specific implementation of step 307 is further described below with reference to Figures 4A to 4J, that is, how to operate on the syntax tree structure and stack structure for a specific syntax element.

[0040] Figure 4A illustrates a schematic flowchart 400A of a syntax tree structure and stack structure based on type operations of grammatical elements according to an embodiment of the present disclosure. As shown in Figure 4A, in step 4011, the flow orchestration engine 102 can determine whether the current morpheme begins with the symbol ":". If so, in step 4012, the flow orchestration engine 102 can create an intelligent node, and then in step 4013, the intelligent node is added to the child node of the top node of the stack to complete the construction of the syntax tree structure branch.

[0041] Figure 4B shows a schematic flowchart 400B of a syntax tree structure and a stack structure based on type operations of syntax elements according to another embodiment of the present disclosure. As shown in Figure 4B, in step 4021, the flow orchestration engine 102 can determine whether the current morpheme is switch. If so, in step 4022, the flow orchestration engine 102 can create a condition node, then in step 4023, add the condition node to the child node of the top node of the stack, and in step 4024, push the condition node onto the stack to complete the construction of the syntax tree structure branch.

[0042] Figure 4C shows a schematic flowchart 400C of a syntax tree structure and a stack structure based on the type operation of grammatical elements according to another embodiment of the present disclosure. As shown in Figure 4C, in step 4031, the flow orchestration engine 102 can determine whether the current morpheme is "if". If so, in step 4032, the flow orchestration engine 102 can create a condition node, then in step 4033, add the condition node to the child node of the top node of the stack, and in step 4034, push the condition node onto the stack. In step 4035, the flow orchestration engine 102 can create another case node, and then in step 4036, obtain the morpheme at the index position. In step 4037, the flow orchestration engine 102 can determine the type of the current morpheme again. If the current word begins with "(", then in step 4038, the word at the indexed position is obtained and the index is incremented by 1. Then, in step 4039, the branch node is added to the child node of the top node of the stack. If the current word does not begin with "(", then step 4038 is skipped, and the operation in step 4039 is executed directly. Finally, in step 40310, the flow orchestration engine 102 can push the branch node onto the stack to complete the construction of the syntax tree structure branch.

[0043] Figure 4D illustrates a schematic flowchart 400D of a syntax tree structure and stack structure based on type operations of syntax elements according to another embodiment of this disclosure. As shown in Figure 4D, in step 4041, the process orchestration engine 102 can determine whether the current morpheme is "then". If so, in step 4042, the process orchestration engine 102 can obtain the morpheme at the index position, and in step 4043, it continues to determine whether the current morpheme begins with "(". If so, in step 4044, the process orchestration engine 102 can continue to obtain the morpheme at the index position and increment the index by 1 to complete the construction of the syntax tree structure branch.

[0044] Figure 4E illustrates a schematic flowchart 400E of a syntax tree structure and stack structure based on type operations of grammatical elements according to another embodiment of this disclosure. As shown in Figure 4E, in step 4051, the flow orchestration engine 102 can determine whether the current morpheme is a case or elseif. If so, in step 4052, the flow orchestration engine 102 can create a branch (case) node, and then in step 4053, obtain the morpheme at the index position. In step 4054, the flow orchestration engine 102 can continue to determine the type of the current morpheme. If the current word begins with "(", then in step 4055, the word at the indexed position is retrieved and the index is incremented by 1, and then step 4056 is used to determine the type of the top node of the stack. If the current word does not begin with "(", then step 4055 is skipped, and the determination in step 4056 is executed directly. If the top node of the stack is determined to be a branch node in step 4056, then in step 4057, the flow orchestration engine 102 can pop the top node from the stack, and in step 4058, the branch node created above is added to the child nodes of the top node of the stack. If the top node of the stack is not determined to be a branch node in step 4056, then step 4057 is skipped, and the operation in step 4058 is executed directly. Finally, in step 4059, the flow orchestration engine 102 can push the branch node created above onto the stack to complete the construction of the syntax tree structure branch.

[0045] Figure 4F shows a schematic flowchart 400F of a syntax tree structure and stack structure based on type operations of syntax elements according to another embodiment of the present disclosure. As shown in Figure 4F, in step 4061, the flow orchestration engine 102 can determine whether the current morpheme is else. If so, in step 4062, the flow orchestration engine 102 can create a default node, and then in step 4063, obtain the morpheme at the index position. In step 4064, the flow orchestration engine 102 can continue to determine the type of the current morpheme. If the current word begins with "(", then in step 4065, the word at the indexed position is retrieved and the index is incremented by 1, and then step 4066 is used to determine the type of the top node. If the current word does not begin with "(", then step 4065 is skipped, and the determination in step 4066 is executed directly. If the top node is determined to be a branch node in step 4066, then in step 4067, the flow orchestration engine 102 can pop the top node from the stack, and in step 4068, the default node created above is added to the child nodes of the top node. If the top node is not determined to be a branch node in step 4066, then step 4067 is skipped, and the operation in step 4068 is executed directly. Finally, in step 4069, the flow orchestration engine 102 can push the default node created above onto the stack to complete the construction of the syntax tree structure branch.

[0046] Figure 4G illustrates a schematic flowchart 400G of a syntax tree structure and stack structure based on type operations of syntax elements according to another embodiment of this disclosure. As shown in Figure 4G, in step 4071, the process orchestration engine 102 can determine whether the current morpheme is a fork. If yes, then in step 4072, it continues to determine whether the next morpheme is again. If yes, then in step 4073, the process orchestration engine 102 can obtain the morpheme at the index position and increment the index by 1; if not, then the process orchestration engine 102 can first create a parallel node in step 4074, then add the parallel node to the child node of the top node in step 4075, and then push the parallel node onto the stack in step 4076. In step 4077, the process orchestration engine 102 can determine whether the top node of the stack is a block node. If yes, then in step 4078, the top node of the stack is popped, and in step 4079, a block node is created; if not, step 4078 is skipped, and the operation in step 4079 is executed directly. Then, in step 40710, the process orchestration engine 102 can add the block node created above to the child node of the top node of the stack, and push the block node onto the stack in step 40711 to complete the construction of the syntax tree structure branch.

[0047] Figure 4H shows a schematic flowchart 400H of the syntax tree structure and stack structure based on the type operation of syntax elements according to another embodiment of the present disclosure. As shown in Figure 4H, in step 4081, the process orchestration engine 102 can determine whether the current morpheme is a while. If so, in step 4082, the process orchestration engine 102 can create a forloop node, and then in step 4083, obtain the morpheme at the index position. In step 4084, the process orchestration engine 102 can continue to determine the type of the current morpheme. If the current morpheme starts with (), then in step 4085, obtain the morpheme at the index position and increment the index by 1, and then proceed to step 4086 to add the forloop node to the child node of the top node of the stack; if the current morpheme does not start with (), then skip step 4085 and directly execute the operation in step 4086. Finally, in step 4087, the process orchestration engine 102 can push the created forloop node onto the stack to complete the construction of the syntax tree structure branch.

[0048] Figure 4I shows a schematic flowchart 400I of a syntax tree structure and stack structure based on type operations of syntax elements according to another embodiment of the present disclosure. As shown in Figure 4I, in step 4091, the flow orchestration engine 102 can determine whether the current morpheme is endswitch, endif, or endfork. If so, in step 4092, the flow orchestration engine 102 can pop the top node of the stack twice.

[0049] Figure 4J shows a schematic flowchart 400J of a syntax tree structure and a stack structure based on type operations of syntax elements according to another embodiment of the present disclosure. As shown in Figure 4J, in step 4101, the flow orchestration engine 102 can determine whether the current morpheme is endwhile. If so, in step 4102, the flow orchestration engine 102 can pop the top node of the stack.

[0050] It is worth noting that during the process described in Figures 4A to 4J above, if the first judgment of the process orchestration engine 102 is negative, it further determines whether the current morpheme matches the specific morpheme of the next process. Furthermore, this disclosure does not limit the order of the processes shown in Figures 4A to 4J. For example, after determining in step 4011 that the current count does not begin with the symbol ":", it can further determine whether the current morpheme is a "switch" or any other process judgment step, thereby traversing Figures 4A to 4J. Additionally, after executing any complete process in Figures 4A to 4J, the process returns to step 308 shown in Figure 3.

[0051] Exemplary embodiments of the present disclosure have been described above with reference to Figures 1 to 4J. Compared with existing process orchestration initialization methods, the process orchestration initialization scheme of the present disclosure obtains the syntax tree structure corresponding to the workflow by parsing the activity diagram code, thereby leveraging the intuitive and easy-to-understand advantages of the activity diagram syntax to quickly complete the cold start initialization orchestration of the process and improve the efficiency of user process orchestration.

[0052] Figure 5 shows a schematic block diagram of an apparatus 500 for process orchestration initialization according to an embodiment of the present disclosure. As shown in Figure 5, the apparatus 500 includes: a code acquisition unit 510, a code parsing unit 520, and a process initialization unit 530.

[0053] In some embodiments, the code acquisition unit 502 is configured to acquire activity graph code describing the workflow; the code parsing unit 504 is configured to generate a syntax tree structure corresponding to the workflow by parsing the activity graph code; and the workflow initialization unit 506 is configured to perform workflow orchestration initialization based on the syntax tree structure.

[0054] In some embodiments, the code parsing unit 504 is further configured to obtain a lexical sequence by performing lexical analysis on the activity graph code; and to generate a syntax tree structure by performing syntactic analysis on the lexical sequence.

[0055] In some embodiments, the code parsing unit 504 is further configured to segment the activity graph code into multiple lexicals based on a regular expression that identifies at least one grammatical element; and to obtain a sequence of lexicals based on the multiple lexicals.

[0056] In some embodiments, at least one syntax element includes at least one of the following: a single activity; conditional information; or a control structure.

[0057] In some embodiments, the code parsing unit 504 is further configured to construct a syntax tree structure using a stack structure based on the lexicons representing grammatical elements in the lexicon sequence.

[0058] In some embodiments, the code parsing unit 504 is further configured to perform at least one of the following for each lexicon representing a grammatical element: creating a node of a syntax tree structure, the type of which is determined based on the lexicon; adding the created node to the list of child nodes of the top node of the stack; performing a push operation on the stack structure; performing a pop operation on the stack structure; or obtaining the next lexicon in the lexicon sequence.

[0059] In some embodiments, the process initialization unit 506 is further configured to generate a domain-specific language protocol that conforms to the process orchestration engine based on a syntax tree structure; and to perform process orchestration initialization based on the domain-specific language protocol to present an orchestratable workflow.

[0060] It should be noted that further actions or steps shown in Figures 1 to 4J can be implemented using the device 500 shown in Figure 5. For example, device 500 may include more modules or units to implement the actions or steps described above, or some of the units or modules shown in Figure 5 may be further configured to implement the actions or steps described above. This will not be repeated here.

[0061] Figure 6 shows a schematic block diagram of an example device 600 that can be used to implement embodiments of the present disclosure. As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 602 or loaded from storage unit 606 into random access memory (RAM) 603. Various programs and data required for the operation of device 600 may also be stored in RAM 603. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

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

[0063] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as method 200. For example, in some embodiments, method 200 may be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program may be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of method 200 described above may be performed. Alternatively, in other embodiments, the computing unit 601 may be configured to perform method 200 by any other suitable means (e.g., by means of firmware).

[0064] 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.

[0065] Computer-readable storage media can be tangible devices capable of holding and storing instructions for use by an instruction execution device. Computer-readable storage media can be, for example—but not limited to—electrical storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disc read-only memory (CD-ROM), digital multifunction disc (DVD), memory sticks, floppy disks, mechanical encoding devices, such as punch cards or recessed protrusions storing instructions thereon, and any suitable combination thereof. The computer-readable storage media used herein are not to be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., light pulses through fiber optic cables), or electrical signals transmitted through wires.

[0066] 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, local area network, wide area network, and / or 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 computer-readable storage media within the respective computing / processing device.

[0067] 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 a user's computer, partially on a user's computer, as a standalone software package, partially on a 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.

[0068] 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.

[0069] 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.

[0070] 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 shown 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.

[0071] 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 application, 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 process orchestration initialization, comprising: Obtain the activity diagram code that describes the workflow; By parsing the activity graph code, a syntax tree structure corresponding to the workflow is generated; as well as Based on the syntax tree structure, the execution flow orchestration is initialized.

2. The method according to claim 1, wherein generating a syntax tree structure corresponding to the workflow by parsing the activity graph code includes: Lexical analysis is performed on the activity graph code to obtain the lexical sequence; as well as The syntax tree structure is generated by performing syntactic parsing on the lexical sequence.

3. The method according to claim 2, wherein obtaining the lexical sequence by performing lexical analysis on the activity graph code includes: Based on a regular expression that identifies at least one syntactic element, the activity graph code is segmented into multiple lexical units; as well as Based on the plurality of morphemes, the morpheme sequence is obtained.

4. The method of claim 3, wherein the at least one syntax element comprises at least one of the following: Single activity; Conditional information; or Control structure.

5. The method according to claim 3, wherein generating the syntax tree structure by performing syntactic parsing on the lexical sequence comprises: The syntax tree structure is constructed using a stack structure based on the morphemes representing grammatical elements in the morpheme sequence.

6. The method of claim 5, wherein constructing the syntax tree structure using a stack structure based on the lexicons representing grammatical elements in the lexicon sequence comprises: For each lexical element representing a grammatical element, perform at least one of the following: Create nodes for the syntax tree structure, the type of which is determined based on the lexical; Add the created node to the list of child nodes of the top node in the stack; The push operation of the stack structure; The pop operation of the stack structure; or Get the next morpheme in the morpheme sequence.

7. The method of claim 1, wherein the execution flow orchestration initialization includes: Based on the syntax tree structure, a domain-specific language protocol conforming to the process orchestration engine is generated; as well as Based on the domain-specific language protocol, the execution flow orchestration initialization is performed to present the programmable workflow.

8. A system for process orchestration initialization, comprising: The code retrieval unit is configured to retrieve activity graph code that describes the workflow. The code parsing unit is configured to generate a syntax tree structure corresponding to the workflow by parsing the activity graph code; as well as The process initialization unit is configured to perform process orchestration initialization based on the syntax tree structure.

9. A computing device, comprising: At least one processing unit; At least one memory coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the computing device to perform the method as described in any one of claims 1 to 7.

10. A computer storage medium comprising machine-executable instructions that, when executed by a device, cause the device to perform the method as claimed in any one of claims 1 to 7.

11. A computer program product comprising machine-executable instructions that, when executed by a device, cause the device to perform the method as described in any one of claims 1 to 7.