Behavior Ontology
서 문
특정 대상에 대한 연구는 우연일까, 필연일까?
행위 온톨로지에 대한 나의 연구는 결코 우연이 아니었던 것 같다. 시스템을 명세하고, 분석 및 검증을 하는 과정에서 시스템의 행위를 분석하는 것은 필수적이었다. 하지만 그 행위적 관점을 구체화시키고 결과를 내기까지는 적지 않은 시간을 보내고 나서였다.
처음 SW와 시스템에 대한 재공학과 역공학을 하는 과정에서 기존의 SW와 시스템을 구성하는 기본 요소에 대한 이해와 분석은 필수적이었다. 특히 Ada로 작성된 시스템을 역공학하는 과정에서 Task에 대한 활동 및 상호작용에 대한 이해와 분석은 이러한 시스템이 실행되는 분산 환경과 그 환경에서 이동하는 시스템 Task들에 대한 동선도 고려해야했다. 그러자면 당연히 기존의 시스템과 SW에 대한 명세정보를 추상적으로 도출할 수밖에 없었다. 이 과정에서 자연스럽게 정형기법에 대한 연구를 하게 되었다.
하지만 이런 연구과정에서 정형기법을 연구하는 것이 쉬운 일은 아니었다. 그 이유는 당연히 정형기법이 역공학이나 재공학적인 관점보다는 순공학적 관점에 기반을 두고 있기 때문이었다. CSP와 CCS 등의 대수와 다양하게 많은 공리 시스템들을 대할 때마다, 내가 가지고 있었던 역공학적인 그리고 재공학적인 관점은 흐려지고 순공학적 관점이 부각되기 시작했다.
왜 그랬을까? 그리고 내가 순공학에서 가졌던 관심사는 무엇이었을까? 그것은 한 마디로 추상화였다. 하지만 상대적으로 많은 순공학자들, 특히 정형명세 전공자들은 추상화를 그리 강조하는 편은 아니었다. 이것이 나에게 정형명세가 어려운 이유 중의 하나였다. 순공학자들은 추상화를 하나의 언어로 명세언어 관점에서 정형적으로 다루는 듯 했다. 하지만 내 입장은 달랐다. 역공학 관점에서 구체적인 코드를 추상화해야만 정형적인 명세를 도출할 수 있었다. 즉 추상화의 한계 때문에 많은 정보들은 상실될 수 밖에 없었다.
그럼 어떻게 이런 문제를 해결할 수 있을까? 이 과정에서 고민하게 되었던 것이 ‘어떤’ 패턴이었다. 특히 Task와 같은 entity들이 집단적으로 행하는 어떤 행동에 대한 패턴이었다. 그런데 그 패턴은 단순히 그 entity들이 가지는 단순한 질적인 패턴이 아닌, 양적인 패턴이었다. 그 과정에서 자연스럽게 온톨로지를 거론하게 되었고, 결국은 행위 온톨로지(Behavior Ontology)라는 새로운 개념을 정의하게 되었다.
처음 이 행위 온톨로지를 정의하고, 그 사례를 정리하면서, 확신이 서지 않았다. 왜냐하면, 이미 이런 개념을 누군가 정립하지 않았을까 하는 생각 때문이었다. 이를 확인하기 위하여, 몇년간 국제학술대회를 통해서, 이 이론을 발표하게 되었고, 다행히도, 이 과정에서 이 이론의 참신성과 유효성을 확인하게 되었다.
그 결과는 나에게는 매우 고무적이었다. 이제 남은 것은 행위 온톨로지의 정형성을 확립하기 위해, 이것을 하나의 수학적 체계로 정리하는 것이었다. 결국 대수와 논리라는 정형이론에서 헤매다가 결국 또 다른 수학의 장벽을 부딪히고 만 것이었다. 그런데 이 대수와 논리라는 이론은 이미 오래 전부터 존재하는 이론이었지만, 행위 온톨로지를 설명하기 위한 구체적인 수학적인 구조체는 존재하지 않았다. 이는 나에게는 막연한 상황이었지만, 한편으로는 나에게 새로운 학문적 도전을 시도하는 기회가 되었다.
나는 행위 온톨로지를 설명할 수 있는 구조로, 격자, 즉 격자(lattice)를 선택했다. 하지만 기존의 격자는 그 구조적인 한계 때문에 행위 온톨로지의 관계와 성질을 설명할 수 없었다. 나는 행위 온톨로지를 적용하기 위하여 다음과 같은 두 가지 절차를 거쳤다:
1) 나는 이 격자가 가진 두 가지의 공통적인 성질을 파괴하였다. 하나는 join에 대한 것이었고, 다른 하나는 meet에 관한 것이었다. 기존의 격자는 단 하나의 meet과 join을 가지고 있었다. 이는 격자가 가지는 제일 강한 조건 중의 하나였다. 나는 이 조건을 무시하고, 하나 이상의 meet과 join을 가질 수 있다고 가정하였다. 이런 가정을 하고 나니, 내가 정의한 격자는 하나 이상의 차원으로 설명이 가능하였다. 나는 이 격자를 n-격자라고 정의하였다. 그 관점에서 기존의 격자는 1-격자가 되었다. 그리고 n-격자가 n 차원의 비결정성을 보이는 것을 확인하게 되었다. 그런데 격자를 n 차원으로 확장을 하다 보니, 이 격자를 통제할 수 없는 상황이 발생하게 되었다. n-격자가 가지고 있는 비결정성의 비결정적인 증폭성을 조절할 수 없었다. 나는 이를 해결하기 위하여 다음과 같은 또 하나의 절차를 거쳤다.
2) 나는 n-격자가 가지고 있는 비결정성을 조절하기 위하여, 두 가지의 공통적인 제약조건을 두었다. 그것은 초-최대(super-greatest)와 초-최소(super-least) 원소라는 두 개의 극한 원소를 정의하였다. 드디어 이 원소들에 의해, n-격자의 비결정성이 극한 결정성으로 구조화되는 결과를 얻게 되었다. 그리고 나는 이 제약조건에 의해 n-격자를 n:2-격자로 명명하였다.
n:2-격자의 n 성질은 격자가 가지는 join과 meet 관점에서의 자유도로 간주해도 좋았다. 그리고 2는 격자가 가지는 join과 meet가 가지는 극한점이라고 간주해도 좋았다.
나는 이렇게 새로운 격자, 즉 n:2-격자를 정의하게 되었다. 나는 대수와 논리라는 정형이론에서 헤매다가 결국 n:2-격자라는 새로운 수학적 구조체에 도달하게 되었던 것이다.
나는 n:2-격자의 존재와 그 유용성을 입증하기 위하여, 자연수 집합과 그 집합의 곱과 재귀적 튜플(tuple)에 대하여 다음과 같은 네가지 관점에서 그들의 순서 관계를 n:2-격자로 표현하였다:
1) 원소의 관점(Actor): 자연수 값으로 설정.
2) 원소들의 집단적 관점(Group): 원소들 곱집합. 즉 원소 값들의 튜플의 순서쌍.
3) 집단들의 행위 관계적 관점: 원소들의 곱집합의 곱집합. 즉 튜플들의 튜플의 순서쌍.
4) 행위 관계들의 교집합적 관계(Society): 원소들의 곱집합의 곱집합의 곱집합. 즉 튜플들의 튜플의 튜플의 순서쌍.
나는 각 집합들을 A, G, C, S로 정의하였고, C와 S의 모든 원소들 간에 순서 관계가 성립되고, 전이 규칙에 의해 각 곱집합 요소들의 차원마다 각각의 join과 meet가 존재함을 보였다. 그리고 이러한 성질은 두 개의 극한원소를 거쳐 결정적으로 완전한 순서 관계가 설립됨을 보였다, 즉 S가 n:2-격자 임을 보였다. 그리고 행위 온톨로지가 이 S의 부분집합임을 또한 보였다. 결국 행위 온톨로지가 n:2-격자 임을 보인 것이다.
이렇게 행위 온톨로지를 n:2-격자로 정의하고 나니, 몇가지의 흥미로운 이론적 문제들이 자연스럽게 해결됨을 관찰할 수 있었다. 그 중에 대표적인 문제가 동일성 문제와 상태증폭문제였다.
동일성 문제는 Norm Chomsky가 1963년에 정형언어이론에서 문법트리의 유사성과 문자열 생성의 관점에서 Strong Equivalence와 Weak Equivalence를 거론하였다. 그리고 이후 1980년과 1989년 Robin Milner에 의해 상태도에 기반을 둔 CCS와 Labelled Transition System에서의 Strong Bisimulation와 Weak Bisimulation을 거론되었다.
이 두 개의 동일성은 문법트리와 상태도라는 준정형적인 수학적 구조에 기반을 두고 있기 때문에 동일성을 다루기 위해서 동일성 분석 알고리즘과 모델검사라는 경험적인 과정을 거쳐야만 했다. 또한 Milner의 경우, CCS의 and(|)와 or(+)가 가지고 있는 병렬성과 비결정성 때문에 그 동일성에 대한 분석의 복잡도가 증가하는 결과를 초래했었다.
하지만 행위 온톨로지에서의 동일성은 n:2-격자라는 정형적인 수학 구조체에 기반을 두고 있기 때문에, 두 행위가, n:2-격자 상에서 같은 원소의 행위적 패턴을 보일 때 Strong Equivalence라고 정의할 수 있고, 두 행위가 특정한 join 또는 재귀적인 join에서 같은 행위적 패턴을 보일 때, 추상적 동일성, 또는 Weak Equivalence라고 구조적으로 정의할 수 있었다. 이는 행위 온톨로지의 동일성이 문법트리와 상태도보다 더 정형적인 n:2-격자라는 수학적인 구조체에 기반을 두었기 때문에 가능한 결과였다.
이 문제 외에도, 행위 온톨로지를 상태증폭문제에 적용했을 때, 기하급수적으로 증가하던 상태도의 조합문제가 선형적인 증가도를 보였다. 그 이유는 기하급수적 증가의 결과를 보였던 상태의 조합이 행위라는 의미 분석을 통해서 추상화되었기 때문이었다. 이 또한 행위 온톨로지라는 수학적 구조체가 가지고 있는 구조적인 이점이었다.
이는 나에게 매우 의미있는 결과였다. 역공학 관점에서 20여년을 찾아 헤매던, 추상화의 결과를 n:2-격자라는 수학적인 구조를 통하여 행위 온톨로지에서 찾을 수 있었기 때문이었다.
이는 나에게 매우 중요한 것을 시사해주고 있었다. 그것은 내가 앞으로 연구하고자 하는 분야를 발견하고, 그에 관한 가장 기초적인 개념을 정립하였다는 것이다. 즉 이제부터 이 분야에 대한 본격적인 연구를 할 수 있는 기초를 닦았다는 의미이다. 이제부터 내가 연구하고자 하는 내용을 정리하면 다음과 같다:
1) 나는 generic 행위 패턴을 철학적으로, 언어학적으로 연구할 것이다.
2) 이렇게 규명된 generic 행위 패턴에 대한 일반 행위들을 수집할 것이다.
3) 그리고 이렇게 규명되고 정의된 generic 행위 패턴과 일반 행위을 기반으로 행위 도메인들을 정의할 것이다.
4) 그리고 이를 기반으로 행위지식체계를 수립할 것이다.
이러한 연구결과는 당연히 n:2-격자에 기반을 둔 행위 온톨로지에서 정의할 것이다.
이렇듯 2013년 여름방학은 나에게 인생의 전환이 되는 기회가 되었다고 판단한다.
이 연구서의 구성은 다음과 같다:
제1장: 이 장에서는 연구의 전반적인 내용을 간단하게 소개하였다.
제2장: 이 장에서는 n:2-격자를 정의하였다.
제3장: 이 장에서는 n:2-격자의 실제성을 입증하기 위하여, 자연수 재귀 튜플의 순서구조를 정의하였고, 이 구조가 n:2-격자임을 입증하였다.
제4장: 이 장에서는 행위 온톨로지를 정의하였고, 이 온톨로지가 자연수 재귀 튜플의 순서구조의 부분 집합임을 보임으로써 이 온톨로지가 n:2-격자임을 입증하였다.
제5장: 이 장에서는 행위 온톨로지를 명세하기 위한 의미 명세 언어를 정의하였다. 하나는 시스템 명세를 위한 명세 언어, 즉 ASL(Actor Specification Language)이며, 다른 하나는 행위를 명세하기 위한 명세 언어, 즉 BSL(Behavior Specification Language)이다.
제6장: 이 장에서는 RAD(Resource Allocation Domain) 메타 모델에 기반을 둔 EMS(Emergency Medical System) 모델에 대한 행위 온톨로지 예제를 정의하였다.
제7장: 이 장에서는 행위 온톨로지를 활용한 동일성문제와 상태증폭문제를 다루었다.
제8장: 이 장에서는 행위 온톨로지에 기반을 둔 향후 연구들을 정리해 보았다.
부록 A: 부록 A에서는 RAD/EMS를 ASL/BSL로 명세하였다.
부록 B: 부록 B에서는 SAVE/PRISM 구현 환경을 기술했다.
처음 정형기법에서의 추상화는 박지연 박사의 ATM 상태기계와 최정란 박사의 CARDMI 프로세스 대수의 추상화에서 거론이 되었다. 하지만 이를 구조화하지 못한 어려움이 있었다. 이후 온진호 박사의 Onion과 우수정 박사의 Prism은 행위적인 추상화 개념은 정의되었으나, 이를 수학적인 구조로 설명하지 못했다. 아마도 n:2-격자와 같은 수학적 구조의 필요성을 절실하게 요구하게 되었던 것도 모두 이 4명 박사의 학문적 고립과 번민의 소산이었다고 생각한다. 이에 지도교수로서 늦게나마 그들에게 초보적인 n:2-격자라는 해결책을 제안한다. 그들이 고민했던 많은 학문적 난관들이 늦게나마 이 격자를 통해서 재해석될 수 있고 체계화될 수 있는 기회가 되기를 기원한다. 그리고 n:2-격자를 구상하는 과정에서 최근에 학문적인 토론에 임했던 최영복 제자에게 고마움을 전한다. 그리고 그에게 앞으로 학문적인 발전이 있기를 기원한다.
나의 첫 연구서가 나오기까지 오랫동안 말없이 뒤에서 후원해준 배진영 박사와 나를 항상 책임있는 행복으로 희망을 주었던 령이와 안이에 고마움을 전한다. 이들에게 이 연구서를 계기로 비약적인 연구서들이 나올 수 있기를 스스로 약속해 본다.
마지막으로 이 부족한 연구서를 하늘에 계시는 아버님과 어머님과 넷째 누님께 두손 모아 바친다.
이 전문학술저서는 2011년도 전북대학교 연구교수 지원과 한국연구재단의 연구과제(2010-0023787)로 이루어졌다.
2013년 8월 15일
건지산 연구실에서