Abstract
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.
Similar content being viewed by others
References
Eclipse Test and Performance Tools Platform. http://www.eclipse.org/tptp/
Eclipse UML2 Project. http://www.eclipse.org/modeling/mdt/?project=uml2
IBM Rational Software Architect. http://www.ibm.com/software/awdtools/architect/swarchitect/
IBM (Telelogic) Rhapsody. http://modeling.telelogic.com/products/rhapsody/index.cfm
PacMan game code. http://www.bennychow.com/
S2A website. http://www.wisdom.weizmann.ac.il/~maozs/s2a/
The AspectJ project at Eclipse.org. http://www.eclipse.org/aspectj/
The jaret timebars. http://jaret.de/timebars/
Tracer website. http://www.wisdom.weizmann.ac.il/~maozs/tracer/
Aigner W., Miksch S., Müller W., Schumann H., Tominski C.: Visualizing time-oriented data—a systematic view. Comput. Graph. 31(3), 401–409 (2007)
Alur R., Henzinger T.A.: A really temporal logic. J. ACM 41(1), 181–203 (1994)
Asarin E., Maler O., Pnueli A.: Reachability analysis of dynamical systems having piecewise-constant derivatives. Theor. Comput. Sci. 138(1), 35–65 (1995)
Atir, Y., Harel, D., Kleinbort, A., Maoz, S.: Object composition in scenario-based programming. In: Fiadeiro, J.L., Inverardi, P. (eds.) Proc. 11th Int. Conf. on Fundamental Approaches to Software Engineering (FASE’08), Lecture Notes in Computer Science, vol. 4961, pp. 301–316. Springer (2008)
Cornelissen B., Zaidman A., Holten D., Moonen L., van Deursen A., van Wijk J.J.: Execution trace analysis through massive sequence and circular bundle views. J. Syst. Softw. 81(12), 2252–2268 (2008)
Damm W., Harel D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001)
Diehl S.: Software Visualization—Visualizing the Structure, Behaviour, and Evolution of Software. Springer, Berlin (2007)
Emerson E.A.: Temporal and modal logic. In: Leeuwen, J. (eds) Handbook of Theoretical Computer Science, vol. B: Formal Models and Semantics, pp. 995–1072. Elsevier and MIT Press, USA (1990)
Gallagher, M., Ryan, A.: Learning to play Pac-Man: an evolutionary, rule-based approach. In: Proc. Congress on Evolutionary Computation (CEC), pp. 2462–2469 (2003)
Hamou-Lhadj, A., Lethbridge, T.C.: A survey of trace exploration tools and techniques. In: Lutfiyya, H., Singer, J., Stewart, D.A. (eds.) Proc. 2004 Conf. of the Centre for Advanced Studies on Collaborative Research (CASCON’04), pp. 42–55. IBM (2004)
Harel D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Prog. 8, 231–274 (1987)
Harel D., Gery E.: Executable object modeling with statecharts. IEEE Comput. 30(7), 31–42 (1997)
Harel, D., Kleinbort, A., Maoz, S.: S2A: A compiler for multi-modal UML sequence diagrams. In: Dwyer, M.B., Lopes, A. (eds.) Proc. 10th Int. Conf. Fundamental Approaches to Software Engineering (FASE’07),Lecture Notes in Computer Science, vol. 4422, pp. 121–124. Springer, Berlin (2007)
Harel D., Kugler H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comput. Sci. 13(1), 5–51 (2002)
Harel D., Maoz S.: Assert and negate revisited: modal semantics for UML sequence diagrams. Softw. Syst. Model. (SoSyM) 7(2), 237–252 (2008)
Harel, D., Marelly, R.: Playing with time: On the specification and execution of time-enriched LSCs. In: Proc. 10th Int. Workshop on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS’02), pp. 193–202. IEEE Computer Society (2002)
Harel D., Marelly R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Berlin (2003)
Harel D., Marelly R.: Specifying and executing behavioral requirements: the play-in/play-out approach. Softw. Syst. Model. (SoSyM) 2(2), 82–107 (2003)
Harel D., Pnueli A.: On the development of reactive systems. In: Apt, K.R. (eds) Logics and Models of Concurrent Systems, NATO ASI Series, vol. F-13, pp. 477–498. Springer, USA (1985)
Harel, D., Segall, I.: Visualizing inter-dependencies between scenarios. In: Koschke, R., Hundhausen, C.D., Telea, A. (eds) Proc. of the ACM 2008 Symposium on Software Visualization (SoftVis’08), pp. 145–153. ACM (2008)
Hochheiser H., Shneiderman B.: Dynamic query tools for time series data sets: timebox widgets for interactive exploration. Info. Vis. 3(1), 1–18 (2004)
Hosking, J.G.: Visualisation of object oriented program execution. In: Proc. 1996 IEEE Symp. on Visual Languages, pp. 190–191. IEEE Computer Society (1996)
ITU: International Telecommunication Union Recommendation Z.120: Message Sequence Charts. Tech. rep. (1996)
Jerding, D.F., Stasko, J.T., Ball, T.: Visualizing interactions in program executions. In: Proc. 19th Int. Conf. on Software Engineering (ICSE’97), pp. 360–370. ACM Press, USA (1997)
Kam, N., Harel, D., Kugler, H., Marelly, R., Pnueli, A., Hubbard, E.J.A., Stern, M.J.: Formal modeling of C. elegans development: a scenario-based approach. In: Priami, C. (eds.) Proc. 1st Int. Workshop on Computational Methods in Systems Biology (CMSB’03), Lecture Notes in Computer Science, vol. 2602, pp. 4–20. Springer, Berlin (2003)
Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of AspectJ. In: Knudsen, J.L. (eds.) Proc. 15th European Conf. on Object-Oriented Programming (ECOOP’01), Lecture Notes in Computer Science, vol. 2072, pp. 327–353. Springer, Berlin (2001)
Klose, J., Toben, T., Westphal, B., Wittke, H.: Check it out: on the efficient formal verification of live sequence charts. In: Ball, T., Jones, R.B. (eds.) Proc. 18th Int. Conf. on Computer Aided Verification (CAV’06), Lecture Notes in Computer Science, vol. 4144, pp. 219–233. Springer, Berlin (2006)
Koza J.: Genetic Programming: On The Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)
Kugler, H., Harel, D., Pnueli, A., Lu, Y., Bontemps, Y.: Temporal logic for scenario-based specifications. In: Halbwachs, N., Zuck, L.D. (eds.) Proc. 11th Int. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’05), Lecture Notes in Computer Science, vol. 3440, pp. 445–460. Springer, Berlin (2005)
Lange D.B., Nakamura Y.: Object-oriented program tracing and visualization. IEEE Comput. 30(5), 63–70 (1997)
Lettrari, M., Klose, J.: Scenario-based monitoring and testing of real-time UML models. In: Gogolla, M., Kobryn, C. (eds.) Proc. 4th Int. Conf. on the Unified Modeling Language, Modeling Languages, Concepts, and Tools, Lecture Notes in Computer Science, vol. 2185, pp. 317–328. Springer, Berlin (2001)
Lin J., Keogh E.J., Lonardi S.: Visualizing and discovering non-trivial patterns in large time series databases. Info. Vis. 4(2), 61–82 (2005)
Lo, D., Maoz, S.: Mining scenario-based triggers and effects. In: Proc. 23rd IEEE/ACM Int. Conf. on Automated Software Engineering (ASE 2008), pp. 109–118. IEEE (2008)
Maoz, S.: Model-based traces. In: Chaudron, M. (eds.) Workshops and Symposia at MoDELS 2008, Reports and Revised Selected Papers, Lecture Notes in Computer Science, vol. 5421, pp. 109–119. Springer, Berlin (2009, Presented at the 3rd Int. Workshop on Models at Runtime (Models@Run.time 2008), at MoDELS’08.)
Maoz, S.: Polymorphic scenario-based specification models: semantics and applications. In: Schürr, A., Selic, B. (eds.) Proc. 12th Int. Conf. on Model Driven Engineering Languages and Systems (MoDELS’09), Lecture Notes in Computer Science, vol. 5795, pp. 499–513. Springer, Berlin (2009)
Maoz S., Harel D.: From multi-modal scenarios to code: compiling LSCs into AspectJ. In: Young, M., Devanbu, P.T. (eds) Proc. 14th ACM SIGSOFT Int. Symp. on Foundations of Software Engineering (FSE’06), pp. 219–230. ACM Press, USA (2006)
Maoz, S., Kleinbort, A., Harel, D.: Towards trace visualization and exploration for reactive systems. In: Cox, P., Hosking, J. (eds.) Proc. of IEEE Symp. on Visual Languages and Human-Centric Computing (VL/HCC’07), pp. 153–156. IEEE Computer Society (2007)
Maoz, S., Metsä, J., Katara, M.: Model-based testing using LSCs and S2A. In: Schürr, A., Selic, B. (eds.) Proc. 12th Int. Conf. on Model Driven Engineering Languages and Systems (MoDELS’09), Lecture Notes in Computer Science, vol. 5795, pp. 301–306. Springer, Berlin (2009)
Marelly, R., Harel, D., Kugler, H.: Multiple instances and symbolic variables in executable sequence charts. In: Proc. Int. Conf. on Object-Oriented Programming, Languages, and Applications (OOPSLA’02), pp. 83–100. ACM (2002)
McGavin, M., Wright, T., Marshall, S.: Visualisations of execution traces (VET): an interactive plugin-based visualisation tool. In: Piekarski, W. (ed.) Proc. 7th Australasian User Interface Conf. (AUIC’06), CRPIT, vol. 50, pp. 153–160. Australian Computer Society (2006)
Myers E.W.: An O(ND) difference algorithm and its variations. Algorithmica 1(2), 251–266 (1986)
Needlemana S.B., Wunscha C.D.: A general method applicable to the search for similarities in the amino acid sequence of two proteins. J. Mol. Biol. 48(3), 443–453 (1970)
Orso A., Jones J.A., Harrold M.J.: Visualization of program-execution data for deployed software. In: Diehl, S., Stasko, J.T., Spencer, S.N. (eds) Proc. ACM Symp. on Software Visualization (SoftVis’03), pp. 67–76. ACM, USA (2003)
Pauw, W.D., Jensen, E., Mitchell, N., Sevitsky, G., Vlissides, J.M., Yang, J.: Visualizing the execution of Java programs. In: Diehl, S. (ed.) Revised Lect. on Software Visualization, Int. Seminar, Lecture Notes in Computer Science, vol. 2269, pp. 151–162. Springer, Berlin (2002)
Perlin, K., Fox, D.: Pad: An alternative approach to the computer interface. In: Proc. 20th Conf. on Computer Graphics and Interactive Techniques (SIGGRAPH’93), pp. 57–64. ACM Press, USA (1993)
Reiss, S.P.: Visualizing program execution using user abstractions. In: Kraemer, E., Burnett, M.M., Diehl, S. (eds.) Proc. 2006 ACM Symp. on Software Visualization (SoftVis’06), pp. 125–134. ACM Press, USA (2006)
Reiss S.P.: Visual representations of executing programs. J. Vis. Lang. Comput. 18(2), 126–148 (2007)
Reiss S.P., Renieris M.: Jove: Java as it happens. In: Naps, T.L., Pauw, W.D. (eds) Proc. 2005 ACM Symp. on Software Visualization (SoftVis’05)., pp. 115–124. ACM Press, USA (2005)
Shneiderman, B.: The eyes have it: a task by data type taxonomy for information visualizations. In: Proc. IEEE Symp. on Visual Languages (VL’96), pp. 336–343. IEEE Computer Society (1996)
Smith T.F., Waterman M.S.: Identification of common molecular subsequences. J. Mol. Biol. 147(1), 195–197 (1981)
Stasko, J.T., Domingue, J.B., Brown, M.H., Price, B.A. (eds): Software Visualization. MIT Press, Cambridge (1998)
van Wijk, J.J., van Selow, E.R.: Cluster and calendar based visualization of time series data. In: Proc. 1999 IEEE Symp. on Information Visualization (INFOVIS’99), pp. 4–9. IEEE Computer Society (1999)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Robert France.
Preliminary version appeared in VL/HCC ’07: Proc. IEEE Symp. on Visual Languages and Human-Centric Computing (September 2007) [46]. This research was supported in part by the John von Neumann Minerva Center for the Development of Reactive Systems at the Weizmann Institute of Science, and by an Advanced Research Grant from the European Research Council (ERC) under the European Community’s Seventh Framework Programme (FP7/2007-2013).
Rights and permissions
About this article
Cite this article
Maoz, S., Harel, D. On tracing reactive systems. Softw Syst Model 10, 447–468 (2011). https://doi.org/10.1007/s10270-010-0151-2
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-010-0151-2