We develop a simulation executor and modeling framework for automated manufacturing systems. An automated manufacturing system is decomposed into a number of subsystems where each system interacts with each other. Each subsystem corresponds to an object in the simulation program that each object has its own data structure and processes. A process is an appropriate abstraction of the primitive events and activities that are performed by an object; Interactions among the subsystems are modeled as interactions among concurrent processes of the corresponding objects. A simulation executor that handles process interactions is developed using a single-thread programming language, C++, and the coroutine programming techniques. A modeling framework that is compatible with the executor is proposed. Several modeling examples are presented.
객체지향모델링과 프로세스상호작용방식에 의한 자동화시스템의 시뮬레이션을 위한 시뮬레이션실행기와 모델링라이브러리의 개발방법을 제시 하였다. 기존의 객체지향모델링방법론을 General System Specification기법관점에서 재조명하여 자동화공장을 하위시스템으로 분할하고 하위시스템간에 각기의 상태전이함수를 통해 상호작용하도록 하는 모델링방법을 제시하였다. 또한, 각 하위시스템의 상태전이함수를 구체적으로 정의하는 방법을 제안하였다.
각 하위시스템을 시뮬레이션프로그램의 객체로 대응시키고 객체지향프로그래밍언어인 C++로 구현하였다. 시뮬레이션실행기는 동시 진행되는 각 객체의 프로세스간의 상호작용을 조정할 수 있도록 하기 위해 코루틴기법을 이용하여 구현하였다. 끝으로, 개발된 방법에 의한 자동화공장의 모델링 예를 제시하였다.