Software & Systems Modeling

, Volume 10, Issue 4, pp 447–468 | Cite as

On tracing reactive systems

  • Shahar MaozEmail author
  • David Harel
Regular Paper


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.


Software visualization UML interactions Sequence diagrams Live sequence charts Model-based traces Dynamic analysis 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Eclipse Test and Performance Tools Platform.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
    PacMan game code.
  6. 6.
  7. 7.
    The AspectJ project at
  8. 8.
    The jaret timebars.
  9. 9.
  10. 10.
    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)CrossRefGoogle Scholar
  11. 11.
    Alur R., Henzinger T.A.: A really temporal logic. J. ACM 41(1), 181–203 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Asarin E., Maler O., Pnueli A.: Reachability analysis of dynamical systems having piecewise-constant derivatives. Theor. Comput. Sci. 138(1), 35–65 (1995)MathSciNetzbMATHCrossRefGoogle Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    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)CrossRefGoogle Scholar
  15. 15.
    Damm W., Harel D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001)zbMATHCrossRefGoogle Scholar
  16. 16.
    Diehl S.: Software Visualization—Visualizing the Structure, Behaviour, and Evolution of Software. Springer, Berlin (2007)zbMATHGoogle Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Harel D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Prog. 8, 231–274 (1987)MathSciNetzbMATHCrossRefGoogle Scholar
  21. 21.
    Harel D., Gery E.: Executable object modeling with statecharts. IEEE Comput. 30(7), 31–42 (1997)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Harel D., Kugler H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comput. Sci. 13(1), 5–51 (2002)MathSciNetzbMATHCrossRefGoogle Scholar
  24. 24.
    Harel D., Maoz S.: Assert and negate revisited: modal semantics for UML sequence diagrams. Softw. Syst. Model. (SoSyM) 7(2), 237–252 (2008)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    Harel D., Marelly R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Berlin (2003)Google Scholar
  27. 27.
    Harel D., Marelly R.: Specifying and executing behavioral requirements: the play-in/play-out approach. Softw. Syst. Model. (SoSyM) 2(2), 82–107 (2003)CrossRefGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    Hochheiser H., Shneiderman B.: Dynamic query tools for time series data sets: timebox widgets for interactive exploration. Info. Vis. 3(1), 1–18 (2004)CrossRefGoogle Scholar
  31. 31.
    Hosking, J.G.: Visualisation of object oriented program execution. In: Proc. 1996 IEEE Symp. on Visual Languages, pp. 190–191. IEEE Computer Society (1996)Google Scholar
  32. 32.
    ITU: International Telecommunication Union Recommendation Z.120: Message Sequence Charts. Tech. rep. (1996)Google Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    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)Google Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    Koza J.: Genetic Programming: On The Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)zbMATHGoogle Scholar
  38. 38.
    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)Google Scholar
  39. 39.
    Lange D.B., Nakamura Y.: Object-oriented program tracing and visualization. IEEE Comput. 30(5), 63–70 (1997)Google Scholar
  40. 40.
    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)Google Scholar
  41. 41.
    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)CrossRefGoogle Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    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.)Google Scholar
  44. 44.
    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)Google Scholar
  45. 45.
    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)CrossRefGoogle Scholar
  46. 46.
    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)Google Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    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)Google Scholar
  49. 49.
    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)Google Scholar
  50. 50.
    Myers E.W.: An O(ND) difference algorithm and its variations. Algorithmica 1(2), 251–266 (1986)MathSciNetzbMATHCrossRefGoogle Scholar
  51. 51.
    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)CrossRefGoogle Scholar
  52. 52.
    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)CrossRefGoogle Scholar
  53. 53.
    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)Google Scholar
  54. 54.
    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)Google Scholar
  55. 55.
    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)Google Scholar
  56. 56.
    Reiss S.P.: Visual representations of executing programs. J. Vis. Lang. Comput. 18(2), 126–148 (2007)CrossRefGoogle Scholar
  57. 57.
    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)CrossRefGoogle Scholar
  58. 58.
    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)Google Scholar
  59. 59.
    Smith T.F., Waterman M.S.: Identification of common molecular subsequences. J. Mol. Biol. 147(1), 195–197 (1981)CrossRefGoogle Scholar
  60. 60.
    Stasko, J.T., Domingue, J.B., Brown, M.H., Price, B.A. (eds): Software Visualization. MIT Press, Cambridge (1998)Google Scholar
  61. 61.
    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)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  1. 1.The Weizmann Institute of ScienceRehovotIsrael

Personalised recommendations