KR20160146088A - 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치 - Google Patents

워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치 Download PDF

Info

Publication number
KR20160146088A
KR20160146088A KR1020150082719A KR20150082719A KR20160146088A KR 20160146088 A KR20160146088 A KR 20160146088A KR 1020150082719 A KR1020150082719 A KR 1020150082719A KR 20150082719 A KR20150082719 A KR 20150082719A KR 20160146088 A KR20160146088 A KR 20160146088A
Authority
KR
South Korea
Prior art keywords
workflow model
workflow
job
jobs
data processing
Prior art date
Application number
KR1020150082719A
Other languages
English (en)
Other versions
KR102071335B1 (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 KR1020150082719A priority Critical patent/KR102071335B1/ko
Priority to US14/954,080 priority patent/US9798523B2/en
Publication of KR20160146088A publication Critical patent/KR20160146088A/ko
Application granted granted Critical
Publication of KR102071335B1 publication Critical patent/KR102071335B1/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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/35Creation or generation of source code model driven
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work
    • 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
    • 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/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Landscapes

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

Abstract

본 발명의 실시 예들은, 빅데이터 분야에서 이용되는 워크플로우를 모델링하는 방법과, 워크플로우 모델을 실행하는 방법 및 장치에 관한 것으로, 본 발명의 일 실시 예에 따른 워크플로우 모델 실행 방법은, 적어도 하나의 데이터 스토리지 엔진과 적어도 하나의 데이터 프로세싱 엔진을 필요로 하는 UML 기반의 워크플로우 모델을 수신하는 단계; 상기 수신된 워크플로우 모델을 파싱하여 구조화된 정보들을 생성하는 단계; 상기 구조화된 정보들을 이용하여 상기 워크플로우 모델의 유효성을 검증하는 단계; 및 상기 워크플로우 모델이 유효하다고 판단되는 경우, 상기 워크플로우 모델에 포함된 잡(job)들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계를 포함한다. 본 발명의 실시 예은, 개발자들로 하여금, 다양한 데이터 스토리지 엔진과 다양한 데이터 프로세싱 엔진 상에서 구동되는 워크플로우를 쉽게 획득할 수 있도록 한다.

Description

워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치{Method for generating workflow model and method and apparatus for executing workflow model}
본 발명의 실시 예들은, 빅데이터 분야에서 이용되는 워크플로우를 모델링하는 방법과, 워크플로우 모델을 실행하는 방법 및 장치에 관한 것이다.
최근, 이론가, 시스템 빌더, 과학자 및 어플리케이션 디자이너 등의 거대 소스로부터의 다발적인 혁신과 함께 빅데이터 시대가 도래하였다. 모델 주도형(model-driven) 개발로 향하는 현재의 트렌드에서, 디자인 레벨에서 정보의 소스로서 UML(Unified Modeling Language) 모델을 선택하는 것이 자연스럽고 편리하다. 그러나, 빅데이터 영역, 특히 어플리케이션 개발에서 중요한 비중을 차지하는 워크플로우 모델링 영역에서, UML 사용에 대한 연구가 매우 제한적이다.
한편, 개발자들이 서로 다른 데이터 스토리지 엔진과 데이터 프로세싱 엔진상에서 구동 가능한 워크플로우를 디자인할 수 없다면, 플랫폼 시스템의 적용성은 현저하게 감소할 것이다.
종래, oozie, Luigi or Azkaban 등의 수많은 워크플로우 모델링 시스템들이 있으나, 이들은, 다음과 같은 제약을 갖는다.
첫째, 이들은 사용자가 다루기에 친숙하지 않고 복잡하다. 그리고, 시스템이 작업을 수행하기 이전에 사용자에 의한 많은 설정 과정을 필요로 한다. 이에, 개발자들은, 이러한 시스템들에 익숙해지기 위하여 많은 노력을 기울여야 한다.
둘째, 워크플로우를 모델링하는 데 있어서, 정해진 표준이 없다. 각각의 시스템은, 고유의 구문(syntax) 및 표기법(notations) 등을 가진다. 따라서, 서로 다른 시스템을 사용하는 개발자들 간의 의사 소통은 거의 불가능하다.
본 발명의 실시 예들은, 다양한 데이터 스토리지 엔진과 다양한 데이터 프로세싱 엔진상에서 구동 가능한 워크플로우를 모델링하는 방안을 제안한다.
본 발명의 실시 예들은, UML을 이용하여 워크플로우를 모델링하는 방안을 제공한다.
본 발명의 실시 예들은, 워크플로우 모델을 검증하고 실행하는 방안을 제공한다.
본 발명의 일 실시 예에 따른 워크플로우 모델 실행 방법은, 적어도 하나의 데이터 스토리지 엔진과 적어도 하나의 데이터 프로세싱 엔진을 필요로 하는 UML 기반의 워크플로우 모델을 수신하는 단계; 상기 수신된 워크플로우 모델을 파싱하여 구조화된 정보들을 생성하는 단계; 상기 구조화된 정보들을 이용하여 상기 워크플로우 모델의 유효성을 검증하는 단계; 및 상기 워크플로우 모델이 유효하다고 판단되는 경우, 상기 워크플로우 모델에 포함된 잡(job)들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계를 포함한다.
일 실시 예에서, 상기 UML 기반의 워크플로우 모델은, XML 파일 형태로 수신될 수 있다.
일 실시 예에서, 상기 방법은, 상기 워크 플로우 모델이 OMG XMI 파일 포맷을 따르는지 여부를 확인하는 단계; 및 상기 XML 파일이 OMG XMI 파일 포맷을 따르지 않는 경우 상기 XML 파일을 폐기하는 단계를 더 포함할 수 있다.
일 실시 예에서, 상기 워크플로우 모델의 유효성을 검증하는 단계는, 상기 생성된 구조화된 정보들에 포함된 데이터 프로세싱 엔진명, 데이터 스토리지 엔징명 및 자원 할당량을 기 설정된 정보들과 비교하여 상기 워크플로우 모델의 로직에 이상이 있는지 여부를 확인하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계는, 상기 워크플로우 모델에 존재하는 잡들의 흐름을 분석하고, 실행 가능한 잡들을 이용하여 큐를 생성하는 단계; 및 상기 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계를 포함할 수 있다.
일 실시 예에서, 상기 방법은, 상기 전송된 잡들이 성공적으로 수행된 경우, 상기 워크플로우 모델에 포함된 나머지 잡들 중 실행 가능한 잡들을 이용하여 상기 큐를 갱신하는 단계를 더 포함할 수 있다.
본 발명의 일 실시 예에 따른 워크플로우 모델 실행 장치는, 적어도 하나의 데이터 스토리지 엔진과 적어도 하나의 데이터 프로세싱 엔진을 필요로 하는 UML 기반의 워크플로우 모델을 수신하고, 수신된 워크플로우 모델이 OMG XMI 포맷을 따르는지 여부를 확인하는 구문 분석기; 상기 워크플로우 모델이 OMG XMI 포맷을 따르는 경우 상기 워크플로우 모델을 파싱하여 구조화된 정보들을 생성하는 파서; 상기 구조화된 정보들을 이용하여 상기 워크플로우 모델의 유효성을 검증하는 로직 분석기; 및 상기 워크플로우 모델이 유효한 경우 상기 워크플로우 모델에 포함된 잡(job)들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 잡 서브미터를 포함할 수 있다.
일 실시 예에서, 상기 UML 기반의 워크플로우 모델은, XML 파일 형태로 수신될 수 있다.
일 실시 예에서, 상기 구문 분석기는, 상기 워크플로우 모델이 OMG XMI 파일 포맷을 따르지 않는 경우, 상기 워크플로우 모델을 폐기할 수 있다.
일 실시 예에서, 상기 로직 분석기는, 상기 생성된 구조화된 정보들에 포함된 데이터 프로세싱 엔진명, 데이터 스토리지 엔징명 및 자원 할당량을 기 설정된 정보들과 비교하여 상기 워크플로우 모델의 로직에 이상이 있는지 여부를 확인할 수 있다.
일 실시 예에서, 상기 장치는, 상기 워크플로우 모델에 존재하는 잡들의 흐름을 분석하고, 실행 가능한 잡들을 이용하여 큐를 생성하는 잡 스케쥴러를 더 포함하고, 상기 잡 서브미터는, 상기 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다.
일 실시 예에서, 상기 장치는, 상기 전송된 잡들이 성공적으로 수행되는지 모니터링하는 잡 모니터를 더 포함하고, 상기 잡 스케쥴러는, 상기 전송된 잡들이 성공적으로 수행된 경우, 상기 워크플로우 모델에 포함된 나머지 잡들 중 실행 가능한 잡들을 이용하여 상기 큐를 갱신할 수 있다.
본 발명의 일 실시 예에 따른 워크플로우 모델 생성 방법은, UML을 이용한 워크플로우 모델링 수행이 요청되는 경우 두 개의 파티션으로 이루어지는 테이블을 생성하는 단계; 상기 파티션 중 어느 하나의 파티션 값으로서 데이터 프로세싱 엔진명을 입력받고, 나머지 하나의 파티션 값으로서 데이터 스토리지 엔진명을 입력받는 단계; 상기 워크플로우의 시작 노드, 종료 노드, 액션 노드 및 흐름 제어 노드 중 적어도 하나의 노드를 입력받는 단계; 상기 워크플로우에 포함된 잡의 실행에 필요한 자원 정보와, 각 잡의 실행 순서를 입력받는 단계; 및 상기 입력된 정보들을 기반으로 OMG XMI 파일 포맷을 따르는 워크플로우 모델을 생성하는 단계를 포함할 수 있다.
본 발명의 실시 예들에 따르면, 다양한 워크플로우 모델링 시스템의 사용으로 인하여 야기되는 워크플로우 모델의 이종성으로 인한 문제점들을 완화시킬 수 있다
본 발명의 실시 예들은, 개발자들로 하여금, 다양한 데이터 스토리지 엔진과 다양한 데이터 프로세싱 엔진 상에서 구동되는 워크플로우를 쉽게 획득할 수 있도록 한다.
본 발명의 실시 예들에 따르면, 서로 다른 지식과 스킬을 보유하는 다양한 사용자 클래스에게 많은 종류의 빅데이터 서비스를 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 빅데이터 플랫폼 시스템을 설명하기 위한 예시도,
도 2는 본 발명의 일 실시 예에 따른 워크플로우 모델 생성 방법을 설명하기 위한 예시도,
도 3은 본 발명의 일 실시 예에 따라 생성된 워크플로우 모델의 다이어그램을 보여주는 예시도,
도 4는 본 발명의 일 실시 예에 따라 잡 파일에 부착되는 자원 정보를 설명하기 위한 예시도,
도 5는 본 발명의 일 실시 예에 따른 워크플로우 모델 실행 방법을 설명하기 위한 흐름도,
도 6은 본 발명의 일 실시 예에 따른 XML 파일을 보여주는 예시도,
도 7은 본 발명의 일 실시 예 따른 구조화된 정보들을 보여주는 예시도,
도 8은 본 발명의 일 실시 예에 따른 워크플로우 엔진을 설명하기 위한 블록도,
도 9는 본 발명의 일 실시 예에 따른 워크플로우 모델 생성 및 실행이 가능한 장치를 설명하기 위한 블록도.
이하에서, 본 발명의 실시 예들을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
본 발명의 실시 예들은, UML에 친숙한 개발자가 다양한 데이터스토리지 엔진과 다양한 데이터 프로세싱 엔진 상에서 구동될 수 있는 워크플로우를 쉽게 작성할 수 있도록 하는 방안을 제공한다.
그리고, 작성된 워크플로우의 유효성을 검증하고 이를 실행하는 방안을 제공한다.
이하, 첨부되는 도면을 참조하여 본 발명의 실시 예들을 설명한다.
도 1은 본 발명의 일 실시 예에 따른 빅데이터 플랫폼 시스템을 설명하기 위한 예시도이다.
빅데이터 플랫폼 시스템에는, 다양한 데이터 프로세싱 엔진과 다양한 데이터 스토리지 엔진, 워크플로우 GUI 디자이너(workflow GUI designer) 및 워크플로우 엔진 등이 존재한다.
데이터 프로세싱 엔진에는, 예를 들어, Hadoop MapReduce, Spark 및 Presto-YARN 등이 있다. 그리고, 데이터 스토리지 엔진에는, 예를 들어, Hbase, Cassandra, MariaDB 및 MongoDB 등이 있다.
한편, 개발자들은, 워크플로우 GUI 디자이너를 이용하여 그들이 원하는 워크플로우를 모델링할 수 있다. 그리고, 워크플로우 GUI 디자이너는, 워크플로우 모델을 워크플로우 엔진으로 전송할 수 있다. 워크플로우 GUI 디자이너는, Papyrus, VisualUML 또는 Visual-Paradigm 등의 종래 이용되는 UML 툴(tool)일 수 있다.
워크플로우 엔진은, 워크플로우의 모델의 유효성을 검증할 수 있다. 그리고, 워크플로우 모델에 포함된 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 각 잡의 실행 결과는, 데이터 스토리지 시스템에 업데이트될 수 있다.
도 2는 본 발명의 일 실시 예에 따른 워크플로우 모델 생성 방법을 설명하기 위한 예시도이고, 도 3은 본 발명의 일 실시 예에 따라 생성된 워크플로우 모델의 다이어그램을 보여주는 예시도이다. 실시 예에 따라, 도 2에 도시된 단계들 중 적어도 하나는 생략될 수 있다.
단계(201)에서, 개발자는, 워크 플로우 모델링에 필요한 파일들을 클러스터에 업로드 할 수 있다. 클러스터에 업로드되는 파일들은, 예를 들어 잡 파일, 입력 파일 및 출력 파일들을 포함할 수 있다.
단계(203)에서, 워크플로우 GUI 디자이너는, UML을 이용한 워크플로우 모델링 수행이 요청되는 경우 워크플로우 모델링을 위한 테이블을 생성할 수 있다. 테이블은 적어도 하나의 수직 파티션과 적어도 하나의 수평 파티션으로 이루어질 수 있으며, 이후에 입력되는 값의 개수에 따라 수직 파티션 또는 수평 파티션의 개수가 변화할 수 있다.
단계(205)에서, 워크플로우 GUI 디자이너는, 수직 파티션 값과 수평 파티션 값을 입력 받을 수 있다. 예를 들어, 수직 파티션 값으로는 데이터 프로세싱 엔진명을 입력받을 수 있으며, 수평 파티션 값으로는 데이터 스토리지 엔진명을 입력받을 수 있다. 도 3에는 HadoopMR, Storm, Spark 및 Hive 등의 데이터 프로세싱 엔진명과, HDFS, HBase 및 Cassandra 등의 데이터 스토리지 엔진명이 입력된 예를 도시하였다.
단계(207)에서, 워크플로우 GUI 디자이너는, 워크플로우의 시작 노드와 종료 노드를 입력받을 수 있다. 도 3에는 일 예로서, HadoopMR이라는 데이터 프로세싱 엔진 파티션과 HDFS라는 데이터 스토리지 엔진 파티션에 속하는 셀에 시작 노드가 입력되고, Spark라는 데이터 프로세싱 엔진 파티션과 Cassandra라는 데이터 스토리지 엔진 파티션에 속하는 셀에 종료 노드가 입력된 예를 도시하였다.
단계(209)에서, 워크플로우 GUI 디자이너는, 워크플로우에 포함된 잡을 구체화하는(specify) 액션 노드(action node)를 입력받을 수 있다. 액션 노드를 입력받는다는 것은, 예를 들어 잡 파일의 명칭, 입력 파일의 명칭 및 출력 파일의 명칭 중 적어도 하나를 입력받는 것을 의미할 수 있다.
단계(211)에서, 워크플로우 GUI 디자이너는, 각각의 잡의 실행에 필요한 자원 정보를 입력받을 수 있다. 도 3에 도시된 바와 같이, 자원 정보는 액션 노드, 예를 들어 잡 파일에 주석(annotation) 형태로 부착될 수 있다. 도 3에는 설명의 편의를 위하여 job file 1에만 자원 정보(310)가 부착된 예를 도시하였으나, 자원 정보는 다른 job file에 부착될 수 있다. 자원 정보는, 예를 들어 프로세서, 메모리, 저장공간 및 네트워크와 관련된 정보일 수 있다. 자원 정보의 일 예를 도 4에 도시하였다. 도 4에는, job file 1을 실행하기 위하여, 5-코어를 갖는 CPU, 500MB의 메모리, 20GB의 저장 공간 및 400Mbps의 데이터 전송 속도가 필요함을 나타내었다.
단계(213)에서, 워크플로우 GUI 디자이너는, 흐름 제어 노드(control flow node)를 입력을 수 있다. 흐름 제어 노드는, 결정(decision) 노드, 병합(join) 노드 및 분기(separation) 노드 중 적어도 하나를 포함할 수 있다. 결정 노드는, 어떠한 조건에 따라 흐름(flow)을 분기시키는 노드이며, 병합 노드는 다수의 흐름을 병합시키는 노드이며, 분기 노드는 조건 없이 하나의 흐름을 분기시키는 노드일 수 있다. 결정 노드의 입력 시에는 흐름을 분기시키는 데 이용되는 조건문(condition content)이 함께 입력될 수 있다.
단계(215)에서, 워크플로우 GUI 디자이너는, 노드의 실행 순서를 입력받을 수 있다. 도 3에는 일 예로서, "잡 파일 1 - 잡 파일 2 - 잡 파일 3 - 잡 파일 4"의 순서로 구성되는 하나의 흐름과, "잡 파일 1 - 잡파일 5, 6 - 잡 파일 7"의 순서로 구성되는 다른 하나의 흐름이 생성된 예를 도시하였다.
단계(217)에서, 워크플로우 GUI 디자이너는, 이전 단계들에서 입력된 정보들을 기반으로 OMG XMI 파일 포맷을 따르는 워크플로우 모델을 생성하고, 생성된 워크플로우 모델을 워크플로우 엔진으로 전송할 수 있다. 생성되는 워크플로우 모델을 XML 파일 형태일 수 있다. XML 파일에는, 워크플로우 모델에 포함된 각 잡이 필요로 하는 데이터 프로세싱 엔진과 데이터 스토리지 엔진에 대한 정보들이 포함될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 워크플로우 모델 실행 방법을 설명하기 위한 흐름도이다. 실시 예에 따라, 도 4에 도시된 단계들 중 적어도 하나는 생략될 수 있다.
단계(501)에서, 워크플로우 엔진은, 개발자 또는 워크플로우 GUI 디자이너로부터 XML 파일 형식의 워크플로우 모델(이하, XML 파일)을 수신할 수 있다.
단계(503)에서, 워크플로우 엔진은, 수신된 XML 파일이 UML을 위한 OMG(Object Management Group) 표준인 XMI(XML Metadata Interchange) 포맷을 따르는지 여부를 확인할 수 있다. XML 파일이 UML을 위한 OMG XMI 포맷을 따르는지 여부를 확인한다는 것은, XML 파일 내에 포함된 각종 태그(tag), 속성 값(attribute value) 및 캐릭터(character)가 적절한 위치에 적절한 형태로 삽입되었는지 여부를 확인하는 것을 의미할 수 있다.
만약, 수신된 XML 파일이 UML을 위한 OMG XMI 포맷을 따르지 않는다고 판단되는 경우, 워크플로우 엔진은, 수신된 XML 파일을 폐기하고 이를 개발자에게 알릴 수 있다. 이에 따라, 개발자는 다시 워크플로우 모델을 제작하거나 수정할 수 있다.
만약, 수신된 XML 파일이 UML을 위한 OMG XMI 포맷을 따른다고 판단되는 경우, 워크플로우 엔진은, 단계(505)로 진행한다.
단계(505)에서, 워크플로우 엔진은, XML 파일을 파싱하여 워크플로우 엔진을 위한 구조화된 정보들을 생성할 수 있다. 이는, XML 파일 내에 포함된 내용(content)을 워크플로우 엔진이 처리할 수 있는 형태로 변환하는 것을 의미할 수 있다. 예를 들어, 도 6에 도시된 바와 같은 XML 파일이 수신되었다고 가정할 때, 워크플로우 엔진은 해당 XML 파일을 파싱하여 도 7에 도시된 바와 같은 구조화된 정보들을 생성할 수 있다.
단계(507)에서, 워크플로우 엔진은, 구조화된 정보들을 기반으로 XML 파일의 로직에 이상이 있는지 여부를 확인할 수 있다. 예를 들어, 구조화된 정보들에 존재하는 데이터 프로세싱 엔진명과 데이터 스토리지 엔진명이 메타 데이터베이스에 저장된 엔진명 리스트에 있는지 확인하고, 없다면 XML 파일의 로직에 이상이 있다고 판단할 수 있다. 또한, 예를 들어, 각각의 잡 실행에 필요한 자원이 하나의 잡을 위한 자원 임계값을 초과하는지 확인하고, 초과한다면 XML 파일의 로직에 이상이 있다고 판단할 수 있다. 또한, 예를 들어, 일련의 잡(예를 들어, 도 3에 도시된 "잡 파일 1 - 잡 파일 2 - 잡 파일 3 - 잡 파일 4"의 흐름, 또는 "잡 파일 1 - 잡파일 5, 6 - 잡 파일 7"의 흐름)의 실행에 필요한 자원이 한 명의 개발자를 위한 자원 임계값을 초과하는지 확인하고, 초과한다면 XML 파일의 로직에 이상이 있다고 판단할 수 있다. 자원 임계 값은, 메타 데이터베이스에 저장되어 있을 수 있다. 메타 데이터베이스에 저장된 정보들은, 클러스터에 각종 파일들을 업로드하거나 클러스터로부터 각종 파일들을 삭제할 때 자동으로 생성되거나 갱신될 수 있다. 예를 들어, 특정 파일을 업로드하거나 삭제할 때 해당 파일의 소유자 및 파일 크기 등의 정보가 메타 데이터베이스에 저장되거나 메타 데이터베이스로부터 삭제될 수 있다. 또한, 메타 데이터베이스에 저장되는 정보들은, 시스템 관리자에 의하여 갱신될 수도 있다. 예를 들어, 이용 가능한 데이터 프로세싱 엔진명, 이용 가능한 데이터 스토리지 엔진명, 하나의 잡을 위한 자원 임계값 및 한 명의 사용자를 위한 자원 임계 값 등의 정보가 시스템 관리자에 의하여 갱신될 수 있다.
또한, 워크플로우 엔진은, 파싱된 구조화된 정보들에 존재하는 잡 파일, 입력 파일 및 출력 파일들이 클러스터에 모두 존재하는지 확인하고, 어느 하나라도 존재하지 않는 경우 XML 파일의 로직에 이상이 있다고 판단할 수 있다.
만약 XML 파일의 로직에 이상이 있다고 판단되는 경우, 워크플로우 엔진은, 이를 개발자에게 알릴 수 있다. 이에 따라, 개발자는 다시 워크플로우 모델을 제작하거나 수정할 수 있다.
단계(509)에서, 워크플로우 엔진은, 워크플로우에 포함된 잡들의 흐름을 분석하고, 실행 가능한 일련의 잡들을 이용하여 큐를 생성할 수 있다. 워크플로우에 포함된 잡들 중 일부는, 다른 잡들의 실행이 선행되어야 실행될 수 있다. 따라서, 워크플로우 엔진은, 현재 상태에서 실행 가능한 잡들을 이용하여 큐를 생성할 수 있다.
단계(511)에서, 워크플로우 엔진은, 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 각각의 잡들을 해당 잡에 대응하는 데이터 프로세싱 엔진으로 전송함에 있어, 단계(505)에서 생성된 구조화된 정보들이 이용될 수 있다. 구조화된 정보들은, 각 잡이 필요로 하는 데이터 프로세싱 엔진과 데이터 스토리지 엔진에 대한 정보들을 포함할 수 있다. 따라서, 워크플로우 엔진은, 구조화된 정보들을 참조하여 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 이에 따라, 데이터 프로세싱 엔진은, 각각의 잡에 대응하는 데이터 스토리지 엔진을 이용하여 잡을 수행할 수 있다. 그리고, 워크플로우 엔진은, 전송된 잡들이 성공적으로 수행되는지 여부를 모니터링할 수 있다.
단계(513)에서, 워크플로우 엔진은, 전송된 모든 잡들이 성공적으로 이루어졌다고 판단되는 경우 단계(515)로 진행하고, 그렇지 않으면 종료한다.
단계(515)에서, 워크플로우 엔진은, 데이터 프로세싱 엔진으로 전송되지 않은 잡들이 있는지 확인하고, 있다면 단계(509)로 진행한다. 단계(509)내지 단계(515)의 과정을 예를 들어 설명하면 다음과 같다. 예를 들어, 워크플로우 엔진은, 도 3에 도시된 흐름(잡 파일 1 - 잡 파일 2 - 잡 파일 3 - 잡 파일 4)에 존재하는 잡 파일들을 이용하여 큐(Q1)를 생성하고, 생성된 큐(Q1)에 존재하는 잡 파일들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 그리고, 전송된 잡 파일들이 모두 성공적으로 수행된 경우, 나머지 흐름(잡 파일 1 - 잡파일 5, 6 - 잡 파일 7)에 존재하는 잡 파일들을 이용하여 큐(Q2)를 생성하고, 생성된 큐(Q2)에 존재하는 잡 파일들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 그리고, 전송된 잡들이 성공적으로 수행되는지 여부를 모니터링할 수 있다.
도 8은 본 발명의 일 실시 예에 따른 워크플로우 엔진을 설명하기 위한 블록도이다.
본 발명의 일 실시 예에 따른 워크플로우 엔진은, 구문 분석기(Syntax checker)(810), 파서(Parser)(820), 로직 분석기(Logic checker)(830), 잡 스케쥴러(Job scheduler)(840), 잡 서브미터(Job submitter)(850) 및 잡 모니터(Job monitor)(860)를 포함한다. 실시 예에 따라, 전술한 구성 요소 중 적어도 일부는 생략될 수 있다.
구문 분석기(810), 파서(820) 및 로직 분석기(830)는, XML 파일 형태로 입력되는 워크플로우 모델의 유효성을 검증할 수 있다.
구문 분석기(810)는, 개발자(또는 UML 툴)로부터 수신된 XML 파일을 분석하여, 수신된 XML 파일이 UML을 위한 OMG XMI 포맷을 따르는지 여부를 확인할 수 있다. 만약, 수신된 XML 파일이 UML을 위한 OMG XMI 포맷을 따르지 않는다면, 이를 개발자(또는 UML 툴)에 알릴 수 있다. 만약, 수신된 XML 파일이 UML을 위한 OMG XMI 포맷을 따른다면, 구문 분석기(810)는, 수신된 XML 파일을 파서(820)로 전송할 수 있다.
파서(820)는, 구문 분석기(810)로부터 수신되는 XML 파일을 파싱하여 워크플로우 엔진을 위한 구조화된 정보들을 생성하고, 생성된 구조화된 정보들을 로직 분석기(530)로 전송할 수 있다.
로직 분석기(830)는, 파서(820)로부터 수신되는 구조화된 정보들을 검사하여 XML 파일의 로직에 이상이 있는지 여부를 확인할 수 있다. XML 파일의 로직에 이상이 있는지 여부를 확인하기 위하여 메타 데이터베이스(870)에 저장된 정보들이 참조되거나, 클러스터에 존재하는 파일명이 참조될 수 있다. 만약 XML 파일의 로직에 이상이 있다고 판단되는 경우, 로직 분석기(830)는, 이를 개발자(또는 UML 툴)에게 알릴 수 있다. 만약, XML 파일의 로직에 이상이 없다고 판단되는 경우, 로직 분석기(530)는, 구조화된 정보들을 잡 스케쥴러(840)로 전송할 수 있다.
잡 스케쥴러(540), 잡 서브미터(550) 및 잡 모니터(560)는 개발자에 의하여 디자인된 워크플로우가 해당 데이터 프로세싱 엔진과 데이터 스토리지 엔진 상에서 적절히 구동될 수 있는지를 보장할 수 있다.
잡 스케쥴러(840)는, 로직 분석기(830)로부터 수신되는 구조화된 정보들을 기반으로 워크플로우에 포함된 잡들의 흐름을 분석할 수 있다. 그리고, 실행 가능한 잡들을 이용하여 큐를 생성할 수 있다.
잡 서브미터(850)는, 큐에 존재하는 잡들을 각 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다. 각 잡들을 해당 잡에 대응하는 데이터 프로세싱 엔진으로 전송함에 있어 파서(820)에서 생성된 구조화된 정보들이 이용될 수 있다.
잡 모니터(860)는, 잡 서브미터(850)에 의하여 전송된 잡들이 성공적으로 수행되는지 여부를 모니터링할 수 있다. 그리고, 전송된 모든 잡들이 성공적으로 이루어졌다고 판단되는 경우, 이를 잡 스케쥴러(840)에 알릴 수 있다. 이에 따라, 잡 스케쥴러(840)는 실행 가능한 잡들을 이용하여 큐를 갱신할 수 있다. 그리고, 잡 서브미터(850)는, 갱신된 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송할 수 있다.
메타 데이터베이스(870)는, 이용 가능한 데이터 프로세싱 엔진명 및 데이터 스토리지 엔진명이 나열된 리스트를 저장할 수 있다. 또한, 하나의 잡에 할당 가능한 자원 임계 값 및 한 명의 개발자에게 할당 가능한 자원 임계 값에 대한 정보를 저장할 수 있다.
본 발명의 실시 예들은, 컴퓨터 시스템 내에, 예를 들어, 컴퓨터 판독가능 기록 매체로 구현될 수 있다. 도 9에 도시된 바와 같이, 컴퓨터 시스템(900)은 하나 이상의 프로세서(910), 메모리(920), 저장부(930), 사용자 인터페이스 입력부(940) 및 사용자 인터페이스 출력부(950) 중 적어도 하나 이상의 요소를 포함할 수 있으며, 이들은 버스(960)를 통해 서로 통신할 수 있다. 또한, 컴퓨터 시스템(900)은 네트워크에 접속하기 위한 네트워크 인터페이스(970)를 또한 포함할 수 있다. 프로세서(910)는 메모리(920) 및/또는 저장소(930)에 저장된 처리 명령어를 실행시키는 CPU 또는 반도체 소자일 수 있다. 메모리(920) 및 저장부(930)는 다양한 유형의 휘발성/비휘발성 기억 매체를 포함할 수 있다. 예를 들어, 메모리는 ROM(924) 및 RAM(925)을 포함할 수 있다.
이에 따라, 본 발명의 실시 예들은 컴퓨터로 구현되는 방법 또는 컴퓨터 실행 가능 명령어들이 저장된 비휘발성 컴퓨터 기록 매체로 구현될 수 있다. 상기 명령어들은 프로세서에 의해 실행될 때 본 발명의 적어도 일 실시 예에 따른 방법을 수행할 수 있다.

Claims (13)

  1. 적어도 하나의 데이터 스토리지 엔진과 적어도 하나의 데이터 프로세싱 엔진을 필요로 하는 UML 기반의 워크플로우 모델을 수신하는 단계;
    상기 수신된 워크플로우 모델을 파싱하여 구조화된 정보들을 생성하는 단계;
    상기 구조화된 정보들을 이용하여 상기 워크플로우 모델의 유효성을 검증하는 단계; 및
    상기 워크플로우 모델이 유효하다고 판단되는 경우, 상기 워크플로우 모델에 포함된 잡(job)들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계
    를 포함하는 워크플로우 모델 실행 방법.
  2. 제 1 항에 있어서, 상기 UML 기반의 워크플로우 모델은,
    XML 파일 형태로 수신되는
    워크플로우 모델 실행 방법.
  3. 제 1 항에 있어서,
    상기 워크 플로우 모델이 OMG XMI 파일 포맷을 따르는지 여부를 확인하는 단계; 및
    상기 XML 파일이 OMG XMI 파일 포맷을 따르지 않는 경우 상기 XML 파일을 폐기하는 단계
    를 더 포함하는 워크플로우 모델 실행 방법.
  4. 제 1 항에 있어서, 상기 워크플로우 모델의 유효성을 검증하는 단계는,
    상기 생성된 구조화된 정보들에 포함된 데이터 프로세싱 엔진명, 데이터 스토리지 엔징명 및 자원 할당량을 기 설정된 정보들과 비교하여 상기 워크플로우 모델의 로직에 이상이 있는지 여부를 확인하는 단계
    를 포함하는 워크플로우 모델 실행 방법.
  5. 제 1 항에 있어서, 상기 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계는,
    상기 워크플로우 모델에 존재하는 잡들의 흐름을 분석하고, 실행 가능한 잡들을 이용하여 큐를 생성하는 단계; 및
    상기 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 단계
    를 포함하는 워크플로우 모델 실행 방법.
  6. 제 5 항에 있어서,
    상기 전송된 잡들이 성공적으로 수행된 경우, 상기 워크플로우 모델에 포함된 나머지 잡들 중 실행 가능한 잡들을 이용하여 상기 큐를 갱신하는 단계
    를 더 포함하는 워크플로우 모델 실행 방법.
  7. 적어도 하나의 데이터 스토리지 엔진과 적어도 하나의 데이터 프로세싱 엔진을 필요로 하는 UML 기반의 워크플로우 모델을 수신하고, 수신된 워크플로우 모델이 OMG XMI 포맷을 따르는지 여부를 확인하는 구문 분석기;
    상기 워크플로우 모델이 OMG XMI 포맷을 따르는 경우 상기 워크플로우 모델을 파싱하여 구조화된 정보들을 생성하는 파서;
    상기 구조화된 정보들을 이용하여 상기 워크플로우 모델의 유효성을 검증하는 로직 분석기; 및
    상기 워크플로우 모델이 유효한 경우 상기 워크플로우 모델에 포함된 잡(job)들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는 잡 서브미터
    를 포함하는 워크플로우 모델 실행 장치.
  8. 제 7 항에 있어서, 상기 UML 기반의 워크플로우 모델은,
    XML 파일 형태로 수신되는
    워크플로우 모델 실행 장치.
  9. 제 7 항에 있어서, 상기 구문 분석기는,
    상기 워크플로우 모델이 OMG XMI 파일 포맷을 따르지 않는 경우, 상기 워크플로우 모델을 폐기하는
    워크플로우 모델 실행 장치.
  10. 제 7 항에 있어서, 상기 로직 분석기는,
    상기 생성된 구조화된 정보들에 포함된 데이터 프로세싱 엔진명, 데이터 스토리지 엔징명 및 자원 할당량을 기 설정된 정보들과 비교하여 상기 워크플로우 모델의 로직에 이상이 있는지 여부를 확인하는
    워크플로우 모델 실행 장치.
  11. 제 7 항에 있어서,
    상기 워크플로우 모델에 존재하는 잡들의 흐름을 분석하고, 실행 가능한 잡들을 이용하여 큐를 생성하는 잡 스케쥴러를 더 포함하고,
    상기 잡 서브미터는, 상기 큐에 존재하는 잡들을 각각의 잡에 대응하는 데이터 프로세싱 엔진으로 전송하는
    워크플로우 모델 실행 장치.
  12. 제 11 항에 있어서,
    상기 전송된 잡들이 성공적으로 수행되는지 모니터링하는 잡 모니터를 더 포함하고,
    상기 잡 스케쥴러는, 상기 전송된 잡들이 성공적으로 수행된 경우, 상기 워크플로우 모델에 포함된 나머지 잡들 중 실행 가능한 잡들을 이용하여 상기 큐를 갱신하는
    워크플로우 모델 실행 장치.
  13. UML을 이용한 워크플로우 모델링 수행이 요청되는 경우 두 개의 파티션으로 이루어지는 테이블을 생성하는 단계;
    상기 파티션 중 어느 하나의 파티션 값으로서 데이터 프로세싱 엔진명을 입력받고, 나머지 하나의 파티션 값으로서 데이터 스토리지 엔진명을 입력받는 단계;
    상기 워크플로우의 시작 노드, 종료 노드, 액션 노드 및 흐름 제어 노드 중 적어도 하나의 노드를 입력받는 단계;
    상기 워크플로우에 포함된 잡의 실행에 필요한 자원 정보와, 각 잡의 실행 순서를 입력받는 단계; 및
    상기 입력된 정보들을 기반으로 OMG XMI 파일 포맷을 따르는 워크플로우 모델을 생성하는 단계
    를 포함하는 워크플로우 모델 생성 방법.
KR1020150082719A 2015-06-11 2015-06-11 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치 KR102071335B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150082719A KR102071335B1 (ko) 2015-06-11 2015-06-11 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치
US14/954,080 US9798523B2 (en) 2015-06-11 2015-11-30 Method for generating workflow model and method and apparatus for executing workflow model

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150082719A KR102071335B1 (ko) 2015-06-11 2015-06-11 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치

Publications (2)

Publication Number Publication Date
KR20160146088A true KR20160146088A (ko) 2016-12-21
KR102071335B1 KR102071335B1 (ko) 2020-03-02

Family

ID=57516766

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150082719A KR102071335B1 (ko) 2015-06-11 2015-06-11 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치

Country Status (2)

Country Link
US (1) US9798523B2 (ko)
KR (1) KR102071335B1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210044688A (ko) * 2019-10-15 2021-04-23 유아이패스, 인크. 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성
US11036539B2 (en) 2017-10-18 2021-06-15 Electronics And Telecommunications Research Institute Workflow engine framework
US11153388B2 (en) 2019-11-12 2021-10-19 Electronics And Telecommunications Research Institute Workflow engine framework for cross-domain extension
KR20220070848A (ko) * 2020-11-23 2022-05-31 주식회사 피씨엔 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9852390B2 (en) * 2014-06-05 2017-12-26 General Electric Company Methods and systems for intelligent evolutionary optimization of workflows using big data infrastructure
CN107533453B (zh) * 2015-03-06 2021-06-01 思科技术公司 用于生成数据可视化应用的系统和方法
US10528327B2 (en) * 2015-11-23 2020-01-07 Microsoft Technology Licensing Llc Workflow development system with ease-of-use features
US20180143951A1 (en) * 2016-11-21 2018-05-24 Kong Ping Oh Automatic creation of hierarchical diagrams
CN106909420B (zh) * 2017-02-16 2020-04-03 杭州迪普科技股份有限公司 一种文件导入方法及装置
KR102551277B1 (ko) 2017-12-13 2023-07-04 한국전자통신연구원 병합 조인 시스템 및 병합 조인 방법
EP3746884A4 (en) * 2018-01-29 2021-11-03 Rubikloud Technologies Inc. PROCESS AND SYSTEM FOR GENERATING A FLEXIBLE PIPELINE ARCHITECTURE
US11429622B2 (en) 2018-07-02 2022-08-30 Electronics And Telecommunications Research Institute Method of supporting big data analysis based on provenance information and apparatuses performing the same
JP7314491B2 (ja) * 2018-09-26 2023-07-26 株式会社リコー 情報処理システム、サービス提供システム、フロー設定方法
CN110209646A (zh) * 2019-05-14 2019-09-06 汇通达网络股份有限公司 一种基于实时流式计算的数据平台系统
US11593709B2 (en) * 2019-10-15 2023-02-28 UiPath, Inc. Inserting and/or replacing machine learning models in a pipeline for robotic process automation workflows
CN111427785B (zh) * 2020-03-24 2023-08-18 北京金山云网络技术有限公司 形式化任务验证方法、装置、电子设备和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128658A (ja) * 2003-10-21 2005-05-19 Fuji Electric Holdings Co Ltd 業務/生産プロセス構築・実行支援装置、業務/生産プロセス支援方法、プログラム
JP2006285313A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 業務プロセスモデル作成支援システムおよびプログラム,ならびに業務プロセスモデル作成処理方法
KR20080071398A (ko) * 2007-01-30 2008-08-04 삼성전자주식회사 Uml 모델, 소스 코드, 및 uml 설계 기준의 비교 장치및 방법
KR20100092264A (ko) * 2009-02-12 2010-08-20 한국기계연구원 그리드 기반의 분산 엔지니어링 자원과 컴퓨팅 자원을 통합하고 실행하기 위한 엔지니어링 프레임워크 시스템 및 이를 이용한 엔지니어링 프로세싱 방법

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038393A (en) * 1997-09-22 2000-03-14 Unisys Corp. Software development tool to accept object modeling data from a wide variety of other vendors and filter the format into a format that is able to be stored in OMG compliant UML representation
US6167564A (en) * 1998-09-17 2000-12-26 Unisys Corp. Software system development framework
US6442748B1 (en) * 1999-08-31 2002-08-27 Accenture Llp System, method and article of manufacture for a persistent state and persistent object separator in an information services patterns environment
US7546577B2 (en) * 1999-12-06 2009-06-09 Axiomatic Design Software, Inc. Method and apparatus for producing software
US20060064666A1 (en) * 2001-05-25 2006-03-23 Amaru Ruth M Business rules for configurable metamodels and enterprise impact analysis
US7272816B2 (en) * 2002-07-31 2007-09-18 Sap Aktiengesellschaft Transformations between private and shared workflows
US20040133445A1 (en) * 2002-10-29 2004-07-08 Marathon Ashland Petroleum L.L.C. Generic framework for applying object-oriented models to multi-tiered enterprise applications
US7966254B2 (en) * 2003-01-29 2011-06-21 Bank Of America Corporation Method and system for credit decisioning using activity based costing and compartmental modeling
US20040216087A1 (en) * 2003-04-22 2004-10-28 Wilson Kirk D. System and method for integrating object-oriented models and object-oriented programming languages
WO2007134265A2 (en) * 2006-05-12 2007-11-22 Captaris, Inc. Workflow data binding
EP1965300A1 (en) * 2007-03-02 2008-09-03 Siemens Aktiengesellschaft A method for validating a graphical workflow translation
JP5102067B2 (ja) * 2008-02-27 2012-12-19 株式会社リコー 情報処理装置、情報処理方法、プログラムおよび記録媒体
US8478715B2 (en) * 2008-05-16 2013-07-02 Microsoft Corporation Extending OLAP navigation employing analytic workflows
US8418126B2 (en) * 2008-07-23 2013-04-09 International Business Machines Corporation Software factory semantic reconciliation of data models for work packets
EP2207104A3 (en) * 2009-01-06 2010-11-17 Telefonaktiebolaget L M Ericsson (PUBL) System and method for transforming a UML model into an OWL representation
US8949772B1 (en) * 2009-06-01 2015-02-03 Amazon Technologies, Inc. Dynamic model based software application development
US9164738B2 (en) * 2009-07-01 2015-10-20 International Business Machines Corporation Database mapping of models for reporting tools in model driven development
KR20110066520A (ko) 2009-12-11 2011-06-17 한국전자통신연구원 SaaS 환경에서의 워크플로우 맞춤화 방법
KR20120067889A (ko) 2010-12-16 2012-06-26 한국전자통신연구원 멀티 테넌트를 지원하는 워크플로우 처리 시스템 및 그 방법
US20130166591A1 (en) * 2011-11-09 2013-06-27 Styloot Inc. Systems and Methods for Searching for Items of Fashion and other Items of Creation
US20130304431A1 (en) * 2012-05-10 2013-11-14 International Business Machines Corporation Automatically asessing maturity of custom application for standard-governed computing environment
JP6094152B2 (ja) * 2012-11-08 2017-03-15 株式会社リコー 情報処理装置、情報処理システム、情報処理方法、及びプログラム
EP3049920A1 (de) * 2013-09-27 2016-08-03 Rudolf Markus Petri Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung
CN103761111A (zh) 2014-02-19 2014-04-30 中国科学院软件研究所 一种基于bpel语言构建数据密集型工作流引擎的方法及其系统
US9436507B2 (en) * 2014-07-12 2016-09-06 Microsoft Technology Licensing, Llc Composing and executing workflows made up of functional pluggable building blocks

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005128658A (ja) * 2003-10-21 2005-05-19 Fuji Electric Holdings Co Ltd 業務/生産プロセス構築・実行支援装置、業務/生産プロセス支援方法、プログラム
JP2006285313A (ja) * 2005-03-31 2006-10-19 Fujitsu Ltd 業務プロセスモデル作成支援システムおよびプログラム,ならびに業務プロセスモデル作成処理方法
KR20080071398A (ko) * 2007-01-30 2008-08-04 삼성전자주식회사 Uml 모델, 소스 코드, 및 uml 설계 기준의 비교 장치및 방법
KR20100092264A (ko) * 2009-02-12 2010-08-20 한국기계연구원 그리드 기반의 분산 엔지니어링 자원과 컴퓨팅 자원을 통합하고 실행하기 위한 엔지니어링 프레임워크 시스템 및 이를 이용한 엔지니어링 프로세싱 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11036539B2 (en) 2017-10-18 2021-06-15 Electronics And Telecommunications Research Institute Workflow engine framework
KR20210044688A (ko) * 2019-10-15 2021-04-23 유아이패스, 인크. 인공 지능(ai)을 사용한 미디어 대 워크플로우 생성
US11372380B2 (en) 2019-10-15 2022-06-28 UiPath, Inc. Media-to-workflow generation using artificial intelligence (AI)
US11153388B2 (en) 2019-11-12 2021-10-19 Electronics And Telecommunications Research Institute Workflow engine framework for cross-domain extension
KR20220070848A (ko) * 2020-11-23 2022-05-31 주식회사 피씨엔 빅데이터 크로스 모델 데이터 통합 처리 방법 및 장치

Also Published As

Publication number Publication date
US20160364211A1 (en) 2016-12-15
US9798523B2 (en) 2017-10-24
KR102071335B1 (ko) 2020-03-02

Similar Documents

Publication Publication Date Title
KR102071335B1 (ko) 워크플로우 모델 생성 방법과 워크플로우 모델 실행 방법 및 장치
US10353913B2 (en) Automating extract, transform, and load job testing
US10623269B2 (en) Operator fusion management in a stream computing environment
US10452407B2 (en) Adapter configuration
WO2019072110A1 (zh) 应用程序的生成方法、装置、系统、设备和介质
US8869111B2 (en) Method and system for generating test cases for a software application
CN108280023B (zh) 任务执行方法、装置和服务器
CN106557470B (zh) 数据提取方法和装置
US20140089929A1 (en) Dynamic stream processing within an operator graph
Brogi et al. Modelling and analysing cloud application management
US9619518B2 (en) Tracking tuples to reduce redundancy in a graph
CN105592130B (zh) 一种服务部署方法、服务管理方法及装置
CN113378007B (zh) 数据回溯方法及装置、计算机可读存储介质、电子设备
US20220201099A1 (en) Aspect aware streams computing
CN112395339A (zh) 系统间数据准入校验方法、装置、计算机设备和存储介质
CN113626062A (zh) 可信的应用集成
WO2015173706A1 (en) Generating consistent system configuration by model weaving
CN117172206B (zh) 测试用例生成方法、装置、电子设备及存储介质
US9870257B1 (en) Automation optimization in a command line interface
US11797293B2 (en) Relationship-apparent application artifact registration
WO2024109882A1 (zh) 一种数据处理方法、装置及设备
Lebesbye Boreas–Reducing Resource Usage Through Optimized Kubernetes Scheduling
BERTOLOTTI Using symbolic execution to improve the runtime management of spark applications
Gianni et al. Model-driven performance prediction of HLA-based distributed simulation systems
CN113900742A (zh) 应用实例的管理方法、装置、电子设备及存储介质

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant