시간논리를 이용한 화학공장의 운전절차 합성 알고리즘

허보경, 황규석

부산대학교 화학공학과

Algorithm for Operating Procedure Synthesis of Chemical Plant

using Temporal Logic

Bo Kyeng Hou, Kyu Suk Hwang

Dept. of Chemical Eng., Pusan National Univ.

서론

경제성장과 더불어 화학 공장들이 점차 대형화되고 업종이 다양화 되어감에 따라 사고발생 빈도가 점차 증가하고 있으며, 사고에 따른 인명 및 재산피해도 점점 대형화되고 있는 추세에 있다. 국내의 석유화학공장에서 발생한 104건의 사고를 근거로 하여 사고 원인을 분석해 보면 운전 미숙(운전절차의 오류 및 불이행, 오조작 등)으로 인한 사고가 21%를 차지하고 있다.

따라서 화학공장의 자동화와 안전성 향상을 위해서는 공장의 개시, 정지, 비상사태, 보수유지 조업에 관한 운전절차를 합성하고 분석하는 작업이 필요하다. 공정의 초기 상태로부터 최종 목표상태를 만족시키기 위한 조작(operation)의 시퀀스(sequence)를 만들어 내는 운전절차 합성(Operating Procedure Synthesis, OPS) 시스템은, 오류가 없는 운전절차를 합성하는데 도움을 주며, 특정 공정에 대한 전문가들의 지식을 구조화, 문서화하여 보관하고 공유할 수 있다는 장점과 함께 운전자 교육용 시스템으로의 활용 뿐 아니라 공정의 이상상황에 유연하게 대처할 수 있는 시스템으로 발전할 수 있을 것으로 예상된다.

연구 목적

본 연구에서는 조작과 연관되어 있는 상황 의존적(context dependent) 정보를 자동 인식하기 위해 필요한 공정 지식의 분류와 공정의 기능적·구조적인 세분화 및 조작의 표현 방법을 개발하고자 한다. 또한 제한조건 전파(constraint propagation)를 이용한 공정상태의 변화 모사 방법 및 공정에 존재하는 제한조건을 시간논리(temporal logic)로 표현하여 조작 선택과 순서 결정의 지침(guideline)으로 삼는 방법을 제시하고자 한다. 즉 물질의 혼합, 접촉 등에 의한 위험을 규정한 전역적 제한조건(global constraint)과 장치의 운전 준비조건의 미비에 의한 위험을 규정한 지역적 제한조건(local constraint) 뿐 아니라 임의의 운전상황에만 적용되는 위험을 규정한 시간적 제한조건(temporal constraint)은 고려할 수 있는 방법을 개발하고자 한다.

시간논리를 이용한 제한조건의 표현

최초의 OPS 시스템(Rivas & Rudd, 1971)은 다음과 같은 다섯 가지 형태의 위험상황을 체크할 수 있었으나 그 이후에 개발된 시스템들은 모두 다 체크해 주지 못하였다. 즉 (1) 두 가지 이상 물질의 혼합, (2) 두 장치사이의 흐름, (3) 특정흐름의 차단(blocking), (4) 특정한 유출구에 닿는 특정 화합물의 유·무, (5) 특정 장치에 도착한 화학 물질 유·무 등에 의한 위험상황을 말한다. 또한 기존의 운전절차 합성 시스템은 전역적 제한조건과 지역적 제한조건은 이용하지만 임의의 시간간격 동안에 존재하는 시간적 제한조건을 표현하지 못하므로, Fig. 1과 같은 공정에서 A의 x리터와 B의 y리터가 될 때까지 C로 채우는(charging) 운전절차나 A, B가 C로 유입되는 동안에 C안의 A의 농도가 u와 w사이의 일정한 값을 유지하는데 필요한 운전절차를 합성할 수 없다.

Fig. 1. A process

연산자의 선택을 위한 효과적인 탐색은 제한조건, 경험적인 탐색 규칙, 그리고 사건(task)과 공정상태(process state)를 구성요소로 하는 운전상황의 인과관계와 시간적인 변화를 고려해야 가능하다. 시간적 제한조건을 이용한 탐색 제어는, 중간목표의 상태 정보를 이용하여 잘못된 연산자의 선택으로 인한 후진을 막아주지만, 사용자로 하여금 탐색 제어를 위한 공정 지식의 획득에 대한 부담을 준다.

Table 1. Meaning of temporal modality

Temporal Modality	Meaning
□f	f holds in the next world
□f	f holds in current world and in all future worlds
□f	f either holds now or in some future world
f1∪f2	Either now or in some future world f2 holds and until that world f1 holds

따라서 본 연구에서는 ∪(Until), □(Always), □(Eventually), □(Next)로 구성된 일차(first order) 선형 시간논리(Linear Temporal Logic, LTL)와 ´(All), ～(Some)과 같은 한정사(quantifier), 그리고 ∧(And), ∨(Or), □(Implies), ￢(Not)와 같은 논리 기호(logical symbol)를 이용하여 전역적·시간적 제한조건을 표현한다. LTL의 기본적인 작성 규칙과 그 의미는 table 1과 같다. 여기서, f, f1, f2는 formula다. 또한, □[x:□(x)]f □ □x.□(x) □ f 는 □(x)을 만족하는 모든 x가 참이면, f가 유지됨을 의미하고, □[x:□(x)]f □ □x.□(x)∧f 는 □(x)을 만족하는 어떤 x가 참이면, f가 유지됨을 의미한다.

