소프트웨어 에이전트의 개요 및 화학공학에의 응용

신동일, 윤인섭

서울대학교 응용화학부

An Introduction to Intelligent Software Agents and the Chemical

Engineering Applications

Dongil Shin and En Sup Yoon

School of Chemical Engineering, Seoul National University

서론

컴퓨터와 network의 급속한 발전속도에 비해 아직까지도 그 사용방법에 있어서는 능숙한 사용자들마저도 점점 많아져만 가는 수많은 기능들을 쉽게 사용할 수 있도록 해주지는 못하고 있다. 우리는 일상생활에서 시간적인 제약이 있거나 업무가 과다할 때 assistant로부터 도움을 청하게 되는데, 컴퓨터의 사용과 관련되어 에이전트가 이런 역할을 하게된다. 에이전트는 사용자를 대신해서 사용자가 원하는 작업을 자동적으로 해결해주는 software라 부를 수 있는데, 인간 assistant와 마찬가지로 반복적인 일을 자동적으로 수행하거나 우리가 잊어버린 일들을 상기시켜주고 복잡한 data를 요약하거나, 사용자를 통한 학습으로 발전된 방안을 제안할 수도 있다.

다가오는 21세기에서 software 설계의 중심으로, 복잡한 정보시스템의 유지 및 구축을 위한 개념과 기술을 제공하는 에이전트는 많은 분야에 걸쳐 다양하게 이용되고 있는 만큼 정확한 정의 없이 혼동되어 사용되고 있는 바, 그 역사적 배경과 응용 사례를 중심으로 정의를 내리고 에이전트의 기본개념과 핵심기술, 그리고 국내외의 연구동향과 사례를 살펴봄으로써 앞으로 화학공학에 어떻게 적용될 수 있는지 알아보고자 한다.

소프트웨어 에이전트의 특성

에이전트에 대한 연구를 시작할 때 우리가 먼저 궁금해하는 것이 과연 에이전트가 기존의 다른 software와 어떻게 다른가□특히 지능형 시스템과 비교하여□하는 것인데 그 차이를 보이기 위해 에이전트의 특징을 나열하면 다음과 같다:

□에이전트는 특정 목적에 대해 사용자를 대신하여 작업을 자율적으로 수행한다.

□에이전트는 수동적으로 주어진 작업만을 반복하는 것이 아니고, 주어진 목적 달성을 추구하는 능동적 자세를 지닌다.

□에이전트의 행동은 한번에 끝나는 것이 아니라 사용자의 간섭이 없이도 지속적으로 이루어진다.

□에이전트는 스스로 환경의 변화를 인지하고 그에 대응하는 행동을 취한다. 여기서 자율성은 에이전트와 다른 software를 구별해주는 핵심적인 특성인데 사용자로 하여금 상위단계 목적에 집중할 수 있게 하고, 그 목적을 달성하기 위한 세부절차 등은 에이전트가 맡게 된다 [2, 4, 6, 7, 10].

이런 기본적인 특성 이외에도 에이전트는 대개 다음의 유용한 성질(들)을 갖는다. 즉, 어떤 에이전트는 다른 에이전트와의 정보교환과 통신을 통해 문제 해결을 도모하는 사회성을 갖는다. 이런 이형질의 응용 에이전트간의 정보교환을 위해 쓰여지는 표준적인 방법으로 KQML (Knowledge Query and Manipulation Language)이 있는데, 이렇게 서로 협력하고 정보만을 주고받는 에이전트만으로 구성되는 것으로 multi-agent system이 있다. 어떤 에이전트들은 적응성을 갖는데 경험적인 학습을 통해 행동을 바꾸는 능력이 있다. 이동성을 갖는 에이전트는 사용자가 요구한 작업을 현재의 machine에서 수행하지 않고 실제 그 작업을 처리하는 machine으로 이동시켜 수행함으로써 효율을 높이고 network 부하를 줄이는 효과를 가져온다. 또한 어떤 에이전트들은 사용자에게 모습을 드러내거나 소리를 통해 믿음을 주려 노력하기도 한다 (예를 들어 Microsoft의 Persona).

에이전트를 그 주된 특성에 따라 분류하면 그림 1과 같이 나눌 수 있는데 역할과 응용분야에 따라 그림 2와 같은 종류의 에이전트들이 존재한다. 각각에 대해 실제 구축된 에이전트의 예는 [10, 11]을 참고하기 바란다.

공학분야에서의 에이전트 응용

우리에게 잘 알려져 있는 에이전트의 응용 예로는 전자우편을 여과해 정리하는 에이전트와 Internet 정보검색 및 전자상거래, 그리고 사용자의 습성을 파악하고 그것에 적응하는 보다 효과적인 HCI (Human Computer Interaction)관련 에이전트 등이 있다. 여기에서 우리는 Web에 기반한 information-gathering 에이전트 등은 제외하고 생산 및 제어와 관련한 실제 산업에 응용된 경우를 중심으로 알아보았다.

공학분야에서는 에이전트 기술을 설계, 제어, scheduling, 공정의 운전, 이상의 감지 및 진단에 응용한 많은 연구와 응용 예가 [11]에 보고되어 있다. 대표적으로 기존의 단독으로 작동하도록 설계된 응용프로그램들을 상호정보교환이 가능한 에이전트들로 바꾸어준 PACT (Palo Alto Collaborative Testbed)와 이와 유사하게 cooperating community에 기반하여 분산형 AI 시스템 구축을 위한 ARCHON (ARchitecture for Cooperative Heterogeneous ON-line systems) 연구가 있다. Autonomous Distributed System (ADS)은 시스템의 작동중에도 에이전트를 추가, 변경 또는 제거할 수 있는 에이전트기반 시스템의 특성을 이용하여 제철소의 조업중에도 control element들의 변경이 가능하도록 하여 조업중단없이 작업이 계속될 수 있도록 하고 있다.

아울러 NIIIP (National Industrial Information Infrastructure Protocols) Consortium은 생산자와 관련된 재료공급자가 하나의 virtual enterprise를 이루어 생산성 향상을 꾀하도록 하는 SMART 시스템을 개발하고 있는데, 에이전트는 해결해야 할 문제를 엔지니어들에게 지적해주거나 dynamic rescheduling을 행하고, 기업간의 정보교환을 위한 trusted mediator의 역할을 위해 이용되고 있다 [8].  APACS (Advanced Plant Analysis and Control System) [13]는 원자력발전소의 실시간 monitoring과 이상진단을 위해 설계된 cooperative multi-agent 시스템으로, 에이전트 상호간에 공유되는 ontology의 사용으로 기존방법에 비해 필요에 따라 구성요소들을 추가하거나 제거하는데 높은 유연성을 보여주고 있으며 화학공장에도 활용될 예정으로 있다.

화학공학 분야에 에이전트가 응용된 예는 아직 많지 않으나 multi-agent를 기반으로 공장의 life-cycle 전반에 걸친 operational design을 지원하는 P-DOSS (Plant Design and Operations Support System) [3]이 있다. 공정의 supervision을 위해 학습 능력을 가진 에이전트에 기반한 시스템 [9]을 구축한 예가 있고, 초기의 공정 해석 및 설계에서부터 실제 생산 전반을 다루는 integrated process engineering system의 하나로 분산 에이전트 환경인 VIBE (VIrtual Business Environment) [12]가 일반적인 에이전트 개발환경인 ADEPT (Advanced Decision Environment for Process Tasks)시스템에 기반해서 만들어졌다.

앞으로 화학공학과 관련되어 기대되는 에이전트 관련기술의 역할은 다음과 같다. STEP이 공정 data의 상호교환을 가능하도록 추진하고 있으나 에이전트는 기존의 legacy 시스템의 front-end로서 multi-agent cooperation을 통해 프로그램들의 효율적인 integration이 가능하도록 해줄 수 있을 것이다. Interface agent는 각 공정 package가 사용자의 요구와 이해정도에 따라 적응해서 작동될 수 있도록 해준다. 따라서 사용자가 프로그램에 적응해야 하는 기존의 사용방법과 달리 프로그램의 사용시 manual들을 자세히 읽어보지 않아도 쉽게 사용할 수 있도록 도와주는 역할을 한다. Autonomous agent는 사용자의 목적을 이해해서 그를 대신하여 문제를 해결하고 또한 사용자의 뒤에서 그가 문제를 해결하는 방법을 지켜봄으로써 자신의 해결방법을 향상시켜간다. 따라서 공정운전지식의 효과적인 축적방법이 될 수 있다 (현재도 KBS 등이 있으나 자발적인 지식 축적은 이루어지지 않고 있다.) 에이전트에 기반한 시스템은 현재 작동되고 있는 시스템에도 새로운 기능의 에이전트를 추가할 수 있어 공정전반에 걸친 software 시스템의 유연성을 향상시킬 수 있다. 아울러 mobile agent에 기반하여 network으로 연결되어 있는 모든 business 시스템과 공정 software들이 통합되어 보다 나은 운전조건을 결정하는데 사용될 수 있을 것이다. 현재 우리는 manufacturing과 관련된 에이전트에 주로 관심을 가지고 있으나, 조업중이나 아니면 이상상태 발생시 문제해결에 있어 정보를 filtering하는 에이전트와 조업자 훈련시 효과적인 HCI 에이전트 또한 가까운 미래에 큰 역할을 하게될 것으로 기대된다.

