시뮬레이션은 컴퓨터를 이용하여 실제 사물이나 작업의 상태, 혹은 프로세스를 모방하여 그 특징을 찾아내는 작업을 지칭하며, 시뮬레이터는 이러한 시뮬레이션 작업을 수행하는 하드웨어/소프트웨어 도구를 말한다. 다양한 시뮬레이터의 개발에 있어 공통적으로 요구되는 비기능적 속성은 변경가능성, 상호 운영성, 확장성이다. 그러나 기존의 시뮬레이터 개발에 관한 연구는 관심 시뮬레이션 모델에 대한 개발에 관한 것이며, 이러한 비기능적 요구사항에 대한 관심이 적다. 이에 본 논문에서는 소프트웨어 기반 시뮬레이터 개발에 있어 요구되는 비기능적 요구사항 중 변경가능성, 상호운영성, 확장성을 고려한 시뮬레이터 아키텍처 패턴을 제시한다. 본 논문에서는 아키텍처 패턴을 정의하기 위해 시뮬레이터의 필수 요소를 파악하고 그들 간의 관계를 정의하였으며, 비기능적 요구사항을 반영할 수 있는 구조로 설계하였다. 제시된 패턴은 다양한 시뮬레이션 모델을 구축할 수 있도록 시뮬레이션 모델 컴포넌트를 중심으로 이들의 조합을 통해 문제를 해결할 수 있다. 이는 시뮬레이션 모델의 재구축을 통해 유연하게 시스템의 변경가능성을 보장하며, 시뮬레이션 모델에 다양한 인터페이스를 추가할 수 있고, 시뮬레이션 모델 컴포넌트의 인터페이스를 통일시켜 상호운영성 및 확장성을 보장한다. 이 논문의 아키텍처 패턴은 향후 개발될 다양한 소프트웨어 기반 시뮬레이터의 참조 모델로 활용될 수 있다.