A Tool Architecture for the Next Generation of Uppaal

  • Alexandre David
  • Gerd Behrmann
  • Kim G. Larsen
  • Wang Yi
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2757)


We present the design of the model-checking engine and internal data structures for the next generation of Uppaal. The design is based on a pipeline architecture where each stage represents one independent operation in the verification algorithms. The architecture is based on essentially one shared data structure to reduce redundant computations in state exploration, which unifies the so-called passed and waiting lists of the traditional reachability algorithm. In the implementation, instead of using standard memory management functions from general-purpose operating systems, we have developed a special-purpose storage manager to best utilize sharing in physical storage. We present experimental results supporting these design decisions. It is demonstrated that the new design and implementation improves the efficiency of the current distributed version of Uppaal by about 60% in time and 80% in space.


Hash Table Symbolic State Discrete Part Pipeline Architecture Reference Implementation 
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. 1.
    Alur, R., Dill, D.L.: A theory of timed automata. Theoretical Computer Science 126, 183–235 (1994)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Behrmann, G., Fehnker, A., Hune, T.S., Larsen, K., Petterson, P., Romijn, J.: Efficient guiding towards cost-optimality in uppaal. In: Margaria, T., Yi, W. (eds.) TACAS 2001. LNCS, vol. 2031, p. 174. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Behrmann, G., Hune, T., Vaandrager, F.: Distributed timed model checking - How the search order matters. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (July 2000)CrossRefGoogle Scholar
  4. 4.
    Behrmann, G., Larsen, K.G., Pearson, J., Weise, C., Yi, W.: Efficient timed reachability analysis using clock difference diagrams. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 341–353. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  5. 5.
    Bengtsson, J.: Reducing memory usage in symbolic state-space exploration for timed systems. Technical Report 2001-009, Uppsala University, Department of Information Technology (May 2001)Google Scholar
  6. 6.
    Bengtsson, J., David Griffioen, W.O., Kristoffersen, K.J., Larsen, K.G., Larsson, F., Pettersson, P., Yi, W.: Verification of an Audio Protocol with Bus Collision Using Uppaal. In: Alur, R., Henzinger, T.A. (eds.) CAV 1996. LNCS, vol. 1102, pp. 244–256. Springer, Heidelberg (1996)Google Scholar
  7. 7.
    Bengtsson, J., Larsen, K.G., Larsson, F., Pettersson, P., Yi, W.: Uppaal — a Tool Suite for Automatic Verification of Real–Time Systems. In: HS 1995. LNCS, vol. 1066, pp. 232–243. Springer, Heidelberg (1995)Google Scholar
  8. 8.
    Bouyer, P., Dufourd, C., Fleury, E., Petit, A.: Are timed automata updatable? In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  9. 9.
    Bryant, R.E.: Graph-based algorithms for boolean function manipulation. Transactions on Computers C-35(8), IEEE (August 1986)Google Scholar
  10. 10.
    Daws, C., Yovine, S.: Reducing the number of clock variables of timed automata. In: Proceedings of the 1996 IEEE Real-Time Systems Symposium, RTSS 1996. IEEE Computer Society Press, Los Alamitos (1996)Google Scholar
  11. 11.
    Christensen, S., Kristensen, L.M.: State space analysis of hierarchical coloured petri nets. In: Farwer, B., Moldt, D., Stehr, M.-O. (eds.) Proceedings of Workshop on Petri Nets in System Engineering (PNSE 1997) Modelling, Verification, and Validation, Hamburg, Germany, vol. 205, pp. 32–43 (1997)Google Scholar
  12. 12.
    Ciardo, G.F., Nicol, D.M.: Automated parallelization of discrete state-space generation. Journal of Parallel and Distributed Computing 47, 153–167 (1997)CrossRefGoogle Scholar
  13. 13.
    David, A., Möller, O., Yi, W.: Formal verification uml statecharts with real time extensions. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 218–232. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  14. 14.
    David, A., Yi, W.: Modeling and analysis of a commercial field bus protocol. In: Proc. of the 12th Euromicro Conference on Real Time Systems, pp. 165–172. IEEE Computer Society, Los Alamitos (2000)CrossRefGoogle Scholar
  15. 15.
    Holzmann, G.J.: On limits and possibilities of automated protocol analysis. In: Proc. 7th IFIP WG 6.1 Int. Workshop on Protocol Specification, Testing, and Verification, pp. 137–161 (1987)Google Scholar
  16. 16.
    Holzmann, G.J.: The model checker spin. IEEE Transactions on Software Engineering 23 (May 1997)Google Scholar
  17. 17.
    Hune, T., Larsen, K.G., Pettersson, P.: Guided Synthesis of Control Programs Using Uppaal. In: Lai, T.H. (ed.) Proc. of the IEEE ICDCS International Workshop on Distributed Systems Verification and Validation, April 2000, vol. E15–E22. IEEE Computer Society Press, Los Alamitos (2000)Google Scholar
  18. 18.
    Larsson, F., Larsen, K.G., Pettersson, P., Yi, W.: Efficient Verification of Real-Time Systems: Compact Data Structures and State-Space Reduction. In: Proc. of the 18th IEEE Real-Time Systems Symposium, pp. 14–24. IEEE Computer Society Press, Los Alamitos (1997)Google Scholar
  19. 19.
    Lindahl, M., Pettersson, P., Yi, W.: Formal Design and Analysis of a Gear-Box Controller. In: Steffen, B. (ed.) TACAS 1998. LNCS, vol. 1384, pp. 281–297. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  20. 20.
    Lönn, H., Pettersson, P.: Formal Verification of a TDMA Protocol Startup Mechanism. In: Proc. of the Pacific Rim Int. Symp. on Fault-Tolerant Systems, pp. 235–242 (December 1997)Google Scholar
  21. 21.
    Wong-Toi, H.: Symbolic Approximations for Verifying Real-Time Systems. PhD thesis, Standford University (1995)Google Scholar
  22. 22.
    Yovine, S.: Kronos: A verification tool for real time systems. Int. Journal on Software Tools for Technology Transfer, 134–152 (October 1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Alexandre David
    • 1
  • Gerd Behrmann
    • 2
  • Kim G. Larsen
    • 2
  • Wang Yi
    • 1
  1. 1.Department of Information TechnologyUppsala UniversitySweden
  2. 2.Department of Computer ScienceAalborg UniversityDenmark

Personalised recommendations