Skip to main content
Log in

On tracing reactive systems

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Eclipse Test and Performance Tools Platform. http://www.eclipse.org/tptp/

  2. Eclipse UML2 Project. http://www.eclipse.org/modeling/mdt/?project=uml2

  3. IBM Rational Software Architect. http://www.ibm.com/software/awdtools/architect/swarchitect/

  4. IBM (Telelogic) Rhapsody. http://modeling.telelogic.com/products/rhapsody/index.cfm

  5. PacMan game code. http://www.bennychow.com/

  6. S2A website. http://www.wisdom.weizmann.ac.il/~maozs/s2a/

  7. The AspectJ project at Eclipse.org. http://www.eclipse.org/aspectj/

  8. The jaret timebars. http://jaret.de/timebars/

  9. Tracer website. http://www.wisdom.weizmann.ac.il/~maozs/tracer/

  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)

    Article  Google Scholar 

  11. Alur R., Henzinger T.A.: A really temporal logic. J. ACM 41(1), 181–203 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  12. Asarin E., Maler O., Pnueli A.: Reachability analysis of dynamical systems having piecewise-constant derivatives. Theor. Comput. Sci. 138(1), 35–65 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  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)

  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)

    Article  Google Scholar 

  15. Damm W., Harel D.: LSCs: breathing life into message sequence charts. J. Formal Methods Syst. Des. 19(1), 45–80 (2001)

    Article  MATH  Google Scholar 

  16. Diehl S.: Software Visualization—Visualizing the Structure, Behaviour, and Evolution of Software. Springer, Berlin (2007)

    MATH  Google Scholar 

  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. 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)

  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)

  20. Harel D.: Statecharts: a visual formalism for complex systems. Sci. Comput. Prog. 8, 231–274 (1987)

    Article  MathSciNet  MATH  Google Scholar 

  21. Harel D., Gery E.: Executable object modeling with statecharts. IEEE Comput. 30(7), 31–42 (1997)

    Google Scholar 

  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)

  23. Harel D., Kugler H.: Synthesizing state-based object systems from LSC specifications. Int. J. Found. Comput. Sci. 13(1), 5–51 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  24. Harel D., Maoz S.: Assert and negate revisited: modal semantics for UML sequence diagrams. Softw. Syst. Model. (SoSyM) 7(2), 237–252 (2008)

    Article  Google Scholar 

  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)

  26. Harel D., Marelly R.: Come, Let’s Play: Scenario-Based Programming Using LSCs and the Play-Engine. Springer, Berlin (2003)

    Google Scholar 

  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)

    Article  Google Scholar 

  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. 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)

  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)

    Article  Google Scholar 

  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)

  32. ITU: International Telecommunication Union Recommendation Z.120: Message Sequence Charts. Tech. rep. (1996)

  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)

  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)

  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)

  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)

  37. Koza J.: Genetic Programming: On The Programming of Computers by Means of Natural Selection. MIT Press, Cambridge (1992)

    MATH  Google Scholar 

  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)

  39. Lange D.B., Nakamura Y.: Object-oriented program tracing and visualization. IEEE Comput. 30(5), 63–70 (1997)

    Google Scholar 

  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)

  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)

    Article  Google Scholar 

  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)

  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.)

  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)

  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)

    Chapter  Google Scholar 

  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)

  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)

  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)

  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)

  50. Myers E.W.: An O(ND) difference algorithm and its variations. Algorithmica 1(2), 251–266 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

  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)

  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)

  56. Reiss S.P.: Visual representations of executing programs. J. Vis. Lang. Comput. 18(2), 126–148 (2007)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

  59. Smith T.F., Waterman M.S.: Identification of common molecular subsequences. J. Mol. Biol. 147(1), 195–197 (1981)

    Article  Google Scholar 

  60. Stasko, J.T., Domingue, J.B., Brown, M.H., Price, B.A. (eds): Software Visualization. MIT Press, Cambridge (1998)

    Google Scholar 

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Shahar Maoz.

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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0151-2

Keywords

Navigation