The Community for Technology Leaders
RSS Icon
Issue No.02 - March/April (2009 vol.35)
pp: 195-208
Peter Kemper , College of William and Mary, Williamsburg
Carsten Tepper , ITGAIN Consulting, Hanover
In this paper, we describe a novel technique that helps a modeler gain insight into 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.
Testing and Debugging, Simulation, Trace analysis, Cycle reduction
Peter Kemper, Carsten Tepper, "Automated Trace Analysis of Discrete-Event System Models", IEEE Transactions on Software Engineering, vol.35, no. 2, pp. 195-208, March/April 2009, doi:10.1109/TSE.2008.75
[1] J. Banks, Getting Started with AutoMod. AutoSimulations, Inc., 2000.
[2] F. Bause, H. Beilner, M. Fischer, P. Kemper, and M. Völker, “The ProC/B Toolset for the Modelling and Analysis of Process Chains,” Computer Performance Evaluation/TOOLS, T. Field et al., eds., pp. 51-70, Springer, 2002.
[3] R.E. Bellman, Dynamic Programming, 1957.
[4] D.D. Deavours et al., “The Möbius Framework and Its Implementation,” IEEE Trans. Software Eng., vol. 28, no. 10, pp. 956-969, Oct. 2002.
[5] F. Bause et al., “A Toolbox for Functional and Quantitative Analysis of DEDS,” Computer Performance Evaluation/TOOLS, pp.356-359, Springer, 1998.
[6] M. Heiner and P. Deussen, “Petri Net Based Design and Analysis of Reactive Systems,” Proc. Third Workshop Discrete Event Systems, pp. 308-313, 1996.
[7] O.H. Ibarra, H. Wang, and Q. Zheng, “Minimum Cover and Single Source Shortest Path Problems for Weighted Interval Graphs and Circular-Arc Graphs,” Proc. 30th Ann. Allerton Conf. Comm., Control, and Computing, pp.575-584, 1992.
[8] W.D. Kelton, R.P. Sadowski, and D.A. Sadowski, Simulation with Arena, second ed. McGraw-Hill, 2002.
[9] P. Kemper, “A Trace-Based Visual Inspection Technique to Detect Errors in Simulation Models,” Proc. Winter Simulation Conf., 2007.
[10] P. Kemper and C. Tepper, “Trace Based Analysis of Process Interaction Models,” Proc. Winter Simulation Conf., pp.427-436. 2005.
[11] P. Kemper and C. Tepper, “Traviando—Debugging Simulation Traces with Message Sequence Charts,” Proc. Int'l Conf. Quantitative Evaluation of Systems, pp.135-136, 2006.
[12] P. Kemper and C. Tepper, “Automated Analysis of Simulation Traces—Separating Progress from Repetitive Behavior,” Proc. Int'l Conf. Quantitative Evaluation of Systems, pp.101-110. IEEE CS, 2007.
[13] D. Krahl, “Debugging Simulation Models,” Proc. Winter Simulation Conf., pp.62-68, 2005.
[14] A. Law and W.D. Kelton, Simulation Modeling and Analysis, third ed. McGraw-Hill, 2000.
[15] W. Mao College of William and Mary, private comm.
[16] G. Nivasch, “Cycle Detection Using a Stack,” Information Processing Letters, vol. 90, no. 3, pp. 135-140, 2004.
[17] D.A. Sadowski, “Tips for Successful Practice of Simulation,” Proc. Winter Simulation Conf., pp.56-61, 2005.
[18] U. Sammapun, I. Lee, and O. Sokolsky, “RT-MaC: Runtime Monitoring and Checking of Quantitative and Probabilistic Properties,” Proc. IEEE Int'l Conf. Embedded and Real-Time Computing Systems and Applications, pp. 147-153, 2005.
[19] R.G. Sargent, “Verification and Validation of Simulation Models,” Proc. Winter Simulation Conf., pp. 130-143, 2005.
[20] R. Sedgewick, T.G. Szymanski, and A.C. Yao, “The Complexity of Finding Cycles in Periodic Functions,” SIAM J. Computing, vol. 11, no. 2, pp. 376-390, 1982.
[21] R. Sedgewick, Algorithms in C++ Part 5: Graph Algorithms, third ed. Addison Wesley, 2001.
[22] C.M. Woodside and Y. Li, “Performance Petri Net Analysis of Communications Protocol Software by Delay-Equivalent Aggregation,” Proc. Int'l Workshop Petri Nets and Performance Models, pp.64-73, 1991.
16 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool