On tracing reactive systems

We present a rich and highly dynamic technique for analyzing, visualizing, and exploring the execution traces of reactive systems. The two inputs are a designer’s inter-object scenario-based behavioral model, visually described using a UML2-compliant dialect of live sequence charts (LSC), and an execution trace of the system. Our method allows one to visualize, navigate through, and explore, the activation and progress of the scenarios as they “come to life” during execution. Thus, a concrete system’s runtime is recorded and viewed through abstractions provided by behavioral models used for its design, tying the visualization and exploration of system execution traces to model-driven engineering. We support both event-based and real-time-based tracing, and use details-on-demand mechanisms, multi-scaling grids, and gradient coloring methods. Novel model exploration techniques include semantics-based navigation, filtering, and trace comparison. The ideas are implemented and tested in a prototype tool called the Tracer.

[1]  E. Allen Emerson,et al.  Temporal and Modal Logic , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[2]  Stephan Diehl,et al.  Software Visualization - Visualizing the Structure, Behaviour, and Evolution of Software , 2007 .

[3]  Steven P. Reiss,et al.  Jove: java as it happens , 2005, SoftVis '05.

[4]  J. Van Leeuwen,et al.  Handbook of theoretical computer science - Part A: Algorithms and complexity; Part B: Formal models and semantics , 1990 .

[5]  Arie van Deursen,et al.  Execution trace analysis through massive sequence and circular bundle views , 2008, J. Syst. Softw..

[6]  Abdelwahab Hamou-Lhadj,et al.  A survey of trace exploration tools and techniques , 2004, CASCON.

[7]  David Lo,et al.  Mining Scenario-Based Triggers and Effects , 2008, 2008 23rd IEEE/ACM International Conference on Automated Software Engineering.

[8]  Amir Pnueli,et al.  Formal Modeling of C. elegans Development: A Scenario-Based Approach , 2003, CMSB.

[9]  Jochen Klose,et al.  Scenario-Based Monitoring and Testing of Real-Time UML Models , 2001, UML.