국내 연구동향

국내에서의 에이전트관련 연구로는 누구나 쉽게 에이전트 시스템으로 확장할 수 있게 하기 위한 에이전트 시스템 개발도구 [1]가 개발되었고, 에이전트에 의한 전자상거래 연구가 활발하며 Web에 기반한 응용 에이전트 환경 구축, networked virtual computing의 개념을 도입한 새로운 에이전트 framework [2] 등이 개발중에 있다. 아울러 통신을 통해 서로 협력·경쟁하는 분산되어 있는 에이전트들에 기반한 dynamic scheduling 시스템을 자동차 생산에 응용한 예 [5]가 있는데 유지보수가 수월하고 유연하며 외란에 강한 scheduling 시스템을 구성할 수 있었다고 보고되었다. 화학공학 분야에서는 본 연구실에서 collaborative agent들에 기반한 integrated diagnostic system을 개발중에 있다.

결론

에이전트는 향후 10여년간 가장 중요시되는 computing paradigm으로 2000년까지는 대부분의 중요한 응용 프로그램들이 어떤 형태로든 에이전트 기술을 탑재할 것으로 예측되고 있다 [7]. 또한 현재 상업용 에이전트 기술의 표준화를 추구하는 단체로 FIPA (Foundation for Intelligent Physical Agents)가 결성되어 있기도 하다. 본고에서는 지능형 시스템이 점점 화공산업에 폭넓게 쓰이고 있는 추세에 맞추어 이렇게 지능을 갖춘 시스템들이 보다 효과적으로 서로 연계되어 작동될 수 있도록 도와주는 에이전트 관련기술의 기본개념과 연구방향, 개발환경 및 응용방법에 대해 간략히 알아보았는바, 다가오는 □agent era"에 대비한 보다 많은 관심과 연구가 기대된다 하겠다.

참고문헌

[1] 이광로 외 4인, □에이전트 시스템 개발도구에 관한 연구□, 한국정보처리학회 논문지, 4(2), 441 (1997).

[2] 임영환 (Ed.), "에이전트 시스템 특집□, 정보과학회지, 15(3), 6-67 (1997).

[3] Batres, R., Lu, M. L. and Naka, Y., "An agent-based environment for operational design", Computers chem. Engng, 21S, S71-S76 (1997).

[4] Bradshaw, J. M., "An introduction to software agents", In Software Agents, AAAI Press/The MIT Press (1997).

[5] Chung, K. T. and Wu, C.-H., "Dynamic scheduling with intelligent agents", Metra Application Note #105, Metra Corporation (1997).

[6] Franklin, S. and Graesser, A., "Is it an agent or just a program?: A taxonomy for autonomous agents", In Proceedings of the Third International Workshop on Agent Theories, Architectures, and Languages, Springer-Verlag (1996).

[7] Gilbert, D., "Intelligent agents: The right information at the right time", IBM Intelligent Agent White Paper (1997).

[8] Gilman, C., et al., "Integration of design and manufacturing in a virtual enterprise using enterprise rules, intelligent agents, STEP, and workflow", In Architectures, Networks, and Intelligent Systems for Manufacturing Integration (Proceedings of SPIE, Vol. 3203), 160-171 (1997).

[9] Martinez, E. C. and Wilson, J. A., "An agent-based approach to process supervision based on model-based reinforcement learning", In Proceedings of IFAC Workshop on On-Line Fault Detection and Supervision in the Chemical Process Industries, Solaize (Lyon), France, June (1998).

[10] Nwana, H. S., "Software agents: An overview", The Knowledge Engineering Review, 11(3), 205-244 (1996).

[11] Parunak, H. V. D., "Practical and industrial applications of agent-based systems", Industrial Technology Institute (1998).

[12] Struthers, A. and Curwen, R., "A new approach to integrated process systems engineering―the VIBE agent environment", Computers chem. Engng, 22S, S745-S748 (1998).

[13] Wang, H. and Wang, C., "Intelligent agents in the nuclear industry", IEEE Computer, November, 28-34 (1997).