Translations of this page:

BAB Documentation

웹서비스 환경 설치

서비스 링크

개발환경 링크

  1. PHP Runtime : PHP 5.2.12
  2. PHP Framework : Yii 1.1.15
  3. PHP IDE : Notepad++ 6.6.3

제작환경 링크

  1. Operating System : Windows Server 2008 R2
  2. HTTP Web Server : IIS 7

작업관리자

개발환경 링크

  1. Java Runtime : JDK 1.7.0_55
  2. Java to JSON Library : Google GSON 2.2.4
  3. Java IDE : Eclipse JDT Helios SR2 (3.6.1)

제작환경 링크

  1. Operating System : CentOS 6.5
  2. Big Data Platform : Cloudera CDH 5.0.2
  • Distributed File System : Hadoop 2.5.0
  • Cluster Computing : Spark 1.2

웹서비스 API

Repository API

1. 작업환경 생성

데이터 저장공간을 위해 새로운 작업환경을 생성합니다.

a. 설명

작업환경은 이벤트로그를 저장하고 데이터 구조와 형태를 만들기 전에 생성되어야만 합니다. 해당 API는 두 가지 요구사항을 필요로 합니다 :

  1. 샘플 이벤트 로그를 업로드 하세요
  2. 데이터 구조 스키마를 등록하세요

b. 참조

  • -

c. 요청 및 응답

c.1. 샘플 이벤트 로그를 업로드하세요
POST /api/repository/workspace 
{
	"file": "[@SampleEventLogFile]"
}
이름 종류 설명 요구사항
File File 저장된 데이터를 구조화하기 위한 예시 이벤트 로그

해당 부분은 데이터 구조스키마를 위해 작업환경후보ID를 불러옵니다 :

{ 
	"workspaceId": "[workspaceId]",
	"fields": {
		"[fieldName]":"[mappingRecommendation]"
	}
}
이름 종류 설명 요구사항
workspaceId string 데이터구조 스키마를 위한 새로운 작업환경후보 ID
fields String[string] 이벤트로그 관련 필드 이름과 로그구조화 시 권고사항 목록: - 키: 필드명 - 값 : 구조 스키마 - event.caseId - event.activity - event.type - event.timestamp.start:[format] - event.timestamp.complete:[format] - event.originator - event.resource
c.2. 데이터 구조 스키마 등록
POST /api/repository/workspace/map/[workspaceId]
{
	"name": "[Workspace Name]",
	"description": "[Workspace Description]",
	"map": {
		"ProcessInstance.Id": "event.caseId",
		"AuditTrailEntry.WorkflowModelElement": "event.activity",
		"AuditTrailEntry.Type": "event.type",
		"AuditTrailEntry.Timestamp": "event.timestamp.complete:YYYY-MM-DD",
		"AuditTrailEntry.Originator": "event.originator",
		"AuditTrailEntry.Resource": "event.resource"
	},
}
이름 종류 설명 요구사항
name String 작업환경 이름
description String 작업환경 설명 부가사항
map String[string] 이벤트 로그를 위한 필드 구조화 : * 키 :필드명 * 값 : 구조 스키마: - event.caseId - event.activity - event.type - event.timestamp.start:[format] - event.timestamp.complete:[format] - event.originator - event.resource

해당부분은 설정된 작업환경의 ID와 속성을 불러옵니다. :

{ 
	"workspaceId": "[workspaceId]",
	"name": "[name]",
	"description: "[description]",
	"fields": {
		"[fieldName]":"[mappingScheme]"
	}
}
이름 종류 설명 요구사항
workspaceId String New candidate workspace Id for data mapping scheme 데이터 구조 스키마를 위한 새로운 작업환경 ID 후보
name String 작업환경이름
description String 작업환경 설명 부가사항
fields String[string] 이벤트로그 관련 필드 이름과 로그구조화 시 권고사항 목록: * 키 :필드명 * 값 : 구조 스키마: - event.caseId - event.activity - event.type - event.timestamp.start:[format] - event.timestamp.complete:[format] - event.originator - event.resource

d. 예외사항

이름 종류
UnsupportedFileFormat파일 형식이 지원되지 않습니다. 지원되는 형식은 다음과 같습니다. : .MXML, .MXML.GZ, .CSV, .XLS, .XLSX, .XES

2. 작업환경 목록

a. 설명

Get workspace list for selected users 선택된 사용자를 위해 작업환경목록을 가져옵니다.

b. 참조

  • -

c. 요청

GET /api/repository/workspace/[userId]
이름 종류 설명 요구사항
userId String 사용자ID

d. 응답

{ 
	"userId": "[userId]",
	"workspaces": {
		"[workspaceId]": {
			"workspaceId": "[workspaceId]",
			"name": "[name]",
			"description: "[description]",
			"fields": {
				"[fieldName]":"[mappingScheme]"
			},
			"noOfRepositories": [repositoryCount]
		}
	}
}
이름 종류 설명 요구사항
userId String 사용자ID
workspaces String 선택된 사용자를 위한 작업환경 목록
workspaceId String 데이터 구조 스키마를 위한 새로운 작업환경ID후보
name String 작업환경 이름
description String 작업환경설명 부가사항
fields String[String] 이벤트로그 관련 필드 이름과 로그구조화 시 권고사항 목록: * 키 :필드명 * 값 : 구조 스키마: - event.caseId - event.activity - event.type - event.timestamp.start:[format] - event.timestamp.complete:[format] - event.originator - event.resource

e. 예외

예외 설명

3. 이벤트 보관함 불러오기

a. 설명

새로운 이벤트 로그를 사용자 작업환경으로 불러옵니다. 이 때, 새로운 이벤트 로그는 반드시 작업환경과 같은 구조 스키마를 갖고 있어야 합니다.

b. 참조

  • -

c. 요청

POST /api/repository/workspace/import/[workspaceId]
{
	"file": "[@SampleEventLogFile]"
}
이름 종류 설명 요구사항
file File 이벤트 보관함 데이터 구조화를 위한 예시 이벤트. 같은 작업환경에 저장된 다른 이벤트 로그는 같은 데이터 구조 스키마를 가지고 있어야 합니다.

d. 응답

{ 
	
}
이름 종류 설명 요구사항

e.예외사항

예외 사항 설명
UnsupportedFileFormat 파일 형식이 지원되지 않습니다. 지원되는 형식은 다음과 같습니다. : .MXML, .MXML.GZ, .CSV, .XLS, .XLSX, .XES

4. 보관함 목록

a. 설명

선택된 작업환경을 위해 이벤트 보관함 리스트를 얻습니다.

b. 참조

  • -

c. 요청

 GET /api/repository/workspace/[workspaceId]
이름 종류 설명 요구사항
userId String 사용자ID

d. 응답

{ 
	"workspaceId": "[workspaceId]",
	"repositories": {
		"[repositoryId]": {
			"repositoryId": "[repositoryId]",
		}
	}
}
이름 종류 설명 요구사항
workspaceId String 작업환경ID
repositoryId String 보관함ID

e. 예외사항

예외 설명

5. 보관함 통계자료

a. 설명

이벤트 보관함에 관련한 간단한 통계치를 얻습니다.

b. 참조

  • -

c. 요청

POST /api/repository/view/[repositoryId]
{
	"file": "[@SampleEventLogFile]"
}
이름 종류 설명 요구사항
repositoryId String 보관함ID

d. 응답

{ 
	"id": "[repositoryId]",
	"originalName": "[originalName]",
	"createdDate": [createdDate],
	"noOfCases": [noOfCases],
	"noOfEvents": [noOfEvents],
	"noOfActivities": [noOfActivities],
	"noOfActivityTypes": [noOfActivityTypes],
	"noOfOriginators": [noOfOriginators],
	"noOfAttributes": [noOfAttributes],
	"cases": {
		"[caseId]": [noOfEvents]
	}
	"activities": {
		"[activity]": [noOfOccurrences]
	},
	"activityTypes": {
		"[activityType]": [noOfOccurrences]
	},
	"originators": {
		"[originator]": [noOfOccurrences]
	},
	"attributes": [
		"[attribute]": [noOfStates]
	]
}
이름 종류 설명 요구사항
id String 보관함 ID
originalName String 보관함의 기존 파일 이름과 업로드 시간
createdDate String 생산된 데이터나 시스템 상 작업중인 날짜
noOfCases String 해당없음
noOfEvents String 해당없음
noOfActivities String 해당없음
noOfActivityTypes String 해당없음
noOfOriginators String 해당없음
noOfAttributes String 해당없음
caseId String Case ID
noOfEvents String 해당없음 Yes
activity String Activity 표시
activityType String Activity type 표시
originator String Originator type 표시
attribute String 다른 이벤트 속성 표시 부가사항
noOfOccurrences String 해당없음
noOfStates String 해당없음

e. 예외

예외 설명
UnsupportedFileFormat 파일 형식이 지원되지 않습니다. 지원되는 형식은 다음과 같습니다. : .MXML, .MXML.GZ, .CSV, .XLS, .XLSX, .XES

6. 보관함 요약

a. 설명

새로운 이벤트 로그를 사용자 작업환경으로 불러옵니다. 이 때, 새로운 이벤트 로그는 반드시 작업환경과 같은 구조 스키마를 갖고 있어야 합니다.

b. 참조

  • -

c. 요청

POST /api/repository/workspace/import/[workspaceId]
{
	"file": "[@SampleEventLogFile]"
}
이름 종류 설명 요구사항
file File 보관함 ID

d. 응답

 
이름 종류 설명 요구사항

e. 예외사항

예외사항 설명

모델링 API

1. 휴리스틱 모델

a. 설명

휴리스틱 마이너는 이벤트의 빈도와 의존도에 따라 프로세스 모델을 발견하는 알고리즘 입니다.

b. 참조

c. 요청

 POST /api/model/heuristic/[repository.id] {
	"threshold": {
		"relativeToBest": 0.05,
		"l1Loop": 0.9,
		"l2Loop": 0.9,
		"longDistance": 0.9,
		"and": 0.1,
	},
	"positiveObservation": 10,
	"dependencyDivisor": 1,
	"option": {
		"extra": false,
		"allConnected": false,
		"longDistance": false,
	}
}
이름 종류 설명 요구사항
threshold[relativeToBest] Double 휴리스틱 기준치
threshold[l1Loop] Double 휴리스틱 기준치
threshold[l2Loop] Double 휴리스틱 기준치
threshold[longDistance] Double 휴리스틱 기준치
threshold[and] Double 휴리스틱 기준치
positiveObservation Double 이벤트나 관계를 면밀히 감시하고, 해당 기준치 미만의 이벤트는 제거됩니다
dependencyDivisor String 종속행렬을 위한 종속 나눗수
option[allConnected] String 연결된 모든 휴리스틱을 사용
option[longDistance] String 장거리 휴리스틱을 사용

d. 응답

