KR101712627B1 - 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법 - Google Patents

기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법 Download PDF

Info

Publication number
KR101712627B1
KR101712627B1 KR1020150105375A KR20150105375A KR101712627B1 KR 101712627 B1 KR101712627 B1 KR 101712627B1 KR 1020150105375 A KR1020150105375 A KR 1020150105375A KR 20150105375 A KR20150105375 A KR 20150105375A KR 101712627 B1 KR101712627 B1 KR 101712627B1
Authority
KR
South Korea
Prior art keywords
business process
quality
variable
candidate
service
Prior art date
Application number
KR1020150105375A
Other languages
English (en)
Other versions
KR20170011912A (ko
Inventor
김수동
라현정
Original Assignee
주식회사 스마티랩
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 스마티랩 filed Critical 주식회사 스마티랩
Priority to KR1020150105375A priority Critical patent/KR101712627B1/ko
Publication of KR20170011912A publication Critical patent/KR20170011912A/ko
Application granted granted Critical
Publication of KR101712627B1 publication Critical patent/KR101712627B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/103Workflow collaboration or project management
    • G06F17/50

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Architecture (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

본 발명은 비즈니스 프로세스의 실행 결과에 대한 기계학습 방법과 학습 결과를 차기 비즈니스 프로세스 실행에 자율적으로 반영하는 방법에 관한 것으로, (a) 비즈니스 프로세스 워크플로우를 설계하는 단계; (b) 하나의 비즈니스 프로세스에 복수의 품질 가변점을 정의하고 각 가변점은 복수의 가변치를 가지게 하며 각 가변점에 해당하는 품질의 최적화를 위한 가변치를 기계학습을 통해 자율적으로 선정하여 바인딩하는 품질 기반의 가변점 및 가변치를 정의하는 단계; (c) 실시간으로 품질 기준에 맞춰 사전에 정의된 가변치를 동적으로 선정하는 모듈에 해당하는 어댑터 기반의 동적 바인딩을 가능하게 하거나 또는 객체지향 프로그래밍의 대치성을 이용하여 가변치의 동적 바인딩을 가능하게 하는 품질 가변치의 동적 바인딩을 설계하는 단계, 및 (d) 비즈니스 프로세스 참여 서비스를 구성하는 단계를 포함하여 비즈니스 프로세스 설계하고, 또한, (a) 가변점별로 가변치가 정의되어 있는 가변성 프로파일의 내용을 기반으로 비즈니스 프로세스를 테일러링(Tailoring)하는 단계; (b) 상기 테일러링한 비즈니스 프로세스를 실행하는 단계, 및 (c) 상기 실행 결과에 따라 기계학습 및 분석을 수행하는 단계를 포함하여 비즈니스 프로세스 실행하는 것이다. 본 발명은 비즈니스 프로세스의 자율적인 적응과 더불어 비즈니스 프로세스의 지능화하고, 기계학습을 통한 비즈니스 프로세스의 워크플로우 개선책을 도출한 것이다.

Description

기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법{Machine-Learning based Methods for Executing Self-Adaptive Business Processes}
본 발명은 기계학습을 기반으로 하는 자율적인 적응으로 비즈니스 프로세스를 설계하고 실행하는 방법에 관한 것으로, 더욱 상세하게는 비즈니스 프로세스의 실행 결과에 대한 기계학습 방법과 학습 결과를 차기 비즈니스 프로세스 실행에 자율적으로 반영하는 방법에 관한 것이다.
일반적으로 비즈니스 프로세스는 조직 내 업무를 처리하는 절차에 대한 정형적인 명세로서, 대표적으로 BPMN(Business Process Modeling Notification) 표준 또는 BPEL(Business Process Execution Language) 표준을 사용하며 BPEL 소프트웨어 엔진으로 실행된다. 현재 비즈니스 프로세스는 그 안의 워크플로우(Work flow)가 대부분 고정되어 있고, 일부는 입력된 매개변수에 따라 실행에 참여하는 세부 기능이나 서비스가 변경되도록 설계되고 있다. 즉 현재 비즈니스 프로세스는 정적(Static)인 실행 단위이다. 기존의 비즈니스 프로세스의 한계점은 실행된 결과를 분석하고 이를 그 비즈니스 프로세스 실행의 조건으로 반영하여 자율적으로 실행결과를 반영하지 않는다는 것이다. 반면에 예를 들어, 병원 의사가 환자 진료를 하는 경우를 살펴보면, 의사가 환자를 치료와 약 처방을 한 후, 그 효과의 정도를 분석 및 학습을 하고, 차기에 환자를 치료할 때 반영한다는 것이다.
종래기술로서, BPEL을 이용하여 SOA(Service Oriented Architecture) 서비스의 연동이 있다. 이는 개발자가 비즈니스 프로세스를 BPEL을 이용하여 비즈니스 프로세스를 명세하고 BPEL 실행 엔진을 통해 비즈니스 프로세스의 실행 결과를 쉽게 얻을 수 있다. 이때, 비즈니스 프로세스의 각 액티비티(Activity)은 제3자에 의해 개발된 SOA 서비스로 바인딩(Binding) 된다. 기본적으로 BPEL 명세서는 각 액티비티 별로 필요한 SOA 서비스는 정적 바인딩 된다. 즉 BPEL 명세에 필요로 하는 SOA 서비스 주소를 구체적으로 명시하여 해당 서비스만 바인딩 할 수 있다. 현재 상용화된 BPEL 엔진은 BPEL 표준 기반의 비즈니스 프로세스 명세와 SOA 서비스 정적 바인딩만을 지원한다.
또한, 종래기술로서, 기능 명세 기반의 동적 서비스 바인딩이다. 이는 BPEL 명세에서 호출되는 SOA 서비스를 동적으로 바인딩 하는 연구가 SOA 분야에서 일부 진행되고 있다. 이 분야의 연구는 크게 2가지로 진행되고 있다. 첫 번째 접근방법은 신택스(Syntax) 정보만 고려하여 서비스를 동적으로 바인딩 하는 연구가 있다. 이 연구에서는 비즈니스 프로세스에 기술된 기능 명세를 기준으로 서비스 저장소에 있는 서비스 명세와 신택스만 비교하여 동적으로 적절한 서비스를 선택 및 바인딩 한다. 이 접근방법을 기반으로 하는 연구는 서비스 선정보다 서비스 동적 바인딩의 실현 가능성에 더 초점을 맞추었다. 두 번째 접근방법은 시맨틱 정보를 이용하여 적절한 서비스를 선택 및 바인딩 하는 것이다. 이들 연구는 비즈니스 프로세스 명세에 기술된 필요로 하는 기능과 SOA 서비스가 제공하는 기능의 시맨틱을 비교하여 기능 명세가 100% 일치하지 않아도 유사성에 근거하여 필요로 하는 기능과 유사한 서비스를 바인딩 한다. 이 접근방법을 기반으로 하는 연구는 시맨틱 기반의 서비스 선정에 더 초점을 맞추었다.
현재 상용 BPEL 엔진보다는 한 단계 진보된 방법으로 동적 바인딩을 지원하도록 연구가 진행되고 있지만, 품질을 기반으로 하는 서비스 동적 바인딩은 언급되고 있지 않다.
또한, 종래기술로서, 상황 인지 비즈니스 프로세스 실행 기술이다. 이는 비즈니스 프로세스에 참여할 서비스를 선택할 때 서비스에 대한 기능 명세 외에 사용자의 선호도 및 주변 상황 정보 등을 고려하는 연구가 있다. 이에 대한 연구는 주변 정보를 인지할 수 있는 센서(Sensor)들의 종류가 많아지면서 더 활발히 진행되고 있다. 일부 연구에서는 서비스 품질도 일종의 컨텍스트(Context)로 인지하여 서비스 선정에 고려하고 있지만 품질을 기반으로 한 서비스 바인딩에 대한 구체적인 기법은 언급되고 있지 않다.
대한민국 등록특허공보 제10-0910336호(2009.07.31. 공고)
본 발명은 상기 문제점을 해결하기 위한 것으로, 비즈니스 프로세스의 실행 결과를 정량적으로 측정하고, 이를 기계학습 기법을 통하여 해당하는 비즈니스 프로세스에 정의되어 있는 QoS(Quality of Service) 항목들과 비교한 후 품질 저하에 대한 원인을 분석하는 기법을 제시하기 위한 것이 목적이다.
또한, 본 발명은 기계학습 결과에서 도출된 품질 저하 원인에 대한 소프트웨어적인 개선기법(Remedy Method)을 자동으로 식별하고, 이를 차기 비즈니스 프로세스 실행에 입력으로 반영하도록 하는 것이 다른 목적이다.
본 발명은 상기 목적을 달성하기 위하여, (a) 테일러링 장치가 가변점별로 가변치가 정의되어 있는 가변성 프로파일의 내용을 기반으로 비즈니스 프로세스를 테일러링(Tailoring)하되, 상기 비즈니스 프로세스의 테일러링은 BPMN의 복수 방식의 Branch를 사용하여 테일러링하고, 상기 비즈니스 프로세스에 참여하는 서비스 컴포넌트의 테일러링은 해당 컴포넌트를 슈퍼 클래스로 정의하고, 대체될 객체를 서브 클래스로 정의하며, 실행 시에 서브 클래스의 객체(Instance)가 슈퍼 클래스 객체를 대치하도록 테일러링하는 단계; (b) 전략패턴을 이용하여 동적 바인딩 컴포넌트인 어댑터가 상기 테일러링한 비즈니스 프로세스를 실행하는 단계, 및 (c) 상기 어댑터는 실행 결과에 따라 기계학습 및 분석을 수행하되, 품질 가변점의 품질 정도를 계산하는데 필요한 복수의 컨텍스트 정보를 수집하는 과정과, 수집된 컨텍스트를 이용하여 품질 가변점의 품질 값을 해당 메트릭(Metric)을 이용하여 계산하고, 계산된 값이 품질 임계치(Threshold Value) 이하인지를 확인하는 과정과, 측정된 품질 값이 임계치보다 낮을 경우에 품질 보정을 위한 장치를 실행하는 과정, 및 상기 과정에서 설정된 장치에 대하여 XML 형태의 명세 파일을 생성한 후 단계(a)로 입력하는 과정을 포함하는 단계로 이루어지고, 상기 어댑터는 기능 명세가 일치하는 후보 비즈니스 프로세스 또는 후보 서비스를 검색하는 기능과, 후보 비즈니스 프로세스 또는 후보 서비스의 품질 속성을 비교하는 기능, 및 후보 중 가변치에 근접한 비즈니스 프로세스 또는 서비스를 결정 및 호출하는 기능을 수행하되, 상기 어댑터는 클라이언트 애플리케이션에서 전달받은 최소 품질 요구사항과 각 후보 비즈니스 프로세스 또는 후보 서비스에서 보장하는 품질 명세를 비교하여 다음의 수학식,
Figure 112016104019444-pat00012

(여기에서, Candidatei 는 특정 후보 비즈니스 프로세스 또는 후보 서비스이고, SetQA_Client는 클라이언트 애플리케이션의 품질 요구사항 집합이며, QVal(QAj)는 품질 속성(QAj)별 품질 기준치이고, QSpec(Candidatei, QAj)는 특정 Candidatei 이 보장하는 품질 속성별 작성된 기준치를 반환하는 함수이며, QualityHistory(Candidatei, QAj)는 해당 Candidatei 의 호출 히스토리를 기반으로 QAj 의 평균값을 반환하는 함수이다.)로 품질 명세 차이도를 산출하고, 상기 어댑터는 후보 중 가변치에 근접한 비즈니스 프로세스 또는 서비스를 결정 및 호출은 클라이언트 애플리케이션(Client Application)이 비즈니스 프로세스를 적응하기 위해서 BP_Adapter의 adapt() 메소드를 호출하거나 특정 서비스를 적응하기 위해서 Activity_Adapter의 adapt() 메소드를 호출하되, 각 어댑터는 메트릭을 이용하여 필요로 한 품질과 가장 유사한 비즈니스 프로세스 또는 서비스를 각각 호출하는 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법을 제공한 것이 특징이다.
본 발명에 따르면, 비즈니스 프로세스의 자율적인 적응(Autonomous Adaptation)과 더불어 비즈니스 프로세스의 지능화하고, 기계학습을 통한 비즈니스 프로세스의 워크플로우 개선책을 도출할 수 있는 이점이 있다.
도 1은 본 발명에 따른 실시 예로, 기계학습에 의한 비즈니스 프로세스 설계 방법을 나타낸 흐름도이다.
도 2는 본 발명에서 하나의 비즈니스 프로세스에 품질 요소를 추가하여 이를 자율적으로 보장하는 것을 나타낸 흐름도이다.
도 3은 본 발명에서 비즈니스 프로세스의 품질의 가변성을 모델링하고 명시하기 위한 가변성 명세 테이블을 나타낸 것이다.
도 4는 본 발명에서 어댑터의 템플릿 메소드 패턴을 이용하여 구현한 수행절차를 나타낸 알고리즘이다.
도 5는 본 발명에서 어댑터가 메트릭을 이용하여 필요한 품질과 가장 유사한 비즈니스 프로세스 또는 서비스를 호출하는 절차를 도식화하여 나타낸 것이다.
도 6은 본 발명에서 전략 디자인 패턴을 이용하여 동적 바인딩의 전체적인 구조를 나타낸 것이다.
도 7은 본 발명에 따른 기계학습에 의한 비즈니스 프로세스 실행 방법을 나타낸 흐름도이다.
도 8은 본 발명에서 실행 결과의 기계학습 및 분석 절차를 나타낸 흐름도이다.
이하 본 발명에 따른 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법에 관하여 첨부된 도면을 참조하여 상세하게 설명하면 다음과 같다.
도 1에서, 기계학습에 의한 비즈니스 프로세스 설계 방법을 나타낸 것이다.
먼저, 제1단계(D1)는 비즈니스 프로세스 워크플로우의 설계이다. 이는 기존 비즈니스 프로세스 워크플로우의 설계방식에 따른다.
다음의 제2단계(D2)는 품질 기반의 가변점/가변치를 정의한다. 비즈니스 프로세스 실행 결과의 품질은 사용자에게 직접 노출되는 중요한 요구사항이다. 따라서 이 품질 요구사항, 즉 Quality of Service (QoS)를 보다 체계적이며 구체적으로 명시하고 소프트웨어 적으로 그 품질을 평가할 수 있도록 해야 한다. 따라서 본 발명에서는 비즈니스 프로세스에 품질 요소를 추가하고, 이를 자율적으로 보장하는 방법이다.
도 2에서, 하나의 비즈니스 프로세스에 여러 개의 품질 가변점(Variation Point)을 정의하고, 각 가변점은 여러 개의 가변치(Variant)를 가지게 하며, 각 가변점에 해당되는 품질을 최적화하기 위한 가변치를 기계 학습을 통하여 자율적으로 선정 및 바인딩 하게 한다.
도 3에서, 품질 기반의 가변점/가변치 정의에서는 비즈니스 프로세스의 품질의 가변성을 모델링하고 명시한다. 이를 위하여 다음의 가변성 명세 테이블을 사용한다.
품질 적용대상은 해당 품질 가변점이 적용되는 대상을 의미하며, 한 비즈니스 프로세스의 전체 워크플로우(Workflow)나 그 안의 액티비티(Activity) 또는 액션( Action)이 될 수 있다. 품질 가변점(Variation Point)은 가변성이 존재하는 품질 속성(Quality Attribute)이 된다. 예를 들면, 성능, 보안, 효율성 등이 있다. 가변치 범위(Variability Scope)는 해당 가변점의 가변치들의 집합이 고정된 것인지 향후 추가가 가능하게 유동적인지에 따라 Closed와 Open으로 구별한다. 가변치 집합은 해당 가변점에 대해 비즈니스 프로세스가 허용할 수 있는 가변치의 모든 값을 기술한다. 성능이 가변점으로 정의되었다면, {30ms, 50ms} 또는 {상, 중, 하} 등이 가변치 집합이 된다.
그리고 제3단계(D3)는 품질 가변치 동적 바인딩 설계를 수행한다. 학습 기반의 비즈니스 프로세스 품질을 관리하기 위해서는 학습을 통해서 얻어진 가변치가 가변점에 설정되었을 때, 이 가변치를 지원하는 SW 컴포넌트나 SW기법을 어떻게 동적으로 바인딩 하는지를 설계해야 한다. 이를 위하여 다음의 두 가지 방법을 제시한다.
우선, 어댑터(Adapter) 기반의 동적 바인딩이다.
가변점과 가변치 집합이 기술된 액티비티는 서비스를 정적으로 바인딩하지 않고, 어댑터를 통하여 해당 품질을 만족할 수 있는 서비스를 동적으로 바인딩 한다. 이 기법은 사전에 모든 가변치가 정의되어, 이 중에서 한 가변치를 동적으로 선택해야 하는 경우에 활용된다. 즉 상기 단계(D2)에서 "closed"로 결정된 가변점에 대해 런타임에 가변치를 선택할 경우에 활용된다.
어댑터(Adapter)는 실시간에 품질 기준에 맞춰 사전에 정의된 가변치를 동적으로 선정하는 소프트웨어 모듈이다. 어댑터의 목적은 현재 품질에 맞게 비즈니스 프로세스를 어댑테이션(Adaptation, 적응)하는 것이다. 그러므로 어댑터는 현재 품질 상황에 맞게 동일한 기능을 수행하는 전체 비즈니스 프로세스를 선정하거나 비즈니스 프로세스를 구성하는 한 액티비티에 대한 서비스를 선정할 수 있다. 즉 어댑터가 수행할 수 있는 어댑테이션 종류는 품질 적용 대상에 따라서 "비즈니스 프로세스 선정" 또는 "참여 서비스 선정"이 된다.
어댑터가 수행하는 어댑테이션 종류와 무관하게 어댑터는 다음과 같은 3가지 기능을 공통적으로 수행한다.
1) 기능 명세가 일치하는 후보 비즈니스 프로세스 또는 후보 서비스 검색
2) 후보 비즈니스 프로세스 또는 후보 서비스의 품질 속성 비교
3) 후보 중 가변치에 근접한 비즈니스 프로세스 또는 서비스 결정 및 호출
첫 번째, 클라이언트 애플리케이션에 기능 요청 시 전송한 기능 명세를 이용하여 사용할 수 있는 후보 비즈니스 프로세스 및 후보 서비스를 찾는다. 이때 클라이언트 애플리케이션에서 비즈니스 프로세스를 호출하기 위한 기능 명세를 전송하면 어댑터는 전달받은 기능 명세와 일치하는 비즈니스 프로세스를 검색하고, 특정 서비스를 호출하기 위한 기능 명세를 전송하면 서비스를 검색한다. 기능 명세만을 이용할 때는 신택틱(Syntactic) 뿐만 아니라 시맨틱(Semantic)까지 고려하여 후보군을 검색한다.
두 번째, 후보 비즈니스 프로세스 또는 후보 서비스의 품질 명세 정보와 클라이언트 애플리케이션이 필요로 하는 품질 요구사항을 비교한다. 클라이언트 애플리케이션은 기능 요청 시 필요로 하는 기능 명세 정보뿐만 아니라 최소한의 품질 요구사항을 전송한다. 품질 요구사항은 필요로 하는 품질 속성과 품질 기준치로 구성된다. 예를 들어, {(성능, 10ms), (이용가능성, 90%)}과 같이 기술되며, XML 형태로 포맷팅(Formating) 되어 어댑터에게 전달된다. 각 품질 속성에 대한 품질 기준치는 ISO/IEC 9126에 정의된 메트릭(Metric)을 준수하여 작성한다. 어댑터는 클라이언트 애플리케이션에서 전달받은 최소 품질 요구사항과 각 후보 비즈니스 프로세스 또는 후보 서비스에서 보장하는 품질 명세를 비교하여, 품질 명세 차이도(QualityGap)를 계산한다. 품질 명세 차이도는 다음의 수학식으로 계산된다.
Figure 112015072352054-pat00002
상기 식에서 Candidate i 는 특정 후보 비즈니스 프로세스 또는 후보 서비스를 의미한다. SetQA_Client는 클라이언트 애플리케이션의 품질 요구사항 집합으로, 품질 속성(QA j )별 품질 기준치인 QVal(QA j )로 기술되어 있다. QSpec(Candidate i , QA j )는 특정 Candidate i 이 보장하는 품질 속성별 작성된 기준치를 반환하는 함수이므로, QVal(QA j )간의 차이 값을 이용하여 특정 품질 속성 QA j 별 차이 값을 계산할 수 있다. QualityHistory (Candidate i , QA j )는 해당 Candidate i 의 호출 히스토리를 기반으로 QA j 의 평균값을 반환한다. 품질 명세에 작성된 값과 실제 운영 후 품질이 차이가 있을 수 있으므로, QSpecQualityHistory 두 개의 함수를 이용하여 특정 Candidate i QA j 속성에 대한 실제 값을 보정한다. 이 값들을 이용하여 QualityGap(Candidate i )Candidate i 에서 제공하는 품질 명세와 클라이언트 애플리케이션이 필요로 하는 품질 요구사항의 차이를 0과 1사이의 값으로 반환하며, 0에 가까울수록 클라이언트의 요구사항을 충분히 만족시키는 것이다.
세 번째, 위의 수식을 이용하여 어댑터는 QualityGap이 작은 값을 가지는 특정 비즈니스 프로세스 또는 서비스를 호출하기로 결정하고, 해당 비즈니스 프로세스 또는 서비스를 호출한다.
도 4에서, 수행 절차는 동일하지만, 각 세부 알고리즘이 다르므로 어댑터는 템플릿 메소드(Template Method) 패턴을 이용해서 구현된다.
상위 클래스인 Adapter는 adapt() 메소드를 제공하여 적응이 필요한 기능 요청은 Adapter 클래스의 adapt() 메소드가 처리한다. 즉 클라이언트 애플리케이션이 비즈니스 프로세스를 적응하기 위해서 BP_Adapter의 adapt() 메소드를 호출하거나 특정 서비스를 적응하기 위해서 Activity_Adapter의 adapt() 메소드를 호출한다. 각 어댑터는 앞서 설명한 메트릭을 이용하여 필요로 한 품질과 가장 유사한 비즈니스 프로세스 또는 서비스를 호출한다. 도 5에서, 그 절차를 도식화하여 보여준다.
다음으로, 전략(Strategy) 디자인 패턴을 이용한 동적 바인딩이다.
어댑터에서 적응하는 비즈니스 프로세스 또는 서비스는 사전에 "closed"로 정의된 가변점에 대한 가변치를 대상으로 한다. 그러나 일부 가변점은 "open"으로 설계되며, 이는 런타임에 새로운 비즈니스 프로세스 또는 서비스가 클라이언트 애플리케이션의 요청에 참여할 수 있음을 의미한다. 런타임에 새롭게 추가된 비즈니스 프로세스 또는 서비스가 클라이언트 애플리케이션에서 호출되도록 정해진 인터페이스를 준수하여 설계되어야 한다. 도 6은 전체적인 구조를 나타낸 것이다.
도 6에서, Adapter 클래스는 우측에 있는 OpenVariant 클래스의 참조자(Reference)를 가지고 있으며, OpenVariant 클래스는 추상(Abstract)의 클래스이므로 비즈니스 프로세스가 실행될 때 설정된 실제 가변치 객체로 대치된다. 즉 객체지향 프로그래밍의 대치성(Substitution)을 이용해서 가변치의 동적 바인딩 방식을 가능하게 하는 기법이다.
제4단계(D4)는 비즈니스 프로세스 참여 서비스 구성이다. 이는 기존 비즈니스 프로세스 워크플로우의 설계방식에 따른다.
다음으로, 도 7에서, 기계학습에 의한 비즈니스 프로세스 실행 방법을 나타낸 것이다.
제1단계(E1)는 가변성 기반의 프로세스 테일러링(Tailoring)이다. 이는 비즈니스 프로세스의 설계가 완료된 후 실행(Execution, E)을 하는 첫 작업으로서, 이미 작성되어 있는 가변성 프로파일의 내용을 기반으로 비즈니스 프로세스를 테일러링 하는 것이다.
가변성 프로파일에는 가변점별로 가변치가 정의되어 있고, 각 가변치별로 비즈니스 프로세스를 테일러링 하는 방법이 다르다. 본 발명에서는 다음과 같은 테일러링 장치를 정의하여 사용한다.
즉 비즈니스 프로세스의 워크플로우의 테일러링은 BPMN의 여러 방식의 Branch를 사용하여 테일러링 한다. 그리고 비즈니스 프로세스에 참여하는 서비스 컴포넌트의 테일러링은 해당 컴포넌트를 슈퍼 클래스로 정의하고, 대체될 객체를 서브 클래스로 정의하며, 실행 시에 서브 클래스의 객체(Instance)가 슈퍼 클래스 객체를 대치하도록 한다.
제2단계(E2)는 비즈니스 프로세스 실행이다. 이는 기존 비즈니스 프로세스 실행방식에 따른다.
제3단계(E3)는 실행 결과의 기계 학습 및 분석이다. 이 제3단계는 제2단계(E2)의 실행 결과를 기계 학습 방법으로 분석하고, 품질 가변점 별로 정의되어 있는 임계치(Threshold Value) 이하의 비즈니스 프로세스의 서비스들에 그 원인(Cause)을 분석하며, 원인별 해결(Remedy) 기법을 식별하고, 이를 가변성 프로파일(XML파일)에 정리하는 일련의 과정이다. 도 8은 기계 학습의 절차를 나타낸 것이다.
도 8에서, 품질 가변점의 품질 정도를 계산하는데 필요한 여러 컨텍스트 정보를 수집한다(S1). 그리고 수집된 컨텍스트를 이용하여 품질 가변점의 품질 값을 해당 메트릭(Metric)을 이용하여 계산하며, 계산된 값이 품질 임계치(Threshold Value) 이하인지를 확인한다(S2). 측정된 품질 값이 임계치보다 낮을 경우, 품질 보정을 위한 장치가 실행된다(S3). 마지막으로 상기 과정에서 설정된 장치에 대하여 XML 형태의 명세 파일을 생성하는 작업이다(S4). 이 파일은 비즈니스 프로세스 실행의 제1단계(E1)에서 입력으로 사용된다.
이와 같이 본 발명은 예를 들어, 의사가 환자 진료에 대한 효과 분석과 차기 진료에 반영하는 프로세스와 기법처럼, 비즈니스 프로세스 실행 결과를 학습하고 이를 차기 실행에 자동적으로 반영하는 기술의 개발에 있다. 따라서 본 발명은 비즈니스 프로세스의 실행 결과에 대한 기계학습 기법과 더불어 학습 결과를 차기 비즈니스 프로세스 실행에 자율 반영하는 기법을 제시하는 것이다. 더욱이 자율적으로 실행 품질을 학습하는 비즈니스 프로세스에 대한 발명은 동일한 비즈니스 프로세스가 종류가 다른 디바이스를 위해 실행될 때 효과적으로 사용될 수 있다. 모바일 컴퓨팅 개념이 보편화되면서, 한 비즈니스 프로세스의 실행 결과는 웹 브라우저, 모바일 단말기, 태블릿 PC 등에 전달된다. 일반 PC는 컴퓨팅 자원이 풍부하며, 유선 네트워크로 대역폭도 넓지만, 모바일 단말기 또는 태블릿 PC는 그에 비해 컴퓨팅 자원도 제약적이며 대역폭이 좁은 무선 네트워크 환경에서 운영된다. 그러므로 디바이스마다 요구되는 품질 등이 다르므로, 비즈니스 프로세스는 이에 맞춰 자율적으로 실행될 필요가 있다. 이런 상황에 제시된 본 발명의 기법이 효과적으로 사용될 수 있을 것이다.
이상의 설명에서 본 발명은 특정의 실시 예와 관련하여 도시 및 설명하였지만, 특허청구범위에 의해 나타난 발명의 사상 및 영역으로부터 벗어나지 않는 한도 내에서 다양한 개조 및 변화가 가능하다는 것을 이 기술분야에서 통상의 지식을 가진 자라면 누구나 쉽게 알 수 있을 것이다.