[10]  J. V. van Wijk,et al.  Cluster and calendar based visualization of time series data , 1999, Proceedings 1999 IEEE Symposium on Information Visualization (InfoVis'99).

[11]  David Harel,et al.  Statecharts: A Visual Formalism for Complex Systems , 1987, Sci. Comput. Program..

[12]  Nick Mitchell,et al.  Visualizing the Execution of Java Programs , 2001, Software Visualization.

[13]  Jan van Leeuwen,et al.  Formal models and semantics , 1990 .

[14]  David Harel,et al.  LSCs: Breathing Life into Message Sequence Charts , 1999, Formal Methods Syst. Des..

[15]  Heidrun Schumann,et al.  Visualizing time-oriented data - A systematic view , 2007, Comput. Graph..

[16]  John T. Stasko,et al.  Visualizing Interactions in Program Executions , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[17]  John G. Hosking Visualisation of object oriented program execution , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[18]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[19]  Richard Mateosian,et al.  Software Architects [review of 97 Things Every Software Architect Should Know: Collective Wisdom from the Experts (Monson-Haefel, R., Ed.; 2009)] , 2009, IEEE Micro.

[20]  Amir Pnueli,et al.  Reachability Analysis of Dynamical Systems Having Piecewise-Constant Derivatives , 1995, Theor. Comput. Sci..

[21]  David Harel,et al.  Playing with time: on the specification and execution of time-enriched LSCs , 2002, Proceedings. 10th IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunications Systems.

[22]  M S Waterman,et al.  Identification of common molecular subsequences. , 1981, Journal of molecular biology.

[23]  Ben Shneiderman,et al.  The eyes have it: a task by data type taxonomy for information visualizations , 1996, Proceedings 1996 IEEE Symposium on Visual Languages.

[24]  David Harel,et al.  S2A: A Compiler for Multi-modal UML Sequence Diagrams , 2007, FASE.

[25]  John R. Koza,et al.  Genetic programming - on the programming of computers by means of natural selection , 1993, Complex adaptive systems.

[26]  Thomas Kühne Workshops and symposia at MoDELS 2006 , 2006, MoDELS'06.

[27]  M. R. Peters Girls Teaching Girls: Free-Choice Collaborative Learning Through Social Computing , 2007 .

[28]  Marcus Gallagher,et al.  Learning to play Pac-Man: an evolutionary, rule-based approach , 2003, The 2003 Congress on Evolutionary Computation, 2003. CEC '03..

[29]  David Harel,et al.  Come, Let’s Play , 2003, Springer Berlin Heidelberg.

[30]  Thomas A. Henzinger,et al.  A really temporal logic , 1994, JACM.

[31]  John Domingue,et al.  Software visualization : programming as a multimedia experience , 1998 .

[32]  David Harel,et al.  Assert and negate revisited: modal semantics for UML sequence diagrams , 2006, SCESM.

[33]  David Harel,et al.  Specifying and executing behavioral requirements: the play-in/play-out approach , 2003, Software & Systems Modeling.

[34]  Eamonn J. Keogh,et al.  Visualizing and Discovering Non-Trivial Patterns in Large Time Series Databases , 2005, Inf. Vis..

[35]  Shahar Maoz Polymorphic scenario-based specification models: semantics and applications , 2010, Software & Systems Modeling.

[36]  Danny B. Lange,et al.  Object-Oriented Program Tracing and Visualization , 1997, Computer.

[37]  Wolfgang Thomas,et al.  Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics , 1990 .

[38]  Tim Wright,et al.  Visualisations of execution traces (VET): an interactive plugin-based visualisation tool , 2006, AUIC.

[39]  David Harel,et al.  From multi-modal scenarios to code: compiling LSCs into aspectJ , 2006, SIGSOFT '06/FSE-14.

[40]  Alessandro Orso,et al.  GAMMATELLA: visualization of program-execution data for deployed software , 2004, ICSE 2004.

[41]  Ben Shneiderman,et al.  Dynamic Query Tools for Time Series Data Sets: Timebox Widgets for Interactive Exploration , 2004, Inf. Vis..

[42]  Ken Perlin,et al.  Pad: an alternative approach to the computer interface , 1993, SIGGRAPH.

[43]  Bernd Westphal,et al.  Check It Out: On the Efficient Formal Verification of Live Sequence Charts , 2006, CAV.

[44]  S. B. Needleman,et al.  A general method applicable to the search for similarities in the amino acid sequence of two proteins. , 1970, Journal of molecular biology.

[45]  Steven P. Reiss,et al.  Visualizing program execution using user abstractions , 2006, SoftVis '06.

[46]  Christus,et al.  A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of Two Proteins , 2022 .

[47]  Alessandro Orso,et al.  GAMMATELLA: visualization of program-execution data for deployed software , 2004, Proceedings. 26th International Conference on Software Engineering.

[48]  David Harel,et al.  Object Composition in Scenario-Based Programming , 2008, FASE.

[49]  David Harel,et al.  Executable object modeling with statecharts , 1996, Proceedings of IEEE 18th International Conference on Software Engineering.

[50]  Amir Pnueli,et al.  On the Development of Reactive Systems , 1989, Logics and Models of Concurrent Systems.

[51]  David Harel,et al.  Synthesizing State-Based Object Systems from LSC Specifications , 2000, Int. J. Found. Comput. Sci..

[52]  Mika Katara,et al.  Model-Based Testing Using LSCs and S2A , 2009, MoDELS.

[53]  Shahar Maoz,et al.  Model-Based Traces , 2009, MoDELS.

[54]  Amir Pnueli,et al.  Temporal Logic for Scenario-Based Specifications , 2005, TACAS.

[55]  David Harel,et al.  Towards Trace Visualization and Exploration for Reactive Systems , 2007 .

[56]  Steven P. Reiss,et al.  Visual representations of executing programs , 2007, J. Vis. Lang. Comput..

[57]  David Harel,et al.  Multiple instances and symbolic variables in executable sequence charts , 2002, OOPSLA '02.

[58]  David Harel,et al.  Come, let's play - scenario-based programming using LSCs and the play-engine , 2003 .

[59]  David Harel,et al.  Visualizing inter-dependencies between scenarios , 2008, SOFTVIS.