{
	"arcs": [
		"ActA|ActB": {
			"source": "ActA",
			"target": "ActB";
                        "duration": {
				"total": 10000000,
				"min": 1000,
				"max": 100000,
				"mean": 1000,
				"median": 1000
			},			
                        "frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": 5,
				"maxRepetition": 2
			}			
		}
	],
         "nodes": [
		"ActA": {
			"label": "ActA",
			"duration": {
				"total": 10000000,
				"min": 1000,
				"max": 100000,
				"mean": 1000,
				"median": 1000
			},			
			"frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": {
					"include": 10,
					"asStartEvent": 2,
					"asEndEvent": 0,
				},
				"maxRepetition": 2
			}			
		}
	]	
}
이름 종류 설명 요구사항
arcs[ActA|ActB][source] String 원천 노드 표시
arcs[ActA|ActB][target] String 목적 노드 표시
arcs[ActA|ActB][dependency] Double 해당 곡선의 종속값
arcs[ActA|ActB][duration] Double 곡선의 속성과 관련된 시간을 포함합니다. : * total * min * max * mean * median
arcs[ActA|ActB][frequency] Double 노드의 빈도 속성을 포함합니다 : * absolute : 절대적 빈도 입니다 * relative : ,상대적 빈도 입니다 * cases : 케이스 수를 포함하며,(cases[include]) 이 노드의 숫자는 시작 이벤트 와(cases[asStartEvent]) 마지막 이벤트 의(cases[asEndEvent]) </li> <li>maxRepetition : 최대 빈도수의 값입니다.
nodes[ActA][label] String 노드이름
nodes[ActA][duration] Integer 노드의 속성과 관련된 시간을 포함합니다 : * total * min * max * mean * median
arcs[ActA|ActB][frequency] Double 노드의 빈도 속성을 포함합니다 : * absolute : 절대적 빈도 입니다 * relative : ,상대적 빈도 입니다 * cases : 케이스 수를 포함하며,(cases[include]) 이 노드의 숫자는 시작 이벤트 와(cases[asStartEvent]) 마지막 이벤트 의(cases[asEndEvent]) </li> <li>maxRepetition : 최대 빈도수의 값입니다.

e. 예외사항

예외사항 설명

2. 퍼지 모델

a. 설명

퍼지마이너는 프로세스 모델을 노드와 호의 중요성에 따라 분석하는 방법입니다.

b. 요청

POST /api/model/fuzzy/[repository.id] {
	"edge": {
		"cutoff": 0.5,
		"utility": 0.5,
		"transformer": ,
		"ignoreSelfLoop": false,
		"inAbsolute": false

	},
	"node": {
		"cutoff": 0.5
	},
	"concurrency": {
		"perserve": 0.5,
		"ratio": 0.5
	}

}
이름 종류 설명 요구사항
edge[cutoff] Double 모서리 (호) 제한선
edge[utility] Double 휴리스틱 한계점
edge[transformer] String 휴리스틱 한계점
edge[ignoreSelfLoop] Boolean 휴리스틱 한계점
edge[inAbsolute] Boolean 휴리스틱 한계점
node[cutoff] Double 이벤트나 관계를 면밀히 감시하고, 해당 기준치 미만의 이벤트는 제거됩니다.
concurrency[perserve] String 종속 행렬의 종속 나눗수
concurrency[ratio] String 연결된 모든 휴리스틱 사용

c.응답

{
	"arcs": [
		"ActA|ActB": {
			"source": "ActA",
			"target": "ActB",
			"significance": 0.05,
                        "duration": {
				"total": 10000000,
				"min": 1000,
				"max": 100000,
				"mean": 1000,
				"median": 1000
			},			
                        "frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": 5,
				"maxRepetition": 2
			}			
		}
	],
         "nodes": [
		"ActA": {
			"label": "ActA",
			"significance": 0.05,
			"duration": {
				"total": 10000000,
				"min": 1000,
				"max": 100000,
				"mean": 1000,
				"median": 1000
			},			
			"frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": {
					"include": 10,
					"asStartEvent": 2,
					"asEndEvent": 0,
				},
				"maxRepetition": 2
			}			
		}
	]	
}
이름 종류 설명 요구사항
arcs[ActA|ActB][source] String 원천노드 표시
arcs[ActA|ActB][target] String 목적노드 표시
arcs[ActA|ActB][significance] Double Significance value for this arc 해당 호의 유의성
arcs[ActA|ActB][duration] Double 호의 속성과 관련된 시간을 포함: * total * min * max * mean * median
arcs[ActA|ActB][frequency] Double 노드빈도의 속성을 포함: * absolute : 절대적 빈도 입니다 * relative : ,상대적 빈도 입니다 * cases : 케이스 수를 포함하며,(cases[include]) 이 노드의 숫자는 시작 이벤트 와(cases[asStartEvent]) 마지막 이벤트 의(cases[asEndEvent]) </li> <li>maxRepetition : 최대 빈도수의 값입니다.
nodes[ActA][label] String 노드이름
nodes[ActA][duration] Integer 호의 속성과 관련된 시간을 포함: * total * min * max * mean * median
arcs[ActA|ActB][frequency] Double 노드빈도의 속성을 포함: * absolute : 절대적 빈도 입니다. * relative : ,상대적 빈도 입니다. * cases : 케이스 수를 포함하며,(cases[include]) 이 노드의 숫자는 시작 이벤트 와(cases[asStartEvent]) 마지막 이벤트의(cases[asEndEvent]) </li> <li>maxRepetition : 최대 빈도수의 값입니다.

d. 예외사항

예외사항 설명

3.근접 모델

a. 설명

근접 점수를 최대화시켜 프로세스 모델을 발견하는 알고리즘 입니다.

b. 요청

 
이름 종류 설명 요구사항

c. 응답

 
이름 종류 설명 요구사항

d. 예외사항

예외사항 설명

4. 로그 리플레이

a. 설명

프로세스 모델 위 인스턴스의 흐름을 볼 수 있습니다.

b. 요청

POST /api/model/logreplay/[repository.id] {
	"limit": 1000
}
이름 종류 설명 요구사항
limit Integer 각 부문별 프로세스 인스턴스 크기 제한

c. 응답

{
	"casesNumber": 1000,
	"eventsNumber": 1000,
	"offset": 1000,
	"startTime": 1427714674884,
	"endTime": 1427714691918,
	"duration": 17034,
	"eventPartitions": [
		"partition1":{
			"part": 1,
			"url": "@path",
			"start": 1427714674884,
			"complete":  1427714691918,
		}
	],	
	"eventCount": {
		"[Tick]": "[numberOfCases]"
	}
}
이름 종류 설명 요구사항
casesNumber Integer 보관함에 들어있는 프로세스 인스턴스의 수
eventsNumber Integer 이벤트 보관함에 들어있는 이벤트의 수
offset Integer -
startTime Long 이벤트 보관함의 시작 시간
endTime Long 이벤트 보관함의 완료 시간
duration Long 이벤트 보관함의 전체 기간
eventPartitions[partition1][part] Integer 파트 갯수 / 부문 갯수
eventPartitions[partition1][url] String 해당 부문의 URL
eventPartitions[partition1][start] Long 해당 부문의 시작시간
eventPartitions[partition1][complete] Long 해당 부문의 완료시간
eventCount Integer 각 틱의 횟수별 이벤트 목록 : - 키 : 틱 지점 - 값 : 틱 지점 이벤트 발생 횟수

d. 예외사항

예외사항 설명

5. k-근접이웃기법

a. 설명

K-근접이웃 기법은 관찰치 특성을 기준으로 훈련 샘플 중에서 가장 가까운 관찰치들을 분류하는 방법입니다.

b. 요청

POST /api/model/kmeans/[repository.id] {
	"profiles": {
		"[profileKey]": "[profileValue]"
	},
	"distance": "euclidean",
	"preprocessing": {
		"tfidf": false,
		"algorithm": "kmeans",
		"dim": 0
	},
	"kmeans": {
		"noOfClusters": 3,
		"noOfRuns": 10,
		"randomSeed": 1000,
	}

}
이름 종류 설명 요구사항
profilesString[String]설정개요 목록: - 키 : 개요 키 - 값 : 개요 값
distanceString거리척도
preprocessing[tfidf]Boolean기간 빈도-역 문서빈도 (Term frequency–inverse document frequency) 가능
preprocessing[algorithm]String 프로세스 인스턴스를 군집화 하는 알고리즘
preprocessing[dim]Integer-
kmeans[noOfClusters]Integer군집 크기
kmeans[noOfRuns]Integer반복횟수
kmeans[randomSeed]Integer-

c. 응답

{
	"clusters": [
		"Clusters1": {
			"cases": ["case1"],
			"center": "case1"
		}
	]	
}
이름 종류 설명 요구사항
clusters[“Clusters1”][cases]String군집 내 케이스 목록
clusters[“Clusters1”][center]String군집의 중심

d. 예외사항

예외사항 설명

분석 API

1. 연관규칙

a. 설명

연관규칙은 프로세스 인스턴스 상 빈도 패턴의 변화에 기초하여 규칙을 발견합니다.

b. 요청

POST /api/analysis/associationrule/[repository.id] {
	"algorithm": "apriori",
	"profiles": {
		"[profile]"
	},
	"noOfRules": 10,
	"threshold": {
		"support": {
			"min": 0.1;
			"max": 1.0;
		},
		"confidence": {
			"min": 0.1;
			"max": 1.0;
		}
	}

}
이름 종류 설명 요구사항
algorithm String 연관규칙을 수행하기 위한 알고리즘 종류
profiles [String] 개요 목록
noOfRules Integer 규칙의 갯수
threshold[support][max] Double 최대 서포트 한계
threshold[support][min] Double 최소 서포트 한계
threshold[confidence][max] Double 최대 신뢰성 한계
threshold[confidence][min] Double 최소 신뢰성 한계

c. 응답

{
	"associationRules":{
		"[rule]":"[confidence]"
	}
}
이름 종류 설명 요구사항
associationRulesString[Double]규칙의 목록과 신뢰도 : * 키 : 규칙 * 값 : 신뢰도 Yes

d. 예외사항

예외사항 설명

2. 베이지안 네트워크 모델

a. 설명

종속 그래프를 분해하여 해당 상태를 추론하기 위해 베이지안 네트워크를 사용합니다.

b. 요청

POST /api/analysis/bayesian/[repository.id] {
	"events": {
		"[nodename]":{
			"[stateKey]":"[stateValue]"
		}
	},
	"selectedEvents": {
		"[nodename]":{
			"[stateKey]":"[stateValue]"
		}
	},
	"observedNodes":{
		"[nodename]":"[stateValue]"
	},
	"inferredNodes":{
		"[nodename]":"[stateValue]"
	},
	"nodes":[
		"nodeA":{
			"label":"nodeA",
			"[posteriorProbability]": "[probability]"
		}
	],
	"arcs":[
		"nodeA|nodeB":{
			"source":"nodeA",
			"target":"nodeB"
		}
	],
	"confidence": 0.9,
	"threshold": 1
}
이름 종류 설명 요구사항
events String[String][String] 이벤트의 목록과 상태키 와 상태 값: *상태 키: 차원 키*상태 값: 차원 값
selectedEvents String[String][String] 이벤트의 목록과 상태키 와 상태 값: *상태 키: 차원 키*상태 값: 차원 값 부가사항
observedNodes String[String] 이벤트 목록과 관찰된 노드의 상태 값: * 노드 이름:노드 표시 *상태 값: 차원 값 부가사항
inferredNodes String 이벤트 목록과 관찰된 노드의 상태 값: * 노드 이름:노드 표시 *상태 값: 차원 값 부가사항
nodes[nodeA][posteriorProbability] String[String] 이벤트 목록과 사후확률: * 사후확률: 차원 값 *확률: 확률 값 부가사항
arcs[nodeA|nodeB][source] String 원천노드 표시 부가사항
arcs[nodeA|nodeB][target] String 목적노드 표시 부가사항
confidence String 신뢰 한계 값
threshold String 최소 한계 지연 값

c. 응답