Claims (8)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. (a) 테일러링 장치가 가변점별로 가변치가 정의되어 있는 가변성 프로파일의 내용을 기반으로 비즈니스 프로세스를 테일러링(Tailoring)하되, 상기 비즈니스 프로세스의 테일러링은 BPMN의 복수 방식의 Branch를 사용하여 테일러링하고, 상기 비즈니스 프로세스에 참여하는 서비스 컴포넌트의 테일러링은 해당 컴포넌트를 슈퍼 클래스로 정의하고, 대체될 객체를 서브 클래스로 정의하며, 실행 시에 서브 클래스의 객체(Instance)가 슈퍼 클래스 객체를 대치하도록 테일러링하는 단계;
    (b) 전략패턴을 이용하여 동적 바인딩 컴포넌트인 어댑터가 상기 테일러링한 비즈니스 프로세스를 실행하는 단계, 및
    (c) 상기 어댑터는 실행 결과에 따라 기계학습 및 분석을 수행하되, 품질 가변점의 품질 정도를 계산하는데 필요한 복수의 컨텍스트 정보를 수집하는 과정과, 수집된 컨텍스트를 이용하여 품질 가변점의 품질 값을 해당 메트릭(Metric)을 이용하여 계산하고, 계산된 값이 품질 임계치(Threshold Value) 이하인지를 확인하는 과정과, 측정된 품질 값이 임계치보다 낮을 경우에 품질 보정을 위한 장치를 실행하는 과정, 및 상기 과정에서 설정된 장치에 대하여 XML 형태의 명세 파일을 생성한 후 단계(a)로 입력하는 과정을 포함하는 단계로 이루어지고,
    상기 어댑터는 기능 명세가 일치하는 후보 비즈니스 프로세스 또는 후보 서비스를 검색하는 기능과, 후보 비즈니스 프로세스 또는 후보 서비스의 품질 속성을 비교하는 기능, 및 후보 중 가변치에 근접한 비즈니스 프로세스 또는 서비스를 결정 및 호출하는 기능을 수행하되,
    상기 어댑터는 클라이언트 애플리케이션에서 전달받은 최소 품질 요구사항과 각 후보 비즈니스 프로세스 또는 후보 서비스에서 보장하는 품질 명세를 비교하여 다음의 수학식,
    Figure 112016104019444-pat00013

    (여기에서, Candidatei 는 특정 후보 비즈니스 프로세스 또는 후보 서비스이고, SetQA_Client는 클라이언트 애플리케이션의 품질 요구사항 집합이며, QVal(QAj)는 품질 속성(QAj)별 품질 기준치이고, QSpec(Candidatei, QAj)는 특정 Candidatei 이 보장하는 품질 속성별 작성된 기준치를 반환하는 함수이며, QualityHistory(Candidatei, QAj)는 해당 Candidatei 의 호출 히스토리를 기반으로 QAj 의 평균값을 반환하는 함수이다.)로 품질 명세 차이도를 산출하고,
    상기 어댑터는 후보 중 가변치에 근접한 비즈니스 프로세스 또는 서비스를 결정 및 호출은 클라이언트 애플리케이션(Client Application)이 비즈니스 프로세스를 적응하기 위해서 BP_Adapter의 adapt() 메소드를 호출하거나 특정 서비스를 적응하기 위해서 Activity_Adapter의 adapt() 메소드를 호출하되, 각 어댑터는 메트릭을 이용하여 필요로 한 품질과 가장 유사한 비즈니스 프로세스 또는 서비스를 각각 호출하는 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법.
  7. 삭제
  8. 삭제
