Aspects enhance the flexibility and modularity of simulation models
While the popularity of simulation models as a tool to address complex problems has increased in recent years, issues of flexibility and modularity associated with simulation models are yet not well explored. These two issues emerge from software engineering challenges arising from implementation and management of model execution, maintenance of metadata corresponding to scenario results, inter-dependency of modelers and end-users to modify model output for exploring patterns of interest, a frequent need to debug and the occasional unavailability of sufficient data to offer effective estimates for model parameters. These challenges have often led simulation modelers to adopt to various mechanisms like manual documentation, tracing, calibration etc., but not to much success due to the other limitations associated with each of these processes. We present here techniques to enhance flexibility, modularity, usefulness and effectiveness of simulation modeling by using Aspect Oriented Programming. The core concepts of Aspect Oriented Programming have been utilized to implement two aspect-based frameworks first, a logging and tracing tool for capturing the high-level execution results and, separately, low-level details associated with model executions, and second, a MCMC tool for estimating model parameters by sampling from their joint posterior distributions using a rigorous statistical approach formed by combining Bayesian Markov Chain Monte Carlo (MCMC) methods with dynamic models. We describe here both the frameworks, including their implementations and functioning, experiments conducted, and results obtained.
DegreeMaster of Science (M.Sc.)
SupervisorOsgood, Nathaniel; Dutchyn, Christopher
CommitteeNolan, James; Stanley, Kevin; Stavness, Ian
Copyright DateApril 2016
Aspect Oriented Programming
Bayesian Markov Chain Monte Carlo (MCMC)