{
	"events": {
		"[nodename]":{
			"[stateKey]":"[stateValue]"
		}
	},
	"selectedEvents": {
		"[nodename]":{
			"[stateKey]":"[stateValue]"
		}
	},
	"observedNodes":{
		"[nodename]":"[stateValue]"
	},
	"inferredNodes":{
		"[nodename]":"[stateValue]"
	},
	"nodes":[
		"nodeA":{
			"label":"nodeA",
			"[posteriorProbability]": "[probability]"
		}
	],
	"arcs":[
		"nodeA|nodeB":{
			"source":"nodeA",
			"target":"nodeB"
		}
	],
	"confidence": 0.9,
	"threshold": 1
}
이름 종류 설명 요구사항
events String[String][String] 이벤트의 목록과 상태키 와 상태 값: *상태 키: 차원 키*상태 값: 차원 값
selectedEvents String[String][String] 이벤트의 목록과 상태키 와 상태 값: *상태 키: 차원 키*상태 값: 차원 값 부가사항
observedNodes String[String] 이벤트 목록과 관찰된 노드의 상태 값: * 노드 이름:노드 표시 *상태 값: 차원 값 부가사항
inferredNodes String[String] 이벤트 목록과 관찰된 노드의 상태 값: * 노드 이름:노드 표시 *상태 값: 차원 값 부가사항
nodes[nodeA][label] String 노드 표시
nodes[nodeA][posteriorProbability] String[String] 이벤트 목록과 사후확률: *사후확률: 차원 값 *확률: 확률 값
arcs[nodeA|nodeB][source] String 원천노드 표시
arcs[nodeA|nodeB][target] String 목적노드 표시
confidence String 신뢰한계 값
threshold String 최소한계 지연 값

d. 예외사항

예외사항 설명

3. 소셜 네트워크 모델

a. 설명

소셜 네트워크 그래프는 차원의 사회적 관계를 가시화 시켜 주요 차원 값을 발견합니다. .

b. 요청

