SALT—Structured Assertion Language for Temporal Logic

  • Andreas Bauer
  • Martin Leucker
  • Jonathan Streit
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4260)


This paper presents Salt. Salt is a general purpose specification and assertion language developed for creating concise temporal specifications to be used in industrial verification environments. It incorporates ideas of existing approaches, such as specification patterns, but also provides nested scopes, exceptions, support for regular expressions and real-time. The latter is needed in particular for verification tasks to do with reactive systems imposing strict execution times and deadlines. However, unlike other formalisms used for temporal specification of properties, Salt does not target a specific domain. The paper details on the design rationale, syntax and semantics of Salt in terms of a translation to temporal (real-time) logic, as well as on the realisation in form of a compiler. Our results will show that the higher level of abstraction introduced with Salt does not deprave the efficiency of the subsequent verification tools—rather, on the contrary.


Model Check Temporal Logic Regular Expression Linear Temporal Logic Atomic Proposition 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ABKV03]
    Armoni, R., Bustan, D., Kupferman, O., Vardi, M.Y.: Resets vs. aborts in linear temporal logic. In: International Conference on Tools and Algorithms for Construction and Analysis of Systems, pp. 65–80. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  2. [AFF+02]
    Armoni, R., Fix, L., Flaisher, A., Gerth, R., Ginsburg, B., Kanza, T., Landver, A., Mador-Haim, S., Singerman, E., Tiemeyer, A., Vardi, M.Y., Zbar, Y.: The ForSpec temporal logic: A new temporal property-specification language. In: Tools and Algorithms for Construction and Analysis of Systems, pp. 296–211 (2002)Google Scholar
  3. [BBDE+01]
    Beer, I., Ben-David, S., Eisner, C., Fisman, D., Gringauze, A., Rodeh, Y.: The temporal logic Sugar. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 363–367. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. [BGHS04]
    Barringer, H., Goldberg, A., Havelund, K., Sen, K.: Rule-based runtime verification. In: Fifth International Conference on Verification, Model Checking and Abstract Interpretation (2004)Google Scholar
  5. [BKKS05]
    Botaschanjan, J., Kof, L., Kühnel, C., Spichkova, M.: Towards Verified Automotive Software. In: ACM (ed.) Proceedings of the 2nd International ICSE Workshop on Automotive Software. ACM Press, New York (2005)Google Scholar
  6. [CDHR01]
    Corbett, J., Dwyer, M., Hatcliff, J., Robby.: Expressing checkable properties of dynamic systems: The Bandera specification language. Technical Report 04, Kansas State University, Department of Computing and Information Sciences (2001)Google Scholar
  7. [CGP99]
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press, Cambridge (1999)Google Scholar
  8. [CHR91]
    ChaoChen, Z., Hoare, T., Ravn, A.P.: A calculus of durations. Information Processing Letters 40(5), 269–276 (1991)zbMATHCrossRefMathSciNetGoogle Scholar
  9. [DAC99]
    Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: Proceedings of the 21st International Conference on Software Engineering (1999)Google Scholar
  10. [DDH72]
    Dahl, O.J., Dijkstra, E.W., Hoare, C.A.R.: Structured Programming. Academic Press, London (1972)zbMATHGoogle Scholar
  11. [D’S03]
    D’Souza, D.: A logical characterisation of event clock automata. International Journal of Foundations of Computer Science (IJFCS) 14(4), 625–639 (2003)zbMATHCrossRefMathSciNetGoogle Scholar
  12. [FMW05]
    Foster, H., Marschner, E., Wolfsthal, Y.: IEEE 1850 PSL: The next generation. In: DVCon (2005)Google Scholar
  13. [Fri03]
    Fritz, C.: Constructing Büchi automata from linear temporal logic using simulation relations for alternating Büchi automata. In: H. Ibarra, O., Dang, Z. (eds.) CIAA 2003. LNCS, vol. 2759, pp. 35–48. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  14. [GHJV94]
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1994)Google Scholar
  15. [GO01]
    Gastin, P., Oddoux, D.: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  16. [GPSS80]
    Gabbay, D., Pnueli, A., Shelah, S., Stavi, J.: On the temporal analysis of fairness. In: Proceedings of the 7th ACM SIGPLAN-SIGACT symposium on Principles of programming languages (POPL), pp. 163–173. ACM Press, New York (1980)CrossRefGoogle Scholar
  17. [Hol97]
    Holzmann, G.J.: The model checker Spin. IEEE Trans. on Software Engineering 23, 279–295 (1997)CrossRefGoogle Scholar
  18. [HSSS96]
    Huber, F., Schatz, B., Schmidt, A., Spies, K.: AutoFocus: A tool for distributed systems specification. In: Proceedings of Formal Techniques in Real-Time and Fault Tolerant Systems, pp. 467–470. Springer, Heidelberg (1996)Google Scholar
  19. [Kam68]
    Kamp, J.A.W.: Tense Logic and the Theory of Linear Order. PhD thesis, University of California, Los Angeles (1968)Google Scholar
  20. [Mar03]
    Markey, N.: Temporal logic with past is exponentially more succinct, concurrency column. Bulletin of the EATCS 79, 122–128 (2003)zbMATHMathSciNetGoogle Scholar
  21. [McM92]
    McMillan, K.L.: The SMV system, symbolic model checking - an approach. Technical Report CMU-CS-92-131, Carnegie Mellon University (1992)Google Scholar
  22. [MP95]
    Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems. Springer, New York (1995)Google Scholar
  23. [Pnu77]
    Pnueli, A.: The temporal logic of programs. In: Proceedings of the 18th IEEE Symposium on the Foundations of Computer Science (FOCS-77), Providence, Rhode Island, pp. 46–57. IEEE Computer Society Press, Los Alamitos (1977)Google Scholar
  24. [RS97]
    Raskin, J.-F., Schobbens, P.-Y.: State clock logic: A decidable real-time logic. In: Maler, O. (ed.) HART 1997. LNCS, vol. 1201, pp. 33–47. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  25. [TS05]
    Tuerk, T., Schneider, K.: From PSL to LTL: A formal validation in HOL. In: Theorem Proving in Higher Order Logic (TPHOL), Oxford, UK. LNCS. Springer, Heidelberg (2005)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Andreas Bauer
    • 1
  • Martin Leucker
    • 1
  • Jonathan Streit
    • 1
  1. 1.Institut für InformatikTechnische Universität München 

Personalised recommendations