KR100807355B1 - Method and system for business process managemnet - Google Patents
Method and system for business process managemnet Download PDFInfo
- Publication number
- KR100807355B1 KR100807355B1 KR1020070067197A KR20070067197A KR100807355B1 KR 100807355 B1 KR100807355 B1 KR 100807355B1 KR 1020070067197 A KR1020070067197 A KR 1020070067197A KR 20070067197 A KR20070067197 A KR 20070067197A KR 100807355 B1 KR100807355 B1 KR 100807355B1
- Authority
- KR
- South Korea
- Prior art keywords
- instance
- queue
- executed
- instances
- activity
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
Abstract
Description
본 발명은 업무 프로세스 관리 방법 및 시스템에 관한 것이다. 보다 구체적으로 본 발명은 업무 프로세스(Business Process)의 논리적인 업무 단계를 의미하는 활동(Activity) 및 업무의 흐름을 위해 활동을 연결하는 논리적인 연결선인 전이(Transition)를 포함하는 업무 프로세스를 자동으로 관리하는 방법에 있어서, 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미하는 작업(Work)에 대한 인스턴스(instance)를 생성하고, 생성된 인스턴스를 소정의 조건에 따라 제1대기열 또는 제2대기열에 삽입하며, 제1대기열 또는 제2대기열에 삽입되어 있는 인스턴스를 호출하여 실행시키는 것을 특징으로 하는 업무프로세스관리방법 및 시스템에 관한 것이다.The present invention relates to a business process management method and system. More specifically, the present invention automatically provides a business process including an activity that represents a logical business step of a business process and a transition, which is a logical connection line connecting activities for the flow of work. In the management method, an instance of a work representing a single activity or a transition performed according to a business process is created, and the generated instance is first queued or second queued according to a predetermined condition. It relates to a business process management method and system, characterized in that for inserting in, and executing by calling the instance inserted in the first queue or the second queue.
최근 컴퓨터 관련 기술이 발달함에 따라 각 기업들에서는 업무 프로세스 관리(Business Process Management;BPM) 시스템을 도입하고 있다. 업무프로세스관리시스템이란 특정 조직 내의 업무 프로세스를 설계, 실행, 모니터링, 분석하면서 기존의 전산 시스템들을 업무 프로세스에 융합시킬 수 있는 소프트웨어 시스템을 말 한다. Recently, with the development of computer technology, each company is adopting Business Process Management (BPM) system. A business process management system is a software system that can integrate existing computer systems with business processes while designing, executing, monitoring, and analyzing business processes within a specific organization.
업무 프로세스 관리 시스템을 도입하면 각 기업에서의 업무 처리 기간이 단축되고 작업의 오류 발생 가능성이 감소하며 업무 처리의 생산성이 향상되는 등 여러 가지 효과를 기대할 수 있으므로, 이에 대한 관심이 높아지고 있는 실정이다.The introduction of a business process management system is expected to reduce the processing time of each company, reduce the possibility of errors in the work, increase the productivity of the work process, etc., so that the interest is increasing.
이러한 업무프로세스 관리 시스템을 구현하기 위해서는 작업흐름(Workflow) 프로세스의 처리가 요구된다. 작업흐름 프로세스란 정의된 규칙에 의해 수행되는 자동화된 업무의 프로세스를 말하는 것이다.In order to implement such a work process management system, processing of a workflow process is required. Workflow processes are the processes of automated tasks performed by defined rules.
기업 환경이 복잡해지고 업무프로세스 관리 시스템이 발달할수록 복잡한 작업흐름 프로세스의 처리 요구가 증대되며 그 중에서도 루프(Loop)를 포함하는 프로세스를 처리할 필요성이 증가되고 있다. As the enterprise environment becomes more complex and the work process management system develops, the demand for processing complex workflow processes increases, and the need for processing processes including loops increases.
기존에는 이러한 루프를 포함한 작업흐름 프로세스를 처리함에 있어서 루프 카운트를 이용한 루프 처리 방식을 이용하여 업무 프로세스 관리 시스템을 구현하였다. 그러나 루프 카운트를 이용한 기존의 방식은 복잡한 루프 프로세스의 경우 무한 루프에 빠지는 등 프로세스에 오류가 발생하는 한편, 예상치 못한 결과를 산출하는 등의 이유로 다양한 루프 프로세스를 구현 및 처리하지 못하는 문제점이 있었다.In the past, the work process management system was implemented using the loop processing method using the loop count in processing the workflow process including such a loop. However, the conventional method using the loop count has a problem in that a complex loop process cannot implement and process various loop processes due to an error in the process such as falling into an infinite loop and an unexpected result.
도 1은 시뮬레이션을 위한 작업흐름 프로세스의 일실시예이다. 이를 통해 종래의 루프 카운트를 이용한 기존의 방식에 의한 시행된 작업흐름 프로세스의 시뮬레이션을 예를 들어 기존의 방식의 문제점을 설명하도록 한다.1 is one embodiment of a workflow process for simulation. Through this, the simulation of the executed workflow process by the conventional method using the conventional loop count, for example, to explain the problem of the conventional method.
활동(Activity)은 프로세스 구성에서 하나의 논리적인 작업 단계를 의미하는 것이다. 이러한 활동에는 프로세스의 시작을 의미하는 시작 활동(Start Activity)과 프로세스의 끝을 의미하는 종료 활동(End Activity)이 포함된다.Activity refers to one logical task step in process composition. These activities include Start Activity, which means the start of a process, and End Activity, which means the end of a process.
전이(Transition)는 각각의 작업을 연결하는 논리적인 연결선을 의미한다. 작업(Work)은 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미한다.Transitions are logical connections that connect each task. Work means a single activity or transition performed by a business process.
루프전이(Loop Transition)는 프로세스를 설계하는 과정에서 프로세스의 루프 구간을 판별한 경우 해당 루프 구간에 포함된 특정 전이를 가리킨다. 루프 카운트(Loop Count)라 함은 루프를 포함하는 프로세스를 처리하는 경우 루프 구간을 통과할 때마다 1씩 가산되는 숫자를 말한다.Loop transition refers to a specific transition included in the loop section when the loop section of the process is determined in the process design process. The loop count is a number that is added by 1 every time a loop section is processed when a process including a loop is processed.
도 1에서 프로세스는 여러 활동들과 각각의 활동들을 연결하는 전이로 이루어져 있다. 이러한 전이는 조건에 따라 활동을 호출하지 않을 수 있으며, 이러한 전이의 조건 판별을 위해서 전이는 일종의 작업으로 처리될 수 있다.In FIG. 1, the process consists of several activities and a transition that connects each one. Such a transition may not call an activity according to a condition, and the transition may be treated as a kind of task for determining the condition of the transition.
루프를 포함하는 프로세스는 프로세스를 설계하는 단계에서 루프구간을 판별하여 루프 구간에 포함된 특정 전이를 루프전이로 설정한다. 일련의 작업들에 대해서는 인스턴스들이 생성되고, 생성된 인스턴스들은 대기열에 삽입된 후 선입선출(First-in First-out;FIFO) 방식에 따라 대기열에서 호출되어 실행된다.The process including the loop determines a loop section in designing a process and sets a specific transition included in the loop section as a loop transition. Instances are created for a series of tasks, and the created instances are inserted into a queue and then invoked and executed in a queue according to First-in First-out (FIFO).
인스턴스(Instance)는 일반적으로 어떤 집합에 대하여 그 집합의 개별적인 요소를 말하는 것으로, 객체 지향 프로그래밍(Object Oriented Programming;OOP)에서 어떤 등급에 속하는 각 객체를 가리킨다. An instance generally refers to an individual element of a set for a set, and refers to each object belonging to a class in Object Oriented Programming (OOP).
인스턴스를 생성한다는 것은 인스턴스에 대하여 메모리 등의 기억장치를 할당하는 것을 말한다. 예를 들어, 목록(list)이라는 등급을 정의하고 그 후에 본인 목록(my list)이라는 객체를 생성하면 이에 대해 기억장치가 일부 할당되고 그 등급의 인스턴스가 생성되는 것이라 할 수 있다.Creating an instance means allocating storage, such as memory, to the instance. For example, if you define a class called list, and then create an object called my list, some storage is allocated and instances of that class are created.
대기열(Queue)이란 여러 개의 데이터 항목들이 일정한 순서로 나열된 자료 구조를 말하는 것으로, 스택(Stack)과는 달리 일단에서는 삽입만이 가능하고, 타단에서는 출력 및 삭제만이 가능하도록 되어 있는 것을 말한다.A queue is a data structure in which several data items are arranged in a certain order. Unlike a stack, a queue is only insertable at one end and only output and delete at the other end.
도 1에서 각 작업에 대해 생성되는 인스턴스들은 고유의 식별정보를 가지고 있다. 식별정보는 각 작업에 대한 인스턴스에 아이디(Identification;ID)를 부여하는 방식으로 정해질 수 있다. 이러한 식별정보에 의해 각 인스턴스들의 구별 및 호출이 수행되게 된다.In FIG. 1, the instances created for each job have unique identification information. The identification information may be determined by assigning an ID to an instance of each job. This identification allows identification and invocation of each instance to be performed.
모든 작업에 대한 인스턴스들은 동일한 작업에 대한 이전 인스턴스의 루프 카운트를 상속받게 된다. 루프 카운트는 루프전이를 통과하는 경우마다 1씩 증가한다. 본 시뮬레이션에서 루프 카운트의 초기값은 1로 설정되어 있다.Instances for all tasks inherit the loop count of the previous instance of the same task. The loop count is incremented by 1 for each pass through the loop transition. In this simulation, the initial value of the loop count is set to 1.
생성된 작업의 인스턴스들은 인스턴스 테이블(Instance Table)에 각 인스턴스의 고유의 식별정보 및 루프 카운트가 기록된다. 인스턴스의 작업이 성공적으로 처리가 되면 이와 연결된 다음 작업의 인스턴스가 생성된다. Instances of the created job are recorded with the unique identification and loop count of each instance in the instance table. If the job of the instance is processed successfully, the next job connected to it is created.
작업에 대한 인스턴스를 생성하기 이전에 이미 인스턴스 테이블에 생성될 작업에 대한 인스턴스와 고유한 식별정보 및 루프 카운트가 동일한 인스턴스가 기록되어 있고 대기열에 삽입되어 있다면 별개의 인스턴스가 생성되지 않고 기존의 인스턴스가 대기열에서 호출되어 실행될 것이다.If an instance with the same unique identification and loop count as the instance for the task to be created is already recorded and inserted into the queue before the instance for the task is created, no separate instance is created and the existing instance is created. It will be called and executed in the queue.
도 1에서 시뮬레이션되는 프로세스에서 루프 구간은 10B, 10T4, 10C, 10T5 이다. 도 1에서는 루프 구간 후에 위치하지만 루프 구간 전의 활동(10A)과 전이 10T3을 통해 연결되는 AND 조인 활동(10D)을 포함하는 프로세스가 시뮬레이션된다.In the process simulated in FIG. 1, the loop intervals are 10B, 10T4, 10C, and 10T5. In FIG. 1, a process is simulated that includes an
업무 프로세스에서의 작업은 조인(Join) 활동을 포함한다. 조인 활동은 입력되는 전이가 복수개인 활동을 말하며 이러한 조인 활동에는 OR 조인과 AND 조인이 있다.Work in business processes involves join activities. A join activity refers to an activity with multiple inputs, and these join activities include an OR join and an AND join.
AND 조인 활동은 복수개의 전이가 모두 실행되었고 이러한 복수개의 전이의 값이 모두 참인 경우에 실행될 수 있는 활동을 말하며, OR 조인 활동은 복수개의 전이 가운데 참의 값을 갖는 전이가 하나 이상 실행된 경우에 실행될 수 있는 활동을 말한다.An AND join activity refers to an activity that can be executed when a plurality of transitions have all been executed and the values of these multiple transitions are all true, and an OR join activity is performed when one or more transitions with a true value among a plurality of transitions have been executed. Speak an action that can be executed.
도 1의 종래 기술에 의한 시뮬레이션에서 전이 10T5 가 루프 전이가 되고, 모든 작업에 대한 인스턴스들은 루프 카운트를 상속받으며 루프 전이(10T5)에 대한 인스턴스가 실행될 때마다 루프 카운트는 1씩 증가한다.In the prior art simulation of FIG. 1, transition 10T5 becomes a loop transition, instances for all tasks inherit the loop count and the loop count increases by one each time the instance for loop transition 10T5 is executed.
시뮬레이션의 진행 및 결과는 도 2a, 도 2b, 도 2c 및 도 2d의 표에 기재되어 있다. 시작(100)과 종료(101)의 활동을 제외한 모든 작업에 대한 인스턴스들은 작업명 및 루프카운트를 포함하는 식별 정보에 의해 표시 및 구분된다. 도 2a, 도 2b, 도 2c 및 도 2d의 표에서 각 인스턴스에 대한 식별정보는 인스턴스가 상속받은 루프카운트를 표시하고 있으며, 인스턴스의 작업명은 소문자로 기재되어 있다.The progress and results of the simulations are described in the tables of FIGS. 2A, 2B, 2C and 2D. Instances for all jobs except activities at
예를 들어 도 2a, 도 2b, 도 2c 및 도 2d의 표에서 루프카운트가 1인 10A의 활동에 대한 인스턴스는 10a-1로 표시된다. 루프카운트가 4인 10T2 전이에 대한 인스턴스는 10t2-4로 표시된다.For example, in the tables of FIGS. 2A, 2B, 2C, and 2D, an instance of an activity of 10A with a loop count of 1 is represented by 10a-1. An instance for a 10T2 transition with a loopcount of 4 is represented by 10t2-4.
도 1에서 모든 활동에 대한 인스턴스들은 실행 시 성공으로 처리되는 것으로 가정하며, 전이에 대한 인스턴스는 루프를 종료시키기 위해 실패로 처리될 수 있다. 전이의 성공 및 실패는 본 시뮬레이션에서 임의로 결정된다. 종료 활동(101)에 대한 인스턴스가 실행되면 그 프로세스는 종료된다.In FIG. 1, instances for all activities are assumed to be treated as successful upon execution, and instances for transitions can be treated as failed to terminate the loop. The success and failure of the transition is arbitrarily determined in this simulation. When the instance for the
도 2a, 도 2b, 도 2c 및 도 2d의 표에서 실행시 성공으로 처리된 작업에 대한 인스턴스, 조건 대기 중인 작업에 대한 인스턴스, 실행시 실패로 처리된 인스턴스에 대한 분류 표는 도 2a에 나타나 있다.In the tables of FIGS. 2A, 2B, 2C, and 2D, a classification table for an instance that has been treated as successful in execution, an instance for a task waiting for condition, and an instance that has been treated as failed in execution is shown in FIG. .
이제부터 도 1의 프로세스에 대하여 종래 기술에 의한 시뮬레이션 과정을 2a, 도 2b, 도 2c 및 도 2d의 표에 의해 설명하도록 한다.The process of FIG. 1 will now be described with reference to the tables of prior art simulations 2a, 2b, 2c and 2d.
도 2a에서 프로세스가 시작되면 시작(100)에 대한 인스턴스가 대기열에 삽입된 후 실행된다. 그 결과 시작(100)에 연결된 전이인 10T1에 대한 인스턴스인 10t1-1이 생성되어 대기열에 삽입된 후 실행된다. In FIG. 2A, when the process starts, an instance for
그 후 10T1에 연결된 활동인 10A에 대한 인스턴스인 10a-1이 생성되어 대기열에 삽입된 후 실행되면 10A로부터 출력되는 두 개의 전이인 10T2와 10T3 각각에 대한 인스턴스 10t2-1과 10t3-1이 생성되어 대기열에 삽입된다. After that, 10a-1, an instance of 10A that is linked to 10T1, is created, inserted into a queue, and executed, then 10t2-1 and 10t3-1 are generated for each of the two transitions 10T2 and 10T3 that are output from 10A. It is inserted into the queue.
대기열의 선입선출의 원리에 따라 먼저 생성되어 삽입된 10t2-1이 10t3-1에 우선하여 실행되고, 그 결과 10T2에 연결된 활동 10B에 대한 인스턴스 10b-1이 생성되어 대기열에 삽입된다. 이후 10t3-1이 실행되고, 10T3로부터 입력을 받는 AND 조인 활동(10D)의 인스턴스 10d-1이 생성되어 대기열에 삽입된다. 10b-1이 실행되면 전이 10T4의 인스턴스 10t4-1이 생성되어 대기열에 삽입된다. According to the principle of first in, first out of the queue, 10t2-1, which is created and inserted first, is executed in preference to 10t3-1, and as a result,
이후 실행되는 10d-1는 AND 조인 활동(10D)의 인스턴스로 두 개의 전이 10T6와 10T3의 입력을 모두 필요로 한다. 그러나 현재 10T3의 인스턴스인 10t3-1은 실행되었으나 10T6의 인스턴스는 아직 실행된 바 없으므로 10d-1은 "대기" 상태로 처리되어 다시 대기열에 삽입된다.10d-1, which is subsequently executed, is an instance of the AND join
이후 10t4-1이 실행되어 10C의 인스턴스 10c-1이 생성되어 대기열에 삽입된다. 이후의 과정은 도 2b에 나타나 있다. 10d-1은 아직 10T6의 인스턴스가 실행되지 않았으므로 대기 상태로 처리되어 다시 대기열에 삽입된다.Thereafter, 10t4-1 is executed to generate 10C-1 of 10C and insert it into the queue. The subsequent process is shown in Figure 2b. 10d-1 is queued and requeued because no instances of 10T6 have yet been launched.
10c-1이 실행되면 10C에서 출력되는 두 개의 전이 10T5와 10T6에 대한 인스턴스 10t5-1과 10t6-1이 생성되어 대기열에 삽입된다. 10d-1은 다시 대기 상태로 처리되어 대기열에 삽입된다. When 10c-1 is executed, instances 10t5-1 and 10t6-1 for two transitions 10T5 and 10T6 output from 10C are created and inserted into the queue. 10d-1 is again queued and inserted into the queue.
10t5-1이 실행되면 10T5로부터 입력을 받는 활동인 10B에 대한 인스턴스 10b-2가 생성되어 대기열에 삽입된다. 10T5는 앞서 가정한 바와 같이 루프 전이에 해당하므로 10T5에 대한 인스턴스가 실행되면 루프 카운트가 1씩 증가하게 된다. 따라서 10B에 대한 인스턴스의 루프 카운트는 2가 되어 10b-2로 표시되고, 이후의 인스턴스들은 10b-2의 루프카운트 2를 상속받게 된다.When 10t5-1 is executed, an
도 2b에서 10t6-1은 실행시 실패로 처리된다. 이는 10T6에 연결된 활동인 10D는 10t6-1의 실행에 의해 10D에 대하여 인스턴스가 생성되거나 실행되지 않음을 의미한다. 따라서 10d-1의 경우 10t6-1이 실패로 처리되어 10T6로부터 입력을 받지 못하고 있으므로 대기 상태로 처리되어 대기열에 삽입된다.In FIG. 2B, 10t6-1 is treated as a failure in execution. This means that 10D, an activity linked to 10T6, is not instantiated or executed for 10D by the execution of 10t6-1. Therefore, in the case of 10d-1, 10t6-1 is treated as a failure and receives no input from 10T6, so it is processed as a waiting state and inserted into the queue.
이후 10b-2가 실행되고, 루프 카운트 2를 상속받은 10t4-2가 생성되어 대기 열에 삽입된다. 10d-1은 다시 대기 상태로 처리되어 대기열에 삽입된다. 이후의 과정은 도 2c에 기재되어 있다.10b-2 is then executed, and 10t4-2, which inherits
도 2c에서 10t4-2가 실행되고 그 결과 10c-2가 생성되어 대기열에 삽입된다. 10d-1은 대기 상태로 처리되어 대기열에 삽입된다. 10c-2가 실행되면 10C로부터 출력되는 전이 10T5와 10T6에 대한 인스턴스인 10t5-2와 10t6-2가 순차적으로 생성되어 대기열에 삽입된다.In FIG. 2C, 10t4-2 is executed, resulting in 10c-2 being inserted into the queue. 10d-1 is treated as waiting and inserted into the queue. When 10c-2 is executed, instances 10t5-2 and 10t6-2, which are instances for transitions 10T5 and 10T6 output from 10C, are sequentially created and inserted into the queue.
10d-1은 대기 상태로 처리되어 대기열에 삽입된다. 10t5-2는 도 2c에서 실패로 처리된다. 따라서 10B에 대한 인스턴스는 생성되지 않는다. 10t6-2는 성공으로 처리되고 10t6-2로부터 루프카운트를 상속받은 인스턴스 10d-2가 생성되어 대기열에 삽입된다. 10d-1 is treated as waiting and inserted into the queue. 10t5-2 is treated as a failure in FIG. 2C. Therefore, no instance is created for 10B. 10t6-2 is treated as a success and an
앞서 기재한 바에 따르면, 루프카운트를 이용한 종래의 기술에서 작업에 대한 인스턴스를 생성하기 이전에 인스턴스 테이블에 생성될 인스턴스와 고유한 식별정보 및 루프카운트가 동일한 인스턴스가 존재한다면 인스턴스를 생성하지 않고 기존의 인스턴스를 호출하여 실행할 것이다. As described above, in the conventional technique using loop count, if an instance to be created in the instance table and the same unique identification information and loop count exist in the instance table before the instance for the job exists, the existing instance is not created. We will call the instance and run it.
그러나 10d-1과 10d-2는 루프카운트가 서로 1과 2로 상이하므로 식별정보가 달라 서로 상이한 인스턴스로 인식되므로 도 2c에서는 기존의 인스턴스 10d-1 외에 새로운 인스턴스 10d-2가 생성되어 대기열에 삽입된다. However, since 10d-1 and 10d-2 are recognized as different instances because the loop counts are different from each other by 1 and 2, in FIG. 2c, a
도 2c 및 도 2d에서, 10d-1은 10t3-1과 10t6-1이 성공으로 처리되어야 실행될 것이지만 본 시뮬레이션에서 10t6-1이 실패로 처리되었으므로 10d-1은 계속해서 대기 상태로 처리된다. 10d-2는 10t3-2와 10t6-2가 성공으로 처리되어야 실행될 것 이지만 10t3-2가 실행되지 않았으므로 10d-2도 계속하여 대기 상태로 처리된다.In Figs. 2C and 2D, 10d-1 will be executed after 10t3-1 and 10t6-1 have been treated as successes, but 10d-1 is still processed as standby because 10t6-1 has been treated as a failure in this simulation. 10d-2 will be executed after 10t3-2 and 10t6-2 have been processed successfully, but since 10t3-2 has not been executed, 10d-2 will continue to be queued.
결국 루프카운트를 이용한 기존의 방법에 의하면 루프가 포함된 복잡한 프로세스의 경우 프로세스 디자인 과정에서는 의도하지 않았던 결과가 발생하거나 앞서 본 시뮬레이션의 결과처럼 무한루프에 빠져 프로세스가 실행되지 않는 결과가 발생하는 문제점이 있었다.As a result, according to the existing method using a loop count, a complicated process including a loop may have an unintended result in the process design process, or may result in an infinite loop like the result of the simulation, and thus the process may not be executed. there was.
상기한 문제를 해결하기 위해 본 발명에서는 루프를 포함하는 복잡한 프로세스에서 루프카운트를 이용하지 않고 두 개의 대기열을 이용하여 업무프로세스를 관리하는 방법 및 시스템을 제공하는 것을 목적으로 한다.In order to solve the above problems, an object of the present invention is to provide a method and system for managing a work process using two queues without using a loop count in a complex process including a loop.
상기한 목적을 달성하기 위해 본 발명에서는 활동 및 전이를 포함하는 업무 프로세스를 자동으로 관리하는 방법에 있어서, 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미하는 작업에 대한 인스턴스를 생성하고, 생성된 인스턴스 가운데 소정의 조건을 만족시키는 인스턴스를 제2대기열에 삽입하고, 생성된 인스턴스 가운데 소정의 조건을 만족시키지 못하는 인스턴스를 제1대기열에 삽입하고, 제1대기열에 삽입되어 있는 인스턴스를 호출하여 실행시키고, 제1대기열에 삽입되어 있는 인스턴스가 부존재하는 경우 제2대기열에 삽입되어 있는 인스턴스를 호출하여 실행시키는 업무프로세스관리방법 및 시스템을 제공한다.In order to achieve the above object, the present invention provides a method for automatically managing a work process including an activity and a transition, and creates and creates an instance of a task representing one activity or a transition performed according to the work process. Insert an instance satisfying a predetermined condition among the created instances into the second queue, insert an instance that does not satisfy the predetermined condition among the created instances into the first queue, and execute an instance inserted into the first queue. The present invention provides a method and system for managing a business process that executes by calling an instance inserted into a second queue when an instance inserted into a first queue does not exist.
본 발명에 의하면 복잡한 프로세스에서도 기존의 루프카운트에 의한 방식과는 달리 프로세스 실행 중 무한루프에 빠져 프로세스가 더 이상 실행되지 않는 경우가 발생하지 않는다. 또한 프로세스의 처리시 프로세스 디자인 과정에서 예상하지 못했던 결과가 도출됨이 없이 의도했던 바 대로 프로세스가 처리된다.According to the present invention, unlike a conventional loop count method, a complicated process does not occur when the process is no longer executed due to an infinite loop during the process execution. In addition, when processing a process, the process is processed as intended, without yielding unexpected results in the process design process.
도 4는 본 발명에 따른 업무프로세스관리시스템의 구성을 도시한 블록도이다. 이를 통해 본 발명의 업무프로세스관리시스템에 대해 설명하도록 한다.4 is a block diagram showing the configuration of a business process management system according to the present invention. This will be described for the business process management system of the present invention.
도 4에 나타난 바와 같이 업무프로세스관리시스템(210)은 생성모듈(211), 삽입모듈(215), 실행모듈(217) 및 기록모듈(213)을 포함한다. 업무프로세스관리시스템(210)은 논리적으로 또는 전기적 신호에 의해 인스턴스테이블(230) 또는 대기열(250)과 연결된다. 대기열(250)은 제1대기열(251)과 제2대기열(253)을 포함한다.As shown in FIG. 4, the business
본 발명에 따른 업무프로세스관리시스템(210)은 업무 프로세스의 논리적인 업무 단계를 의미하는 활동 및 업무의 흐름을 위해 활동을 연결하는 논리적인 연결선인 전이를 포함하는 업무 프로세스를 자동으로 관리하는 시스템에 관한 것이다.The work
여기서 활동(Activity)은 프로세스 구성에서 하나의 논리적인 작업 단계를 의미하는 것이다. 이러한 활동에는 프로세스의 시작을 의미하는 시작 활동(Start Activity)과 프로세스의 끝을 의미하는 종료 활동(End Activity)이 포함된다. 전이(Transition)는 각각의 작업을 연결하는 논리적인 연결선을 의미하며 작업(Work)은 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미한다.In this context, activity refers to one logical task step in process composition. These activities include Start Activity, which means the start of a process, and End Activity, which means the end of a process. Transition refers to the logical line connecting each work. Work refers to an activity or transition performed according to a business process.
생성모듈(211)은 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미하는 작업에 대한 인스턴스를 생성한다. The
작업 및 인스턴스에 대한 예는 다음과 같다. 어떠한 회사의 결제 프로세스 내에 A 부서에서 B 부서로 전자 서류를 전송하는 일을 수행하는 작업이 포함되어 있다고 가정한다. Examples of jobs and instances are as follows: Suppose a company's payment process involves sending electronic documents from department A to department B.
이 경우 제 1 전자 서류를 A 부서에서 B 부서로 첫 번째로 보내는 일을 수행 해야 하는 경우 위 작업에 대하여 제 1 인스턴스가 생성될 것이다. 제 2 전자 서류를 A 부서에서 B 부서로 보내는 일의 경우 제 1 전자 서류를 보내는 것과 다른 경우이므로 제 2 인스턴스가 생성될 것이다. 또한 이미 한 번 보낸 제 1 전자 서류를 다시 한 번 A 부서에서 B 부서로 보내는 경우에도 위 제 1 인스턴스의 경우와는 그 횟수에서 차이가 있으므로 별도의 새로운 인스턴스가 생성될 것이다.In this case a first instance will be created for the above task if it is necessary to perform the first task of sending the first electronic document from department A to department B. Sending the second electronic document from department A to department B is different than sending the first electronic document, so a second instance will be created. In addition, even if the first electronic document sent once from department A to department B is different from that of the first instance, a new instance will be created.
삽입모듈(215)은 생성된 인스턴스 가운데 소정의 조건을 만족시키는 인스턴스를 제2대기열(253)에 삽입하고, 생성된 인스턴스 가운데 소정의 조건을 만족시키지 못하는 인스턴스를 제1대기열(251)에 삽입한다.The
실행모듈(217)은 제1대기열(251)에 삽입되어 있는 인스턴스가 존재하는 경우에는 제1대기열(251)에 삽입되어 있는 인스턴스를 호출하여 실행시키고, 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하는 경우 제2대기열(253)에 삽입되어 있는 인스턴스를 호출하여 실행시킨다.If there is an instance inserted into the
종래의 발명에서 하나의 대기열만 사용한 것과는 달리 본 발명에 따른 업무프로세스관리시스템에서 대기열(250)은 제1대기열(251)과 제2대기열(253)의 두 개의 대기열을 포함한다. Unlike using only one queue in the related art, the
제1대기열(251)은 소정의 조건을 만족시키지 못하는 인스턴스가 삽입모듈(215)에 의해 삽입되는 대기열이다. 제1대기열(251)에 삽입되어 있는 인스턴스는 제2대기열(253)에 삽입되어 있는 인스턴스보다 우선적으로 실행모듈(217)에 의해 호출되어 실행된다.The
제2대기열(253)은 소정의 조건을 만족시키는 인스턴스가 삽입모듈(251)에 의 해 삽입되는 대기열이다. 제2대기열(253)에 삽입되어 있는 인스턴스는 제1대기열(251)에 삽입되어 있는 인스턴스가 존재하지 않는 경우에 실행모듈(217)에 의해 호출되어 실행된다.The
삽입모듈(215)이 소정의 조건에 따라 인스턴스를 제1대기열(251) 또는 제2대기열(253)에 삽입하는 것은 다음과 같이 이루어질 수 있다. The
삽입모듈(215)은 생성된 인스턴스가 활동에 입력되는 복수개의 전이 가운데 일부 전이에 대한 인스턴스가 실행되지 않은 활동에 대한 인스턴스이거나, 생성된 인스턴스가 활동에 입력되는 복수개의 전이에 대한 인스턴스가 모두 실행되었고 복수개의 전이에 대한 인스턴스의 값이 모두 참인 것이 아닌 활동에 대한 인스턴스인 경우에 생성된 인스턴스를 상기 제2대기열(253)에 삽입하고 제2대기열(253)에 삽입되지 않는 나머지 인스턴스들을 제1대기열(251)에 삽입할 수 있다.The
본 발명에 따른 업무프로세스관리시스템을 도 1에서의 프로세스에 적용시켜 본다. 도 1의 여러 활동 가운데 복수개의 전이가 입력되는 활동은 조인 활동에 해당하고, 조인 활동에는 OR 조인 활동 및 AND 조인 활동이 있다. The work process management system according to the present invention is applied to the process in FIG. Among the various activities of FIG. 1, an activity in which a plurality of transitions are input corresponds to a join activity, and the join activity includes an OR join activity and an AND join activity.
AND 조인 활동은 복수개의 전이가 모두 실행되었고 이러한 복수개의 전이의 값이 모두 참인 경우에 실행될 수 있는 활동을 말하며, OR 조인 활동은 복수개의 전이 가운데 참의 값을 갖는 전이가 하나 이상 실행된 경우에 실행될 수 있는 활동을 말한다.An AND join activity refers to an activity that can be executed when a plurality of transitions have all been executed and the values of these multiple transitions are all true, and an OR join activity is performed when one or more transitions with a true value among a plurality of transitions have been executed. Speak an action that can be executed.
삽입모듈(215)은 복수개의 전이 가운데 일부 전이에 대한 인스턴스가 실행되지 않은 OR 조인 활동 또는 AND 조인 활동에 대한 인스턴스를 제2대기열(253)에 삽 입한다. 또한 삽입모듈(215)은 AND 조인 활동에 대한 인스턴스 가운데 복수개의 입력 전이에 대한 인스턴스가 모두 실행되었더라도 입력되는 전이의 인스턴스의 값 중 거짓인 값이 존재하는 AND 조인 활동에 대한 인스턴스를 제2대기열(253)에 삽입한다. 위 두 가지 경우를 제외한 나머지 경우의 작업에 대한 인스턴스는 삽입모듈(215)에 의해 제1대기열(251)에 삽입된다.The
실행모듈(217)이 제1대기열(251)에 삽입되어 있는 인스턴스를 호출하여 실행한 결과 생성될 인스턴스가 이미 생성되어 제2대기열(253)에 삽입되어 있는 경우, 생성모듈(211)은 그 인스턴스와 동일한 인스턴스를 다시 생성하지 않으며 삽입모듈(215)은 제2대기열(253)에 이미 삽입되어 있는 인스턴스를 호출하여 제1대기열에 삽입할 수 있다.When the
이를 위해 생성모듈(211)은 생성할 인스턴스가 이미 생성되어 대기열에 삽입되어 있는지를 판단하기 위해 인스턴스테이블(230)을 참조한다. 인스턴스테이블(230)은 생성모듈(211)에 의해 생성되어 삽입모듈(215)에 의해 제1대기열(251) 또는 제2대기열(253)에 삽입될 인스턴스를 기록하는 테이블을 말한다. 즉, 인스턴스테이블(230)에 생성할 인스턴스가 이미 생성된 것으로 기록되어 있다면 생성모듈(211)은 그 인스턴스와 동일한 인스턴스를 다시 생성하지 않는다. To this end, the
기록모듈(213)은 인스턴스테이블(230)에 삽입될 인스턴스를 각 인스턴스별로 부여되는 식별정보에 의해 각 인스턴스가 구별되도록 기록한다. 각 인스턴스는 이러한 식별정보에 의해 호출될 수 있다.The
기존의 발명에서는 각 인스턴스별로 루프카운트가 부여되고 각 인스턴스는 이전의 루프카운트를 상속받게 되어 있었다. 그러나 본 발명에서는 각 인스턴스에 이러한 루프카운트가 부여되지 않는다. In the existing invention, a loop count is given to each instance, and each instance inherits the previous loop count. However, in the present invention, such a loop count is not given to each instance.
본 발명에서는 두 개의 대기열에 소정의 조건에 따라 인스턴스를 삽입한다. 또한 각 인스턴스에 부여되는 식별정보에는 하나의 프로세스에서 하나의 작업에 대해 생성된 인스턴스의 개수에 관한 정보가 포함된다.In the present invention, an instance is inserted into two queues according to a predetermined condition. In addition, the identification information given to each instance includes information about the number of instances generated for one job in one process.
예를 들어 도 1의 프로세스에서 OR 조인 활동인 10B에 대하여 첫 번째로 생성된 인스턴스의 식별정보는 10b-1으로 표현되고, 10B에 대해 두 번째로 생성된 인스턴스의 식별정보는 10b-2로 표현될 수 있다. 이 경우 -1 및 -2 등이 하나의 프로세스에서 하나의 작업에 대해 생성된 인스턴스의 개수에 관한 정보가 된다.For example, in the process of FIG. 1, the identification of the first instance created for 10B, which is an OR join activity, is represented by 10b-1, and the identification of the second instance created for 10B is represented by 10b-2. Can be. In this case, -1 and -2 become information about the number of instances created for one job in one process.
이하에서는 앞서 살펴본 바와 같이 루프카운트를 이용한 종래의 방식에 의할 경우 무한 루프에 의해 프로세스가 종료되지 못했던 도 1의 프로세스에 대하여 본 발명에 따른 업무프로세스관리시스템에 의한 프로세스의 진행 과정 및 결과를 도 3a, 도 3b, 도 3c의 표를 이용해 설명하도록 한다.Hereinafter, the process and the result of the process by the business process management system according to the present invention with respect to the process of FIG. 1, in which the process was not terminated by an endless loop in accordance with the conventional method using the loop count as described above. It demonstrates using the table of 3a, 3b, 3c.
이하의 모든 표에서 실행시 성공으로 처리된 작업에 대한 인스턴스, 조건 대기 중인 작업에 대한 인스턴스, 실행시 실패로 처리된 인스턴스에 대한 분류는 도 2a에 포함된 분류 표에 기재된 바와 같다.In all the tables below, the classification for an instance processed as a success in execution, an instance for a job waiting for condition, and an instance processed as a failure in execution are as described in the classification table included in FIG. 2A.
도 3a에서 생성모듈(211)은 시작(100)에 대한 인스턴스를 생성하고, 삽입모듈(215)은 생성된 인스턴스를 제1대기열(251)에 삽입한다. 실행모듈(215)은 제1대기열에 삽입되어 있는 시작(100)에 대한 인스턴스를 호출하여 실행한다. In FIG. 3A, the
생성모듈(211)은 시작(100)으로부터 출력되는 전이 10T1에 대한 인스턴스 10t1-1을 생성하고 삽입모듈(215)은 10t-1을 제1대기열(251)에 삽입하며 실행모듈(217)은 이를 호출하여 실행한다.The
10t-1이 실행되면 10a-1이 생성되어 제1대기열(251)에 삽입되고 10a-1이 실행되면 10A에서 출력되는 10T2와 10T3에 대한 인스턴스 10t2-1과 10t3-1이 생성되어 제1대기열(251)에 삽입된다.When 10t-1 is executed, 10a-1 is generated and inserted into the
먼저 삽입된 10t2-1이 실행되면 10B에 대한 인스턴스 10b-1이 생성된다. 10B는 입력되는 전이가 복수개인 OR 조인 활동이나 현재 10T2에 대한 인스턴스만이 실행되었고 10T5에 대한 인스턴스는 실행되지 않았으므로 삽입모듈(215)은 10b-1을 제2대기열(253)에 삽입한다. When the first inserted 10t2-1 is executed, an
10t3-1이 실행되면 10D에 대한 인스턴스 10d-1이 생성된다. 10D는 입력되는 전이가 복수개인 AND 조인 활동이나 현재 10T3에 대한 인스턴스만이 실행되었고 10T6에 대한 인스턴스는 실행되지 않았으므로 삽입모듈(215)은 10d-1을 제2대기열(253)에 삽입한다.When 10t3-1 is executed, an
실행모듈(217)은 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 제2대기열(253)에 삽입되어 있는 10b-1을 호출하여 실행한다. 10b-1이 실행되면 10t4-1이 생성되어 제1대기열(251)에 삽입된다.The
10t4-1이 실행되면 10c-1이 생성되어 제1대기열(251)에 삽입된다. 이 경우 제2대기열에 삽입되어 있는 10d-1은 실행모듈(217)이 인스턴스를 호출하여 실행하는 경우에 제1대기열(251)에 10t4-1의 인스턴스가 존재하므로 실행되지 않는다.When 10t4-1 is executed, 10c-1 is generated and inserted into the
10c-1이 실행되면 10t5-1과 10t6-1이 생성되어 제1대기열(251)에 삽입된다. When 10c-1 is executed, 10t5-1 and 10t6-1 are generated and inserted into the
도 3b에 나타난 바와 같이, 제1대기열(251)에 생성되어 삽입된 순서에 따라 10t5-1이 먼저 호출되어 실행되고 10b-2가 생성된다. 10B에서 생성되는 두 번째 인스턴스이므로 이 인스턴스의 식별정보는 -2의 정보를 포함한다. 삽입모듈(215)은 10B가 OR 조인이고 그에 대한 두 개의 입력 전이인 10T2와 10T5 모두에 대하여 인스턴스가 실행되었으므로 10b-2를 제1대기열(251)에 삽입한다. As shown in FIG. 3B, 10t5-1 is first called and executed according to the order in which the
10t6-1은 도3a에서 호출되어 실행시 앞서 종래 기술에 의한 시뮬레이션에서의 경우와 마찬가지로 실패로 처리된다. 10b-2가 호출되어 실행되면 10t4-2가 생성되어 제1대기열(251)에 삽입되고, 10t4-2가 호출되어 실행되면 10c-2가 생성되어 제1대기열(251)에 삽입된다.10t6-1 is called in FIG. 3A and is treated as a failure upon execution as in the prior art simulation. If 10b-2 is called and executed, 10t4-2 is generated and inserted into the
10c-2가 호출되어 실행되면 10t5-2와 10t6-2가 생성되어 제1대기열(251)에 삽입된다. 10t5-2는 호출되어 실행된 후 실패로 처리된다. 실행모듈(217)이 10t6-2를 실행하면 10D에 대한 인스턴스를 생성해야 한다. 그런데 10d-1이 제2대기열(253)에 삽입되어 있으므로 생성모듈(211)은 별도의 인스턴스를 생성하지 않는다. 10D는 AND 조인 활동이나 두 입력 인스턴스 10T6와 10T3에 대한 인스턴스가 모두 실행되었고 그 값도 참이므로 삽입모듈(215)은 10d-1을 호출하여 제1대기열(251)에 삽입한다.When 10c-2 is called and executed, 10t5-2 and 10t6-2 are generated and inserted into the
실행모듈(217)은 10d-1을 호출하여 실행하고 그 결과 10t7-1이 생성되어 제1대기열(251)에 삽입된다. 10t7-1이 호출되어 실행되면 종료 활동(101)에 대한 인스턴스가 생성되어 제1대기열(251)에 삽입된다. 종료 활동(101)에 대한 인스턴스가 호출되어 실행되면 프로세스가 종료한다.The
이와 같이 본 발명에 따른 업무프로세스관리시스템에 의하면 기존의 루프카운트를 이용하는 방식에서와는 달리 프로세스가 무한 루프에 빠지는 일 없이 원활하고 안정적으로 처리된다.As described above, according to the work process management system according to the present invention, unlike the conventional loop count method, the process is smoothly and stably processed without falling into an infinite loop.
도 5a는 본 발명에 따른 업무프로세스관리시스템의 시뮬레이션을 위한 단일 루프를 포함하는 작업흐름 프로세스의 일실시예이다. 도 5a의 프로세스에서 루프구간은 30B, 30T3, 30C, 30T4이다. 기타의 가정은 앞서 도 1에 대한 본 발명의 시뮬레이션의 경우와 동일하다. 이하에서는 도 5b, 도 5b의 표를 이용하여 도 5a의 프로세스에 대한 본 발명의 시뮬레이션을 설명하도록 한다.5A is one embodiment of a workflow process including a single loop for simulation of a business process management system in accordance with the present invention. The loop sections in the process of FIG. 5A are 30B, 30T3, 30C, 30T4. Other assumptions are the same as in the case of the simulation of the present invention with respect to FIG. Hereinafter, the simulation of the present invention for the process of FIG. 5A will be described using the tables of FIGS. 5B and 5B.
도 5b에서 생성모듈(211)은 시작 활동(300)에 대한 인스턴스를 생성하고 삽입모듈(215)이 이를 제1대기열(251)에 삽입한다. 실행모듈(217)이 시작 활동(300)에 대한 인스턴스를 호출하여 실행하면, 시작활동(300)의 출력전이 30T1에 대한 인스턴스 30t1-1이 생성되어 제1대기열(251)에 삽입된다.In FIG. 5B, the
30t1-1이 호출되어 실행되면 30a-1이 생성되어 제1대기열(251)에 삽입된다. 30a-1이 호출되어 실행되면 30t2-1이 생성되어 제1대기열(251)에 삽입된다. 30t2-1이 호출되어 실행되면, 생성모듈(211)은 OR 조인 활동 30B에 대한 인스턴스 30b-1을 생성한다. When 30t1-1 is called and executed, 30a-1 is generated and inserted into the
30B에 대한 복수의 입력 전이 가운데 30T4에 대한 인스턴스가 아직 실행되지 않았으므로 삽입모듈(215)은 30b-1을 제2대기열(253)에 삽입한다. 이 경우 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 실행모듈(217)은 제2대기열(253)에 삽입되어 있는 30b-1을 호출하여 실행한다. 30B는 OR 조인 활동이므로 복수개의 입력 전이에 대한 인스턴스 가운데 하나의 인스턴스만이 실행되어 있고 그 값이 참이더라도 실행 결과가 성공으로 처리된다.Since the instance for 30T4 has not yet been executed among the plurality of input transitions for 30B, the
30b-1이 실행되면 30t3-1이 생성되어 제1대기열(251)에 삽입된다. 30t3-1이 호출되어 실행되면 30c-1이 생성되어 제1대기열(251)에 삽입된다. 30c-1이 호출되어 실행되면 30t4-1과 30t5-1이 생성되어 제1대기열(251)에 삽입된다. When 30b-1 is executed, 30t3-1 is generated and inserted into the
30t4-1이 호출되어 실행되면, 30B에 대하여 두 번째 인스턴스를 생성하는 경우이므로 생성모듈(211)은 30b-2를 생성한다. OR 조인 활동 30B에 대하여 복수개의 입력 전이에 대한 인스턴스가 모두 실행되었으므로 삽입모듈(215)은 30b-2를 제1대기열(251)에 삽입한다. When 30t4-1 is called and executed, the
도 5c에서 30t5-1은 실행시 실패로 처리된다. 30b-2가 호추뢰어 실행되면 30t3-2가 생성되어 제1대기열(251)에 삽입된다. 30t3-2가 생성되면 30c-2가 생성되어 제1대기열(251)에 삽입된다. 30c-2가 호출되어 실행되면 30t4-2와 30t5-2가 생성되어 제1대기열(251)에 삽입된다.In Fig. 5C, 30t5-1 is treated as a failure in execution. When 30b-2 is executed, the call thruster 30t3-2 is generated and inserted into the
30t4-2는 호출되어 실행시 실패로 처리된다. 30t5-2가 호출되어 실행되면 30d-1이 생성되어 제1대기열(251)에 삽입된다. 30d-1이 호출되어 실행되면 30t6-1이 생성되어 제1대기열(251)에 삽입된다. 30t6-1이 호출되어 실행되면 종료(301)에 대한 인스턴스가 생성되어 제1대기열(251)에 삽입되고, 종료(301)에 대한 인스턴스가 실행되면 도 5a의 프로세스가 종료하게 된다.30t4-2 is called and treated as a failure at run time. When 30t5-2 is called and executed, 30d-1 is generated and inserted into the
이상에서 기술한 바와 같이 도 5a의 단일 루프를 포함하는 프로세스에 대하여 본 발명에 따른 업무프로세스관리시스템을 시뮬레이션한 결과 오류 없이 예측한 대로 프로세스가 진행됨을 알 수 있다.As described above, as a result of simulating the work process management system according to the present invention for the process including the single loop of FIG. 5A, it can be seen that the process proceeds as expected without errors.
도 6a는 본 발명에 따른 업무프로세스관리시스템의 시뮬레이션을 위한 교차루프 타입 1을 포함하는 작업흐름 프로세스의 일실시예이다. 도 6a의 프로세스에서 루프구간은 40B, 40T3, 40C, 40T4, 40D, 40T5, 40T6, 40E, 40T7 이며 교차 지점은 40C 이다. 기타의 가정은 앞서 도 1에 대한 본 발명의 시뮬레이션의 경우와 동일하다. 이하에서는 도 6b, 도 6c, 도 6d, 도 6e, 도 6f의 표를 통해 도 6a의 프로세스에 대한 본 발명의 시뮬레이션을 설명하도록 한다.6A is an embodiment of a workflow process including a
도 6b에서 생성모듈(211)은 시작 활동(400)에 대한 인스턴스를 생성하고 삽입모듈(215)이 이를 제1대기열(251)에 삽입한다. 실행모듈(217)이 시작 활동(400)에 대한 인스턴스를 호출하여 실행하면, 시작활동(400)의 출력전이 40T1에 대한 인스턴스 40t1-1이 생성되어 제1대기열(251)에 삽입된다.In FIG. 6B, the
40t1-1이 호출되어 실행되면 40a-1이 생성되어 제1대기열(251)에 삽입된다. 40a-1이 호출되어 실행되면 40t2-1이 생성되어 제1대기열(251)에 삽입된다. When 40t1-1 is called and executed, 40a-1 is generated and inserted into the
40t2-1이 호출되어 실행되면 생성모듈(211)은 40b-1을 생성한다. 40B는 OR 조인 활동이고, 복수개의 입력 전이 가운데 40T5에 대한 인스턴스가 아직 실행되지 않았으므로 삽입모듈(215)은 40b-1을 제2대기열(253)에 삽입한다. 이 경우 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 실행모듈(217)은 제2대기열(253)에 삽입되어 있는 40b-1을 호출하여 실행한다.When 40t2-1 is called and executed, the
40b-1이 실행되면 40t3-1이 생성되어 제1대기열(251)에 삽입된다. 40t3-1이 호출되어 실행되면 40c-1이 생성된다. OR 조인 활동 40C의 복수개의 입력 전이 가 운데 40T7에 대한 인스턴스가 실행되지 않았으므로 삽입모듈(215)는 40c-1을 제2대기열(253)에 삽입한다. 이 경우 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 실행모듈(217)은 제2대기열(253)에 삽입되어 있는 40c-1을 호출하여 실행한다.When 40b-1 is executed, 40t3-1 is generated and inserted into the
40c-1이 호출되어 실행되면 40t4-1이 생성되어 제1대기열(251)에 삽입된다. 40t4-1이 호출되어 실행되면 40d-1이 생성되어 제1대기열에 삽입된다. 40d-1이 호출되어 실행되면 40t5-1과 40t6-1이 생성되어 제1대기열(251)에 삽입된다. When 40c-1 is called and executed, 40t4-1 is generated and inserted into the
40t5-1이 실행되면 생성모듈(211)은 40B에 대한 두 번째 인스턴스인 40b-2를 생성한다. 40B에 대한 복수개의 인스턴스가 모두 실행되었고 40B는 OR 조인 활동이므로 삽입모듈은 40b-2를 제1대기열(251)에 삽입한다. When 40t5-1 is executed, the
40t6-1이 호출되어 실행되면 40e-1이 생성되어 제1대기열(251)에 삽입된다. 40b-2가 호출되어 실행되면 40t3-2가 생성되어 제1대기열(251)에 삽입된다. 40e-1이 호출되어 실행되면 40t7-1과 40t8-1이 생성되어 제1대기열(251)에 삽입된다.When 40t6-1 is called and executed, 40e-1 is generated and inserted into the
40t3-2가 호출되어 실행되면 생성모듈(211)은 40c-2를 생성한다. 40c-2에 대한 복수의 입력 전이 중 40T7에 대한 인스턴스 40t7-1이 아직 실행되지 않았으므로 삽입모듈(215)은 40c-2를 제2대기열(253)에 삽입한다.When 40t3-2 is called and executed, the
40t7-1이 호출되어 실행되면 40T7이 입력되는 OR 조인 활동 40C에 대한 인스턴스가 제2대기열(253)에 삽입되어 있으므로, 생성모듈(211)은 40C에 대하여 별도의 인스턴스를 생성하지 않는다. 삽입모듈(215)은 40c-2에 대한 복수의 입력전이가 모두 실행되었으므로 40c-2를 제1대기열(251)에 삽입한다.When 40t7-1 is called and executed, the instance for the OR join
도 6c에서 40t8-1은 실행시 실패로 처리된다. 40c-2가 호출되어 실행되면 40t4-2가 생성되어 제1대기열(251)에 삽입된다. 40t4-2가 호출되어 실행되면 40d-2가 생성되어 제1대기열(251)에 삽입된다.In Fig. 6C, 40t8-1 is treated as a failure in execution. When 40c-2 is called and executed, 40t4-2 is generated and inserted into the
도 6d에서 40d-2가 호출되어 실행되면 40t5-2와 40t6-2가 생성되어 제1대기열(251)에 삽입된다. 40t5-2가 호출되어 실행되면 40b-3가 생성되어 제1대기열(251)에 삽입된다. 40t6-2가 호출되어 실행되면 40e-2가 생성되어 제1대기열(251)에 삽입된다.When 40d-2 is called and executed in FIG. 6D, 40t5-2 and 40t6-2 are generated and inserted into the
40b-3가 호출되어 실행되면 40t3-3이 생성되어 제1대기열(251)에 삽입된다. 40e-2가 호출되어 실행되면 40t7-2와 40t8-2가 생성되어 제1대기열(251)에 삽입된다. 40t3-3이 호출되어 실행되면 40c-3이 생성되어 제1대기열(251)에 삽입된다.When 40b-3 is called and executed, 40t3-3 is generated and inserted into the
40t7-2가 호출되어 실행되면 40c-4가 생성되어 제1대기열(251)에 삽입된다. 도 6의 시뮬레이션에서 40t8-2는 실행 결과 실패로 처리되므로 40F에 대한 인스턴스는 생성되지 않는다. 40c-3이 호출되어 실행되면 40t4-3이 생성되어 제1대기열(251)에 삽입되고, 40c-4가 호출되어 실행되면 40t4-4가 생성되어 제1대기열(251)에 삽입된다.When 40t7-2 is called and executed, 40c-4 is generated and inserted into the
40t4-3와 40t4-4가 순차적으로 호출되어 실행되면 40d-3, 40d-4가 순차적으로 생성되어 제1대기열(251)에 삽입된다. 40d-3와 40d-4가 순차적으로 호출되어 실행되면 40t5-3, 40t6-3와 40t5-4, 40t6-4가 순차적으로 생성되어 제1대기열(251)에 삽입된다.When 40t4-3 and 40t4-4 are sequentially called and executed, 40d-3 and 40d-4 are sequentially generated and inserted into the
도 6e에서 40t5-3은 호출되어 실행시 실패로 처리되므로 40B에 대한 인스턴 스가 생성되지 않는다. 40t6-3은 호출되어 실행시 성공으로 처리되므로 40e-3이 생성되어 제1대기열(251)에 삽입된다.In FIG. 6E, since 40t5-3 is called and treated as a failure in execution, an instance for 40B is not generated. Since 40t6-3 is called and treated as a success at execution, 40e-3 is generated and inserted into the
40t5-4 역시 실행시 실패로 처리되므로 40B에 대한 인스턴스는 생성되지 않으며, 40t6-4는 실행시 성공으로 처리되므로 도 6f에서 40e-4가 생성되어 제1대기열(251)에 삽입된다.Since 40t5-4 is also treated as a failure in execution, an instance for 40B is not created, and 40t6-4 is treated as a success in execution, so 40e-4 is generated in FIG. 6F and inserted into the
40e-3와 40e-4가 순차적으로 호출되어 실행되면 40t7-3 및 40t8-3와 40t7-4 및 40t8-4가 순차적으로 생성되어 제1대기열(251)에 삽입된다. 도 6f에서 40t7-3은 호출되어 실행시 실패로 처리되므로 40C에 대한 인스턴스는 생성되지 않는다.When 40e-3 and 40e-4 are sequentially called and executed, 40t7-3 and 40t8-3 and 40t7-4 and 40t8-4 are sequentially generated and inserted into the
40t8-3은 호출되어 실행시 성공으로 처리되므로 40f-1이 생성되어 제1대기열(251)에 삽입된다. 40t7-4와 408-4는 순차적으로 호출되어 실행시 실패로 처리되므로 그 실행 후 인스턴스가 생성되지 않는다. 40f-1이 호출되어 실행되면 40t9-1이 생성되어 제1대기열(251)에 삽입되고, 40t9-1이 실행되면 종료(401)에 대한 인스턴스가 생성되어 제1대기열(251)에 삽입되며, 종료(401)에 대한 인스턴스가 실행되면 도 6a의 프로세스에 대한 시뮬레이션은 종료된다.Since 40t8-3 is called and treated as a success in execution, 40f-1 is generated and inserted into the
도 6a는 본 발명에 따른 업무프로세스관리시스템의 시뮬레이션을 위한 교차루프 타입 2를 포함하는 작업흐름 프로세스의 일실시예이다. 도 7a의 프로세스에서 루프구간은 50B, 50T3, 50C, 50T4, 50D, 50T5, 50T6, 50E, 50T7, 50T8 이며 교차 지점은 50C 이다. 또한 이 프로세스는 50D, 50T5, 50B에 해당하는 중첩 루프를 가지고 있다.6A is an embodiment of a workflow process including a
기타의 가정은 앞서 도 1에 대한 본 발명의 시뮬레이션의 경우와 동일하다. 이하에서는 도 7b, 도 7c, 도5d, 도 7e, 도 7f의 표를 이용하여 도 7a의 프로세스에 대한 본 발명의 시뮬레이션을 설명하도록 한다.Other assumptions are the same as in the case of the simulation of the present invention with respect to FIG. Hereinafter, the simulation of the present invention for the process of FIG. 7A will be described using the tables of FIGS. 7B, 7C, 5D, 7E, and 7F.
도 7b에서 시작(500)에 대한 인스턴스가 생성되어 제1대기열(251)에 삽입되고, 시작(500)에 대한 인스턴스가 실행되면 50t1-1이 생성되어 제1대기열(251)에 삽입된다. 50t1-1이 실행되면 50a-1이 생성되어 제1대기열(251)에 삽입되고, 50a-1이 실행되면 50t2-1이 생성되어 제1대기열(251)에 삽입된다.In FIG. 7B, an instance for the
50t2-1이 실행되면 생성모듈(211)은 OR 조인 활동인 50B에 대한 인스턴스 50b-1을 생성한다. 50b-1의 경우 아직 50B에 대한 복수의 입력 전이인 50T2, 50T5, 50T8 에 대한 인스턴스가 모두 실행된 것이 아니므로 삽입모듈(215)은 50b-1을 제2대기열(253)에 삽입한다.When 50t2-1 is executed, the
실행모듈(217)은 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 제2대기열(253)에 삽입되어 있는 50b-1을 호출하여 실행한다. 50b-1이 실행되면 50t3-1이 생성되어 제1대기열(251)에 삽입된다. The
50t3-1이 실행되면 생성모듈(211)은 OR 조인 활동 50C에 대한 인스턴스 50c-1을 생성한다. 50C에 대한 입력 전이인 50T3와 50T7에 대한 인스턴스가 모두 실행된 것은 아니므로 삽입모듈(215)은 50c-1을 제2대기열(253)에 삽입한다. 실행모듈은 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하므로 제2대기열(253)에 삽입되어 있는 인스턴스 50c-1을 호출하여 실행한다.When 50t3-1 is executed, the
50c-1이 실행되면 50t4-1이 생성되어 제1대기열(251)에 삽입된다. 50t4-1이 실행되면 50d-1이 생성되어 제1대기열(251)에 삽입된다. 50d-1이 실행되면 50t5-1 과 50t6-1이 생성되어 제1대기열(251)에 삽입된다. When 50c-1 is executed, 50t4-1 is generated and inserted into the
도 7c에서 50t5-1이 실행되면 생성모듈(211)은 50B에 대한 두 번째 인스턴스인 50b-2를 생성한다. 50B에 대한 복수개의 입력 전이 가운데 50T8에 대한 인스턴스가 실행되지 않았으므로 삽입모듈(215)은 50b-2를 제2대기열(253)에 삽입한다.When 50t5-1 is executed in FIG. 7C, the
실행모듈(217)은 제1대기열(251)에 삽입되어 있는 인스턴스 50t6-1이 존재하므로 제2대기열(253)에 삽입되어 있는 50b-2에 우선하여 50t6-1을 호출하여 실행한다. 50t6-1이 실행되면 50e-1이 생성되어 제1대기열(251)에 삽입된다.Since the
50e-1이 호출되어 실행되면 50t7-1, 50t8-1, 50t9-1이 생성되어 제1대기열(251)에 삽입된다. 50t7-1이 실행되면 생성모듈은 50C에 대한 두 번째 인스턴스 50c-2를 생성한다. 50C에 대한 복수의 인스턴스가 모두 실행되었고 50C는 OR 조인 활동이므로 삽입모듈(215)은 50c-2를 제1대기열(251)에 삽입한다.When 50e-1 is called and executed, 50t7-1, 50t8-1, and 50t9-1 are generated and inserted into the
50t8-1이 실행되면 50B에 대한 인스턴스 50b-2가 제2대기열(253)에 삽입되어 있으므로 생성모듈(211)은 50B에 대한 별도의 인스턴스를 생성하지 않는다. 50B에 대한 복수의 인스턴스가 모두 실행되었고 50B는 OR 조인 활동이므로 삽입모듈(215)은 50b-2를 제2대기열(253)에서 호출하여 제1대기열(251)에 삽입한다.When 50t8-1 is executed, since the
도 7c에서 50t9-1은 실행시 실패로 처리된다. 50c-2가 실행되면 50t4-2가 생성되어 제1대기열(251)에 삽입된다. 50b-2가 실행되면 50t3-2가 생성되어 제1대기열(251)에 삽입된다.In Fig. 7C, 50t9-1 is treated as a failure in execution. When 50c-2 is executed, 50t4-2 is generated and inserted into the
50t4-2와 50t3-2가 순차적으로 실행되면 50d-2와 50c-3가 순차적으로 생성되어 제1대기열(251)에 삽입된다. 50d-2가 실행되면 50t5-2와 50t6-2가 생성되어 제1 대기열(251)에 삽입된다. 50c3-2가 실행되면 50t4-3가 생성되어 제1대기열(251)에 삽입된다.When 50t4-2 and 50t3-2 are executed sequentially, 50d-2 and 50c-3 are sequentially generated and inserted into the
도 7d에서 50t5-2는 실행시 실패로 처리된다. 50t6-2가 실행되어 성공으로 처리되면 50e-2가 생성되어 제1대기열(251)에 삽입된다. 50t4-3와 50e-2가 순차적으로 실행되면 50d-3와 50t8-2, 50t9-2가 순차적으로 생성되어 제1대기열(251)에 삽입된다.50d-3가 실행되면 50t5-3과 50t6-3이 순차적으로 생성되어 제1대기열(251)에 삽입된다.In Fig. 7D, 50t5-2 is treated as a failure in execution. When 50t6-2 is executed and processed as success, 50e-2 is generated and inserted into the
도 7d와 도 7e에서 50t7-2와 50t8-2는 실행시 실패로 처리된다. 50t9-2가 실행되어 성공으로 처리되면 50f-1이 생성되어 제1대기열(251)에 삽입된다. 50t5-3은 실행시 실패로 처리되며, 50t6-3과 50f-1이 순차적으로 실행되어 성공으로 처리되면 50e-3, 50t10-1이 순차적으로 생성되어 제1대기열(251)에 삽입된다.In FIGS. 7D and 7E, 50t7-2 and 50t8-2 are treated as failures in execution. When 50t9-2 is executed and processed as success, 50f-1 is generated and inserted into the
50e-3이 실행되면 50t7-3, 50t8-3, 50t9-3이 생성되어 제1대기열(251)에 삽입된다. 50t10-1이 실행되면 종료(501) 활동에 대한 인스턴스가 생성되어 제1대기열(251)에 삽입된다. 도 7e와 도 7f에서 50t7-3 및 도 70t8-3은 실행시 실패로 처리된다. When 50e-3 is executed, 50t7-3, 50t8-3, and 50t9-3 are generated and inserted into the
50t9-3이 실행되면 50f-2가 생성되어 제1대기열(251)에 삽입된다. 종료(501)에 대한 인스턴스가 실행되면 도 7a의 프로세스에 대한 본 발명의 업무프로세스관리시스템의 시뮬레이션이 종료된다.When 50t9-3 is executed, 50f-2 is generated and inserted into the
이상의 시뮬레이션에서 나타난 바와 같이 본 발명에 따른 업무프로세스관리시스템은 도 1, 도 5a, 도 6a 및 도 7a 등의 복잡한 프로세스에서도 기존의 루프카 운트를 이용한 기존의 방식에서와 달리 무한 루프에 빠지지 않으며 프로세스의 처리시 예상 밖의 결과가 도출됨이 없이 의도했던 바 대로 프로세스가 처리되었다.As shown in the above simulation, the business process management system according to the present invention does not fall into an infinite loop unlike a conventional method using a conventional loop count even in a complicated process such as FIGS. 1, 5A, 6A, and 7A. The process was processed as intended, with no unexpected results in the processing of.
도 8은 본 발명에 따른 일실시예의 처리 흐름도이다. 이하에서는 본 발명의 일실시예에 따른 업무프로세스관리방법의 특징을 설명하도록 한다.8 is a process flow diagram of one embodiment according to the present invention. Hereinafter will be described the features of the work process management method according to an embodiment of the present invention.
생성모듈(211)은 생성될 인스턴스가 이미 생성되어 있는 경우 그 인스턴스와 동일한 인스턴스를 다시 생성하지 않기 위해 생성할 작업에 대한 인스턴스가 제2대기열(253)에 삽입되어 있는지 판단한다(601). 이를 위해 생성모듈(211)은 생성될 인스턴스가 인스턴스테이블(230)에 이미 생성된 것으로 기록되어 있는지를 참조한다.If an instance to be created is already created, the
생성할 인스턴스가 제2대기열(253)에 삽입되어 있지 않은 경우 생성모듈(211)은 업무 프로세스에 따라 수행되는 하나의 활동 또는 전이를 의미하는 작업에 대한 인스턴스를 생성한다(603). When the instance to be generated is not inserted into the
생성할 인스턴스가 상기 제2대기열(253)에 삽입되어 있는 경우 생성모듈(211)은 별도의 인스턴스를 생성하지 않으며 삽입모듈(215)은 제2대기열(253)에 삽입되어 있는 인스턴스를 호출한다(605).When an instance to be created is inserted into the
기록모듈(213)은 제1대기열(251) 또는 제2대기열(253)에 삽입될 인스턴스를 기록하는 테이블인 인스턴스테이블(230)에, 삽입될 인스턴스가 식별정보에 의해 구별되도록 기록한다(607). 이를 통해 생성모듈(211)이 인스턴스테이블(230)을 참조하여 이미 생성되어 있는 인스턴스와 동일한 인스턴스를 다시 생성하지 않도록 한다.The
본 발명에서 인스턴스는 식별정보에 의해 호출될 수 있으며, 식별정보는 하나의 프로세스에서 하나의 작업에 대해 생성된 인스턴스의 개수에 관한 정보를 포함한다.In the present invention, the instance may be called by the identification information, which includes information about the number of instances created for one job in one process.
삽입모듈(215)은 생성모듈(211)에 의해 생성된 인스턴스 가운데 소정의 조건을 만족시키는 인스턴스가 존재하는지 판단한다(609). 제2대기열(253)에 삽입되어 있어 별도로 동일한 인스턴스가 생성되지 않고 삽입모듈(215)에 의해 호출된 인스턴스도 제2대기열(253)에 삽입되기 이전에 생성모듈(211)에 의해 생성되었으므로 생성모듈(211)에 의해 생성된 인스턴스에 포함된다.The
삽입모듈(215)은 생성모듈(211)에 의해 생성된 인스턴스 가운데 소정의 조건을 만족시키는 인스턴스를 제2대기열(253)에 삽입하고(611), 생성모듈(211)에 의해 생성된 인스턴스 가운데 소정의 조건을 만족시키지 못하는 인스턴스를 제1대기열(251)에 삽입한다(613).The
이 경우 생성모듈(211)에 의해 생성된 인스턴스가 활동에 입력되는 복수개의 전이 가운데 일부 전이에 대한 인스턴스가 실행되지 않은 활동에 대한 인스턴스이거나, 인스턴스가 활동에 입력되는 복수개의 전이에 대한 인스턴스가 모두 실행되었고 복수개의 전이에 대한 인스턴스의 값이 모두 참인 것이 아닌 활동에 대한 인스턴스인 경우에, 삽입모듈(215)은 생성모듈(211)에 의해 생성된 인스턴스를 제2대기열(253)에 삽입하며, 제2대기열(253)에 삽입되지 않는 나머지 인스턴스를 제1대기열(251)에 삽입할 수 있다.In this case, the instance generated by the
실행모듈(217)은 제1대기열(251)에 삽입되어 있는 인스턴스가 존재하는지 판 단하여(615), 제1대기열(251)에 삽입되어 있는 인스턴스가 존재하는 경우 이를 호출하고, 제1대기열(251)에 삽입되어 있는 인스턴스가 부존재하는 경우 제2대기열(253)에 삽입되어 있는 인스턴스를 호출한다(619). 실행모듈(217)은 이렇게 제1대기열(251) 또는 제2대기열(253)에서 호출된 인스턴스를 실행한다(621).The
실행모듈(617)이 실행한 인스턴스가 종료 활동에 대한 인스턴스인 경우에는 업무프로세스가 종료하지만 그렇지 않은 경우에는 실행모듈(617)이 실행한 인스턴스의 실행 결과가 성공으로 처리되는지를 판단하게 된다(625). If the instance executed by the
인스턴스의 실행 결과가 성공으로 처리된다면 생성모듈(211)은 인스턴스를 생성할지 여부를 다시 판단하게 되고 이후 삽입모듈(215)은 인스턴스를 제1대기열(251) 또는 제2대기열(253)에 삽입하지만, 실패로 처리된다면 이러한 과정 없이 실행모듈(217)은 제1대기열(251) 또는 제2대기열(253)에 삽입되어 있는 인스턴스를 호출하여 실행한다.If the execution result of the instance is treated as a success, the
본 발명의 상기 방법은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는, ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.The method of the present invention can also be embodied in computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage, and the like, which are also implemented in the form of a carrier wave (for example, transmission over the Internet). It also includes. The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서 실시예를 통해 설명한 본 발명의 기술적 범위는 상기 기재된 실시예에 한정되는 것은 아니고 본 발명의 사상 및 범위를 벗어나지 않는 범위에서 다양하게 수정 및 변형될 수 있음은 본 발명이 속한 기술 분야에서 통상의 지식을 가진 자에게 명백하다. 따라서 그러한 변형예 또는 수정예들은 본 발명의 특허청구범위에 기재된 발명의 범위에 속한다 해야 할 것이다.The technical scope of the present invention described above through the embodiments is not limited to the above-described embodiments, and various modifications and changes may be made without departing from the spirit and scope of the present invention. It is evident to those who have knowledge. Therefore, such modifications or variations will have to be belong to the scope of the invention described in the claims of the present invention.
도 1은 시뮬레이션을 위한 작업흐름 프로세스의 일실시예.1 is an embodiment of a workflow process for simulation.
도 2a, 도 2b, 도 2c 및 도 2d는 도 1의 프로세스의 일실시예에 대한 종래의 기술의 시뮬레이션 과정을 나타낸 도표. 2A, 2B, 2C, and 2D are diagrams illustrating a prior art simulation process for one embodiment of the process of FIG.
도 3a, 도 3b 및 도 3c는 도 1의 프로세스의 일실시예에 대한 본 발명의 시뮬레이션 과정을 나타낸 도표.3A, 3B and 3C are diagrams illustrating a simulation process of the present invention for one embodiment of the process of FIG.
도 4는 본 발명에 따른 업무프로세스관리시스템의 구성을 도시한 블록도.Figure 4 is a block diagram showing the configuration of a business process management system according to the present invention.
도 5a는 시뮬레이션을 위한 작업흐름 프로세스의 일실시예.5A illustrates one embodiment of a workflow process for simulation.
도 5b 및 도 5c는 도 5a의 프로세스의 일실시예에 대한 본 발명의 시뮬레이션 과정을 나타낸 도표.5B and 5C are diagrams illustrating a simulation process of the present invention for one embodiment of the process of FIG. 5A.
도 6a는 시뮬레이션을 위한 작업흐름 프로세스의 일실시예.6A illustrates one embodiment of a workflow process for simulation.
도 6b, 도 6c, 도 6d, 도 6e 및 도 6f는 도 6a의 프로세스의 일실시예에 대한 본 발명의 시뮬레이션 과정을 나타낸 도표.6B, 6C, 6D, 6E, and 6F are diagrams illustrating a simulation process of the present invention for one embodiment of the process of FIG. 6A.
도 7a는 시뮬레이션을 위한 작업흐름 프로세스의 일실시예.7A illustrates one embodiment of a workflow process for simulation.
도 7b, 도 7c, 도 7d, 도 7e 및 도 7f는 도 7a의 프로세스의 일실시예에 대한 본 발명의 시뮬레이션 과정을 나타낸 도표.7B, 7C, 7D, 7E and 7F are diagrams illustrating a simulation process of the present invention for one embodiment of the process of FIG. 7A.
도 8은 본 발명에 따른 일실시예의 처리 흐름도.8 is a process flow diagram of one embodiment according to the present invention.
Claims (9)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067197A KR100807355B1 (en) | 2007-07-04 | 2007-07-04 | Method and system for business process managemnet |
PCT/KR2007/003603 WO2009005181A1 (en) | 2007-07-04 | 2007-07-26 | Method and system for business process management |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070067197A KR100807355B1 (en) | 2007-07-04 | 2007-07-04 | Method and system for business process managemnet |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100807355B1 true KR100807355B1 (en) | 2008-02-28 |
Family
ID=39383332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070067197A KR100807355B1 (en) | 2007-07-04 | 2007-07-04 | Method and system for business process managemnet |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR100807355B1 (en) |
WO (1) | WO2009005181A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101950397B1 (en) | 2018-01-11 | 2019-02-20 | 주식회사 피앤피소프트 | Method for providing business management system by sharing business information between users |
KR102258163B1 (en) | 2020-08-31 | 2021-05-27 | 주식회사 케이비손해보험 | Method, System and Apparatus of Cooperation Service Provision for Hierarchical Organizational Structure |
WO2024014600A1 (en) * | 2022-07-13 | 2024-01-18 | 쿠팡 주식회사 | Instance management method, and electronic device therefor |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030086250A (en) * | 2001-01-09 | 2003-11-07 | 비아코어, 인코포레이티드 | Method and apparatus for facilitating business processes |
KR20040035674A (en) * | 2001-07-06 | 2004-04-29 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | Business process policy object |
KR20040043367A (en) * | 2002-11-18 | 2004-05-24 | 한국전자통신연구원 | Method for processing business processes using workflow technique |
KR20060091501A (en) * | 2005-02-15 | 2006-08-21 | 부산대학교 산학협력단 | Method of business management and supply chain management using work flow engine |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100289058B1 (en) * | 1998-11-20 | 2001-05-02 | 정선종 | Process definition and control method of workflow management system |
AU4927301A (en) * | 2000-03-22 | 2001-10-03 | Webmethods Inc | Method and system for top-down business process definition and execution |
US6892192B1 (en) * | 2000-06-22 | 2005-05-10 | Applied Systems Intelligence, Inc. | Method and system for dynamic business process management using a partial order planner |
JP2002032544A (en) * | 2000-07-13 | 2002-01-31 | Suntory Ltd | Business managing system, work flow processor and work flow messenger |
-
2007
- 2007-07-04 KR KR1020070067197A patent/KR100807355B1/en active IP Right Grant
- 2007-07-26 WO PCT/KR2007/003603 patent/WO2009005181A1/en active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20030086250A (en) * | 2001-01-09 | 2003-11-07 | 비아코어, 인코포레이티드 | Method and apparatus for facilitating business processes |
KR20040035674A (en) * | 2001-07-06 | 2004-04-29 | 컴퓨터 어소시에이츠 싱크, 인코포레이티드 | Business process policy object |
KR20040043367A (en) * | 2002-11-18 | 2004-05-24 | 한국전자통신연구원 | Method for processing business processes using workflow technique |
KR20060091501A (en) * | 2005-02-15 | 2006-08-21 | 부산대학교 산학협력단 | Method of business management and supply chain management using work flow engine |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101950397B1 (en) | 2018-01-11 | 2019-02-20 | 주식회사 피앤피소프트 | Method for providing business management system by sharing business information between users |
KR102258163B1 (en) | 2020-08-31 | 2021-05-27 | 주식회사 케이비손해보험 | Method, System and Apparatus of Cooperation Service Provision for Hierarchical Organizational Structure |
WO2024014600A1 (en) * | 2022-07-13 | 2024-01-18 | 쿠팡 주식회사 | Instance management method, and electronic device therefor |
Also Published As
Publication number | Publication date |
---|---|
WO2009005181A1 (en) | 2009-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100458705C (en) | Method and system for scheduling computer jobs employing dynamically determined top job party | |
CN102508716B (en) | Task control device and task control method | |
US8392926B2 (en) | Scheduling heterogeneous partitioned resources with sharing constraints | |
US8434085B2 (en) | Scalable scheduling of tasks in heterogeneous systems | |
TW200401529A (en) | System and method for the allocation of grid computing workload to network workstations | |
JP4041002B2 (en) | Database update processing system, update data input method for database update, update data processing method, and program | |
US9052972B2 (en) | Determining the processing order of a plurality of events | |
US7681196B2 (en) | Providing optimal number of threads to applications performing multi-tasking using threads | |
US8627327B2 (en) | Thread classification suspension | |
KR100807355B1 (en) | Method and system for business process managemnet | |
US20170236085A1 (en) | Information processing apparatus and method for managing connections | |
CN108810125A (en) | The service discovery method and system of physical node | |
CN115907683A (en) | Realization system and method of workflow engine based on financial product management | |
US8806490B1 (en) | Method and apparatus for managing workflow failures by retrying child and parent elements | |
CA2631255A1 (en) | Scalable scheduling of tasks in heterogeneous systems | |
CN112364005A (en) | Data synchronization method and device, computer equipment and storage medium | |
US20220229692A1 (en) | Method and device for data task scheduling, storage medium, and scheduling tool | |
CN115756765A (en) | Distributed transaction processing method and device | |
CN117112121A (en) | Distributed task processing system, method, apparatus and computer program product | |
US20080126036A1 (en) | System and method for scheduling token arrival in a business process simulation | |
CN113010278A (en) | Batch processing method and system for financial insurance core system | |
CN110597686B (en) | Noise-tolerant process mining method based on mixed event log | |
JP4611397B2 (en) | Exclusive execution control device and exclusive execution control program | |
CN117172518A (en) | Asynchronous analysis method and system based on activity workflow | |
Sirjani et al. | Timed Actors and Their Formal Verification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20130219 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140212 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150213 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160205 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170210 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20180219 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190219 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20200212 Year of fee payment: 13 |