LTL은 fig. 2와 같은 단축형(abbreviation)을 사용한다.

Fig. 2. The standard abbreviations

f1∨f2 □ ￢(￢f1∧￢f2)

f1□f2 □ ￢f1∨f2

□f □ true∪f

false∧f or f∧false □ false

true∧f or f∧true □ f

￢true ≡ false, ￢false □ true

□f □ ￢□￢f

Fig. 1과 같은 공정의 시간적 제한조건을 LTL로 나타내면 다음과 같다.

(1) A의 x리터와 B의 y리터가 될 때까지 C로 채운다(단 두 흐름은 독립적이다).

(Fill(A, C)∨Fill(B, C))∪(Level(A, x)∧Level(B, y))

(2) A, B가 C로 유입되는 동안에 C안의 A의 농도가 u와 w사이의 일정한 값을 유지한다(단 두 흐름은 종속적이다).

(Fill(A, C)∧Fill(B, C))∪(Concentration(C, u<x(A)<w)))

Fig. 3. The progression algorithm

Inputs: An LTL formula f and a world w

Output: A new LTL formula f+ representing the progression

of f through the world w

Algorithm Progress(f, w)

Case

1. f = □ (□ contains no temporal modalities):

f+ := TRUE if w □ f, FALSE otherwise

2. f = f1∧f2:   f+ := Progress(f1, w) ∧ Progress(f2, w)

3. f = f1∨f2:   f+ := Progress(f1, w) ∨ Progress(f2, w)

4. f = ￢f1:    f+ := ￢Progress(f1, w)

5. f = □f1:     f+ := f1

6. f = f1∪f2:   f+ := Progress(f2, w) ∨ (Progress(f1, w) ∧  f)

7. f = □f1:     f+ := Progress(f1, w) ∨ f

8. f = □f1:     f+ := Progress(f1, w) ∧ f

9. f = □[x:□(x)]f1:  f+ := ∧{c:w□□(x/c)} Progress(f1(x/c), w)

10. f = □[x:□(x)]f1: f+ := ∨{c:w□□(x/c)} Progress(f1(x/c), w)

LTL로 표현된 공정의 제한조건들을 이용하여 조작의 선택과 순서 결정을 위한 지침으로 삼기 위해서는, 과거에 일어났던 운전상황과 현재의 운전상황에 대한 정보를 가지고 있어야 한다. 또한 조작에 의해 변화될 운전상황에 대한 정보들을 가지고 있어야 가능하다. 이것을 위해서 본 연구에서는 다음과 같은 진행(progression) 알고리즘의 적용으로 운전상황의 변화를 인식한다(fig. 3).

시간논리를 이용한 운전절차 합성 알고리즘

본 연구에서 시간논리를 이용한 OPSTEL(OPS using TEmporal Logic) 알고리즘을 이용하여 운전절차를 합성한다.

(1) 공정구조(topology), 공정의 초기 상태와 최종 목표 상태, 공정 제한조건들을 입력받는다.

(2) 입력받은 초기 공정상태와 달성하기 원하는 최종 목표 상태가 서로 일치되는 경우, 운전절차를 제시하고 종료된다.

(3) 현재 운전상황을 평가하기 위해 진행 알고리즘을 이용하여 운전상황의 인과적·시간적 변화를 인식하고, 선택 가능한 조작의 세트를 생성한다.

(4) 현 공정의 상태와 최종 목표상태가 일치하지 않는 경우, 운전목표를 달성하기 위해 필요한 조작을 선택해야 한다. 이 과정은 조작의 운전 예비조건과 진행 조건(progression condition, fig.3)을 만족하는 조작들의 세트 중에서 하나를 선택한다.

(5) 선택할 조작이 없는 경우, 운전절차 합성을 할 수 없음을 알리고 종료된다.

(6) 선택된 조작에 의한 공정상태의 변화를 인식하기 위해 제한조건전파 기법을 이용하여 공정상태의 변화를 모사한다.

(7) 변화된 공정상태가 전역적 제한조건, 지역적 제한조건, 시간적 제한조건을 침해하지 않고 안전한지를 체크한다. 만일 안전하지 않는 경우는 조작전의 상태로 공정의 상태를 되돌리고 난 다음, (4)번으로 가서 다른 조작을 선택하여 위의 과정을 반복하게 된다.

(8) 실행된 조작이 안전하면, 운전절차에 추가하고 난 다음, (2)번으로 돌아간다.

감사의 글

본 연구는 포항공과대학교 공정산업의 지능자동화 연구센터를 통한 한국과학재단 우수연구센터 지원금에 의한 것입니다.

참고문헌

1. Lakshmanan R. and Stephanopoulos G.: "Synthesis Of Operating Procedures for Complete Chemical Plants-I. Hierarchical Structural Modeling for Nonlinear Planning", Comp. & Chem. Eng., 12, 985-1002(1988)

2. Chapman, D.: "Planning for conjunction goals", Artificial Intelligence, 32(3), 287-301(1987)