Automated Trace Analysis of Discrete-Event System Models

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.

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

[2]  Robert Sedgewick,et al.  Algorithms in C : Part 5 : Graph Algo-rithms , 2002 .

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

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

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

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

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

[8]  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).

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

[10]  Mark R. Grabau,et al.  Tips for Successful Practice of Simulation , 2005, Proceedings of the Winter Simulation Conference, 2005..

[11]  Jack P. C. Kleijnen,et al.  EUROPEAN JOURNAL OF OPERATIONAL , 1992 .

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

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

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

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

[16]  Neil Genzlinger A. and Q , 2006 .

[17]  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.

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

[19]  Peter Kemper,et al.  Automated Analysis of Simulation Traces - Separating Progress from Repetitive Behavior , 2007, Fourth International Conference on the Quantitative Evaluation of Systems (QEST 2007).

[20]  Robert Sedgewick,et al.  Algorithms in c, part 5: graph algorithms, third edition , 2001 .

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

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

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