Advertisement

TRAP: trace runtime analysis of properties

  • Daian Yue
  • Vania Joloboff
  • Frédéric MalletEmail author
Research Article
  • 14 Downloads

Abstract

We present a method and a tool for the verification of causal and temporal properties for embedded systems. We analyze trace streams resulting from the execution of virtual prototypes that combine simulated hardware and embedded software. The main originality lies in the use of logical clocks to abstract away irrelevant information from the trace. We propose a model-based approach that relies on domain specific languages (DSL). A first DSL, called TISL (trace item specification language), captures the relevant data structures. A second DSL, called STML (simulation trace mapping language), abstracts the simulation raw data into logical clocks, abstracting simulation data into relevant observation probes and thus reducing the trace streams size. The third DSL, called TPSL, defines a set of behavioral patterns that include widely used temporal properties. This is meant for users who are not familiar with temporal logics. Each pattern is transformed into an automata. All the automata are executed concurrently and each one raises an error if and when the related TPSL property is violated. The contribution is the integration of this pattern-based property specification language into the SimSoC virtual prototyping framework without requiring to recompile all the simulation models when the properties evolve. We illustrate our approach with experiments that show the possibility to use multi-core platforms to parallelize the simulation and verification processes, thus reducing the verification time.

Keywords

runtime verification trace analysis property specification logical clocks simulation virtual prototyping 

Notes

Acknowledgements

This work was supported by the Sino-European LIAMA Laboratory and by the INRIA Sophia Antipolis Research Center.

Supplementary material

11704_2018_7217_MOESM1_ESM.pdf (1.6 mb)
TRAP: trace runtime analysis of properties