KR1020150105375A 2015-07-24 2015-07-24 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법 KR101712627B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150105375A KR101712627B1 (ko) 2015-07-24 2015-07-24 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150105375A KR101712627B1 (ko) 2015-07-24 2015-07-24 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법

Publications (2)

Publication Number Publication Date
KR20170011912A KR20170011912A (ko) 2017-02-02
KR101712627B1 true KR101712627B1 (ko) 2017-03-14

Family

ID=58152036

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150105375A KR101712627B1 (ko) 2015-07-24 2015-07-24 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법

Country Status (1)

Country Link
KR (1) KR101712627B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100910336B1 (ko) 2006-10-19 2009-07-31 신동혁 논리 프로세스 및 물리 프로세스 모델을 맵핑한 비즈니스 프로세스 모델을 관리하기 위한 시스템 및 방법
KR20150017052A (ko) * 2013-08-05 2015-02-16 한국전자통신연구원 워크플로우의 실행 방법 및 시스템

Also Published As

Publication number Publication date
KR20170011912A (ko) 2017-02-02

Similar Documents

Publication Publication Date Title
CN109086031B (zh) 一种基于规则引擎的业务决策方法和装置
US10686843B2 (en) Authorization policy recommendation method and apparatus, server, and storage medium
Ali et al. A goal-based framework for contextual requirements modeling and analysis
Puttonen et al. Semantics-based composition of factory automation processes encapsulated by web services
US11263005B2 (en) Techniques to deploy an application as a cloud computing service
Zdravković et al. Domain framework for implementation of open IoT ecosystems
CN110109750B (zh) 虚拟资源获取方法、装置、计算机设备和存储介质
US10453165B1 (en) Computer vision machine learning model execution service
US20230091697A1 (en) System and Method for Facilitating Performance Testing
EP2423863A1 (en) Methods and systems for managing quality of services for network participants in a networked business process
US11394604B2 (en) Closed-loop automation of a managed network
US20190180189A1 (en) Client synchronization for offline execution of neural networks
US20160292581A1 (en) Minimized processing of streaming changes into a semantic reasoner
US20150286505A1 (en) Computing system resource provisioning
CN110347494B (zh) 上下文信息管理方法、装置、系统及计算机可读存储介质
US11348019B2 (en) Advanced workflow based self-serve automation system
Chalotra et al. Tuning of cocomo model parameters by using bee colony optimization
Brabra et al. Model-driven orchestration for cloud resources
US20180121172A1 (en) Specifying models of an architectural type
Mezni Web service adaptation: A decade’s overview
CN114091688A (zh) 一种计算资源获取方法、装置、电子设备和存储介质
Tizzei et al. An aspect-based feature model for architecting component product lines
KR101712627B1 (ko) 기계학습 기반의 자율 적응형 비즈니스 프로세스 실행 방법
US10547565B2 (en) Automatic determination and just-in-time acquisition of data for semantic reasoning
Giner et al. Implicit interaction design for pervasive workflows

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200119

Year of fee payment: 4