Automated Analysis of Simulation Traces - Separating Progress from Repetitive Behavior

Among the many stages of a simulation study, debugging a simulation model is the one that is hardly reported on but that may consume a considerable amount of time and effort. In this paper, we describe a novel technique that helps a modeler to gain insight in the dynamic behavior of a complex stochastic discrete event simulation model based on trace analysis. We propose algorithms to distinguish progressive from repetitive behavior in a trace and to extract a minimal progressive fragment of a trace. The implied combinatorial optimization problem for trace reduction is solved in linear time with dynamic programming. We present and compare several approximate and one exact solution method. Information on the reduction operation as well as the reduced trace itself helps a modeler to recognize the presence of certain errors and to identify their cause. We track down a subtle modeling error in a dependability model of a multi-class server system to illustrate the effectiveness of our approach in revealing the cause of an observed effect. The proposed technique has been implemented and integrated in Traviando, a trace analyzer to debug stochastic simulation models.

[1]  David T. Sturrock Tips for successful practice of simulation , 1999 .

[2]  Peter Kemper,et al.  Trace based analysis of process interaction models , 2005, Proceedings of the Winter Simulation Conference, 2005..

[3]  Monika Heiner,et al.  Petri Net Based Design and Analysis of Reactive Systems , 1996 .

[4]  Jerry Banks GETTING STARTED WITH AUTOMOD , 2000 .

[5]  Peter Kemper,et al.  Traviando - Debugging Simulation Traces with Message Sequence Charts , 2006, Third International Conference on the Quantitative Evaluation of Systems - (QEST'06).

[6]  David Krahl Debugging simulation models , 2005, Proceedings of the Winter Simulation Conference, 2005..

[7]  Insup Lee,et al.  RT-MaC: runtime monitoring and checking of quantitative and probabilistic properties , 2005, 11th IEEE International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA'05).

[8]  Peter Kemper A trace-based visual inspection technique to detect errors in simulation models , 2007, 2007 Winter Simulation Conference.

[9]  Andrew Chi-Chih Yao,et al.  The Complexity of Finding Cycles in Periodic Functions , 1982, SIAM J. Comput..

[10]  William H. Sanders,et al.  The Möbius Framework and Its Implementation , 2002, IEEE Trans. Software Eng..

[11]  Peter Buchholz,et al.  A Toolbox for Functional and Quantitative Analysis of DEDS , 1998, Computer Performance Evaluation.

[12]  Sean R Eddy,et al.  What is dynamic programming? , 2004, Nature Biotechnology.

[13]  Yao Li,et al.  Performance Petri net analysis of communications protocol software by delay-equivalent aggregation , 1991, Proceedings of the Fourth International Workshop on Petri Nets and Performance Models PNPM91.

[14]  Averill M. Law,et al.  Simulation Modeling and Analysis , 1982 .

[15]  William H. Sanders,et al.  The Mobius modeling environment: recent developments , 2004, First International Conference on the Quantitative Evaluation of Systems, 2004. QEST 2004. Proceedings..

[16]  Randall P. Sadowski,et al.  Simulation with Arena , 1998 .

[17]  Gabriel Nivasch,et al.  Cycle detection using a stack , 2004, Inf. Process. Lett..

[18]  Falko Bause,et al.  The ProC/B Toolset for the Modelling and Analysis of Process Chains , 2002, Computer Performance Evaluation / TOOLS.