POST /api/analysis/socialnetwork/[repository.id] {
	"dimension": "dimensionValue",
	"states": {
		"[stateKey]":"[stateValue]"
	},
	"method": {
		"algorithm": "workingTogether",
		"casuality": true,
		"distance": "euclidean",
		"multipleTransfer": true,
		"workingTogether": "simultaneousRatio",
		"DirectSubContract": {
				"beta": 0.05,
				"depth": 0
	}
}
이름 종류 설명 요구사항
dimension String 차원 입력(속성이나 발신원)
states String[String] 선택된 상태 목록: * 상태 키: 차원 키 *상태 값: 차원 값
method[algorithm] String 소셜네트워크를 사용하기 위한 알고리즘(청부 제도, 인도된 작업, 공동작업, 유사작업과 재할당
method[casuality] Boolean -
method[distance] String 거리측정
method[multipleTransfer] String -
method[workingTogether] String -
method[DirectSubContract][beta] Double -
method[DirectSubContract][depth] Integer -

c. 응답

{
	"arcs": [
		"stateA->stateB": {
			"source": "stateA",
			"target": "stateB",					
                        "frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": 5,
				"maxRepetition": 2
			}			
		}
	],
         "nodes": [
		"stateA": {
			"label": "stateA",						
			"frequency": {
				"absolute": 10,
				"relative": 0.1,
				"cases": 5,
				"maxRepetition": 2
			}			
		}
	],
         "stateKey": ["states"]
}
이름 종류 설명 요구사항
arcs[stateA→stateB][source] String 원천노드 표시
arcs[stateA→stateB][target] String 목적노드 표시
arcs[stateA→stateB][frequency] Double 노드 빈도 속성 포함: * absolute : 절대빈도 * relative : 상대 빈도 * cases : 케이스 수 포함* maxRepetition : 최대 대표 빈도
states String[String] 선택된 상태 목록: * 상태 키: 차원 키 *상태 값: 차원 값
node[label] String 노드 표시
node[frequency] Double 노드 빈도 속성 포함: * absolute : 절대빈도 * relative :상대빈도 * cases :케이스 수 포함 * maxRepetition : 최대 대표 빈도

d. 예외사항

예외사항 설명

4. 업무 행렬

a. 설명

업무 행렬은 보관함에 들어있는 독립체들을 교차 우도 값 테이블로 가시화 합니다.

b. 요청

POST /api/analysis/taskmatrix/[repository.id] {
	"row": "dimension",
	"column": "dimension",
	"unit": "frequency"
}
이름 종류 설명 요구사항
row String x축 차원 값
column String y축 차원 값
unit String X축과 Y축 교차값 유닛 계산

c. 응답

{
	"minFreq": "0",
	"maxFreq": "2",
	"avgFreq": "0.5",
	"nodes": {
		"1":[
			"name": "dimensionA",
			"group": 1
		]
	},
	"links": {
		"1|2":[
			"source": "1",
			"target": "2",
			"empty": false,
			"value": 0
		]
	}
}
이름 종류 설명 요구사항
minFreq String 최소빈도
maxFreq String 최대빈도
avgFreq Double 평균빈도
nodes[1][name] String 노드이름
nodes[1][group] Integer 노드그룹
links[1|2][source] String 원천 노드 연결
links[1|2][target] String 목적 노드 연결
links[1|2][empty] Boolean 값이 없을 시 빈 표시기 작동
links[1|2][value] Long 연결 값

d. 예외사항

예외사항 설명

5. 점 도표

a. 설명

점 도표는 간트 도표 상에 이벤트를 점으로 표시해 인스턴스의 실행을 분석합니다. 사용자는 Y축을 간단하게 다른 속성으로 바꿀 수 있습니다.

POST /api/analysis/dottedchart/[repository.id] {
	"dimension": {
		"component": "case"
	}
	"setting": {
		"eventTypeSet" : {
			"[eventType]"
		},
		"instanceSet" : {
			"[instance]"
		},
		"line": {
			"[string]":"[string]"
		}			
	}
}
이름 종류 설명 요구사항
dimension[component] String -
setting[eventTypeSet] [String] 이벤트 종류 묶음
setting[instanceSet] [String] 인스턴스 묶음
line String[String] 선 목록: * 키:스트링* 값:스트링

c. 응답

{
	"componentAnalysisMap": {
		"[dimension]":"[component]"
	}
}
이름 종류 설명 요구사항
minFreq String 최소빈도
maxFreq String 최대빈도
avgFreq Double 평균빈도
nodes[1][name] String 노드이름
nodes[1][group] Integer 노드그룹
links[1|2][source] String 원천노드 연결
links[1|2][target] String 목적노드 연결
links[1|2][empty] Boolean 값이 없을 시 빈 표시기 작동
links[1|2][value] Long 연결 값

d. 예외사항

예외사항 설명

6. 성능도표

a. 설명

성능도표는 선택된 차원의 성능을 2차원상 도표 상에서 보여줍니다.

b. 요청

POST /api/analysis/dottedchart/[repository.id] {
	"series": "Task",
	"y": "Sum",
	"z": "Weekly",
	"unit": "seconds",
	"calculation": "Working Time"
}
이름 종류 설명 요구사항
series String 연속값
y String y축 값
z String z 축 값 부가사항
unit String 유닛값
calculation String 계산 종류

c. 응답

{
	"matrix": {
		 1:[
			"label": "Task",
			"x": "Sum",
			"y": "Sum",
			"z": "Weekly",
			"pass": "seconds"
		]
	},
	"labels": {
		"[label]"
	}
}
이름 종류 설명 요구사항
matrix[1][label] String 이벤트표시
matrix[1][x] String x축 값
matrix[1][y] Double y 축 값
matrix[1][z] String z 축 값 부가사항
matrix[1][pass] String -
labels [String] 표시 목록

d. 예외사항

예외사항 설명

웹 서비스확장

서비스 사용

새로운 플러그-인을 서비스 게이트웨이(gateway)에 등록하기 위한 절차입니다.

  • 모델 클래스 상속을 생성합니다.IdServiceGatewayModel
    • 요청 유효 함수를 생성합니다.

모델에서 작업 관리자를 설정합니다.

관리 클레스 상속을 생성합니다.IdServiceGatewayController
* 수행 함수를 생성합니다.
  * 모델을 생성합니다.
  * 작업관리자를 부릅니다.

작업 관리자

Procedure to create job executor plug-in: 작업관리자 플러그 인을 생성하기 위한 절차입니다.

  • POJO 클레스 모델을 생성하면 GSON을 통해JSON으로 쉽게 표현할 수 있습니다.

* Implement your algorithm with output in form of model class 모델 클레스에서 도출된 결과를 가지고 당신의 알고리즘에서 실행하세요.

  • 클래스 실행을 생성하세요. IdJobExecutor

* jar 파일을 만드세요.