References

  1. 1.
    Dahan A, Geist D, Gluhovsky L, Pidan D, Shapir G, Wolfsthal Y, Benalycherif L, Kamidem R, Lahbib Y. Combining system level modeling with assertion based verification. In: Proceedings of the 6th International Symposium on Quality Electronic Design. 2005, 310–315Google Scholar
  2. 2.
    Foster H. Assertion-based verification: industry myths to realities. In: Proceedings of International Conference on Computer Aided Verification. 2008, 5–10Google Scholar
  3. 3.
    Krahl D. Debugging simulation models. In: Proceedings of the Winter Simulation Conference. 2005, 62–68Google Scholar
  4. 4.
    Leucker M, Schallhart C. A brief account of runtime verification. The Journal of Logic and Algebraic Programming, 2009, 78(5): 293–303CrossRefGoogle Scholar
  5. 5.
    Pnueli A. The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on Foundations of Computer Science. 1977, 46–57Google Scholar
  6. 6.
    Balarin F, Burch J, Lavagno L, Watanabe Y, Passerone R, Sangiovanni-Vincentelli A. Constraints specification at higher levels of abstraction. In: Proceedings of IEEE International High Level Design Validation and Test Workshop. 2001, 129–133Google Scholar
  7. 7.
    Chen X, Hsieh H, Balarin F, Watanabe Y. Automatic trace analysis for logic of constraints. In: Proceedings of the 40th Annual Design Automation Conference. 2003, 460–465Google Scholar
  8. 8.
    Hong W, Viehl A, Bannow N, Kerstan C, Post H, Bringmann O, Rosenstiel W. Cult: a unified framework for tracing and logging c-based designs. In: Proceedings of the System, Software, SoC and Silicon Debug Conference. 2012, 1–6Google Scholar
  9. 9.
    Tabakov D, Kamhi G, Vardi M Y, Singerman E. A temporal language for systemc. In: Proceedings of International Conference on Formal Methods in Computer-Aided Design. 2008, 1–9Google Scholar
  10. 10.
    Khlif M, Shawky M, Tahan O. Co-simulation trace analysis (cosita) tool for vehicle electronic architecture diagnosability analysis. In: Proceedings of IEEE Intelligent Vehicles Symposium. 2010, 572–578Google Scholar
  11. 11.
    Bhargavan K, Gunter C, Kim M, Lee I, Obradovic D, Sokolsky O, Viswanathan M. Verisim: formal analysis of network simulations. IEEE Transactions on Software Engineering, 2002, 28(2): 129–145CrossRefGoogle Scholar
  12. 12.
    Kim M, Viswanathan M, Ben-Abdallah H, Kannan S, Lee I, Sokolsky O. Formally specified monitoring of temporal properties. In: Proceedings of the 11th Euromicro Conference on Real-Time Systems. 1999, 114–122Google Scholar
  13. 13.
    Dwyer M B, Avrunin G S, Corbett J C. Patterns in property specifications for finite-state verification. In: Proceedings of International Conference on Software Engineering. 1999, 411–420Google Scholar
  14. 14.
    Konrad S, Cheng B H. Real-time specification patterns. In: Proceedings of the 27th International Conference on Software Engineering. 2005, 372–381Google Scholar
  15. 15.
    Some S, Dssouli R, Vaucher J. From scenarios to timed automata: building specifications from users requirements. In: Proceedings of Asia Pacific Software Engineering Conference. 1995, 48–57Google Scholar
  16. 16.
    Tsai W T, Yu L, Zhu F, Paul R. Rapid embedded system testing using verification patterns. IEEE Software, 2005, 22(4): 68–75CrossRefGoogle Scholar
  17. 17.
    Tokarnia A M, Cruz E P. Scenario patterns and trace-based temporal verification of reactive embedded systems. In: Proceedings of Euromicro Conference on Digital System Design. 2013, 734–741Google Scholar
  18. 18.
    Hegedüs Á, Ráth I, Varró D. Replaying execution trace models for dynamic modeling languages. Periodica Polytechnica Electrical Engineering and Computer Science, 2012, 56(3): 71CrossRefGoogle Scholar
  19. 19.
    Eschweiler D, Wagner M, Geimer M, Knüpfer A, Nagel W E, Wolf F. Open Trace Format 2: the next generation of scalable trace formats and support libraries. In: Proceedings of PARCO. 2011, 481–490Google Scholar
  20. 20.
    Hamou-Lhadj A, Lethbridge T C. A metamodel for the compact but lossless exchange of execution traces. Software & Systems Modeling, 2012, 11(1): 77–98CrossRefGoogle Scholar
  21. 21.
    Mallet F, André C, Simone D R. CCSL: specifying clock constraints with UML/Marte. Innovations in Systems and Software Engineering, 2008, 4(3): 309–314CrossRefGoogle Scholar
  22. 22.
    Lamport L. Time, clocks, and the ordering of events in a distributed system. Communications of the ACM, 1978, 21(7): 558–565CrossRefGoogle Scholar
  23. 23.
    Benveniste A, Caspi P, Edwards S A, Halbwachs N, Le Guernic P, Simone D R. The synchronous languages 12 years later. Proceedings of the IEEE, 2003, 91(1): 64–83CrossRefGoogle Scholar
  24. 24.
    Gascon R, Mallet F, DeAntoni J. Logical time and temporal logics: comparing UML MARTE/CCSL and PSL. In: Proceedings of the International Symposium on Temporal Representation and Reasoning. 2011, 141–148Google Scholar
  25. 25.
    André C. Syntax and semantics of the clock constraint specification language (CCSL). Research Report RR-6925, INRIA, 2009Google Scholar
  26. 26.
    Deantoni J, Diallo I P, Teodorov C, Champeau J, Combemale B. Towards a meta-language for the concurrency concern in DSLs. In: Proceedings of 2015 Design, Automation & Test in Europe Conference & Exhibition. 2015, 313–316Google Scholar
  27. 27.
    André C, Mallet F. Specification and verification of time requirements with CCSL and esterel. ACM Sigplan Notices, 2009, 44(7): 167–176CrossRefGoogle Scholar
  28. 28.
    Yu H, Talpin J, Besnard L, Gautier T, Marchand H, Guernic P L. Polychronous controller synthesis from MARTE CCSL timing specifications. In: Proceedings of the 9th IEEE/ACM International Conference on Formal Methods and Models for Codesign. 2011, 21–30Google Scholar
  29. 29.
    DeAntoni J, Mallet F. Timesquare: treat your models with logical time. In: Proceedings of the 50th International Conference on Objects, Models, Components, Patterns. 2012, 34–41CrossRefGoogle Scholar
  30. 30.
    Noord V G, Gerdemann D. Finite state transducers with predicates and identities. Grammars, 2001, 4(3): 263–286MathSciNetCrossRefGoogle Scholar
  31. 31.
    Veanes M, Hooimeijer P, Livshits B, Molnar D, Bjorner N. Symbolic finite state transducers: algorithms and applications. ACM SIGPLAN Notices, 2012, 47(1): 137–150CrossRefGoogle Scholar
  32. 32.
    Helmstetter C, Joloboff V. SimSoC: a systemC TLM integrated ISS for full system simulation. In: Proceedings of IEEE Asia PacificConference on Circuits and Systems. 2008, 1759–1762Google Scholar
  33. 33.
    Joloboff V, Gerstlauer A. Virtual prototyping of embedded systems: speed and accuracy tradeoffs. In: Nakajima S, Talpin J P, Toyoshima M, Yu H, eds. Cyber Physical System Design from an Architecture Analysis Viewpoint: Communications of NII Shonan Meetings. Springer, Singapore, 2017, 1–31Google Scholar
  34. 34.
    Drechsler R, Soeken M, Wille R. Formal specification level: towards verification-driven design based on natural language processing. In: Proceedings of the 2012 Forum on Specification and Design Languages. 2012, 53–58Google Scholar
  35. 35.
    IEEE. Property Specification Language (PSL), 2010Google Scholar
  36. 36.
    Steinberg D, Budinsky F, Merks E, Paternostro M. EMF: Eclipse Modeling Framework. Pearson Education, 2008Google Scholar

Copyright information

© Higher Education Press and Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  • Daian Yue
    • 1
    • 2
  • Vania Joloboff
    • 1
    • 2
  • Frédéric Mallet
    • 1
    • 3
    Email author
  1. 1.MOE Trustworthy Software International Joint LabEast China Normal UniversityShanghaiChina
  2. 2.INRIARennesFrance
  3. 3.CNRS, INRIA, I3SUniversité Cote d’AzurSophia AntipolisFrance

Personalised recommendations