Discrete event simulation environments often need to be modified because additional questions to systems may become apparent while observing the simulation results repeatedly. It leads to increasing development budget and depreciating the effectiveness of the environment. To avoid the modifications and to generate the altered results, this dissertation regards the simulation models as black-box models by applying the black-box extensibility. The discrete event simulation can be abstracted to the sequences of events, which are mapped to the discretized states transitions. By controlling the events at the simulation time, the existing behaviors can be extended without modifications. For this, this dissertation proposes an Event Control Model (ECM) with control functions that modulate, delete and generate the events at the simulation time. The simulators with the ECMs can have better extensibility because it becomes more adaptable to possibly unanticipated changes and substitutes with the modifications at the code level. It prevents increasing development costs due to modifications or development of new models, and it provides a new alternative step to users. To support the effectiveness of this approach, this dissertation describes relevant examples, which are composed of an initial simulation model based on our empirical studies. The case studies will show that the actual number of modified lines is reduced due to the ECMs. Also, there exist the uncountable benefits because the existing simulator is reused without modifications.
도메인 사용자에게 배포된 이산 사건 시스템의 시뮬레이터는 시뮬레이션 결과를 분석하는 과정에서 발생하는 요구사항의 변화로 인해 수정될 필요가 생긴다. 이로 인해 예상치 못한 개발 비용이 추가적으로 발생하고 시뮬레이션 환경의 효용성이 떨어진다. 본 논문은 이런 문제를 해결하기 위해 이벤트를 변조/삭제/생성하여 이전과 다른 결과를 발생시키는 제어 함수를 지닌 사건 제어 모델을 제안한다. 사건 제어 모델은 이산 사건 시뮬레이션을 이산화된 상태 변화와 대응되는 이벤트의 시퀀스로 보고 실행 시간에 블랙박스 모델 외부로 발생한 이벤트를 제어하여 기존의 모델 행동을 수정한다. 사건 제어 모델은 시뮬레이터가 예상하지 못한 변화에 더 잘 대응할 수 있도록 함으로써 더 나은 확장성을 가지게 하며 모델의 수정이나 새로운 모델의 개발을 통해 발생하는 개발 비용 상승을 막고 사용자에게 새로운 대안을 제공한다. 본 논문은 제안하는 방법의 효용성을 보이기 위해 프로젝트 경험으로부터 가정한 사례 연구를 포함하고 있다. 이를 통해 실제 개발 소스 코드량의 정량적인 감소와 기존의 시뮬레이터를 재사용함에 따른 정성적인 이득을 확인할 수 있다.