Software & Systems Modeling

, Volume 10, Issue 2, pp 147–160 | Cite as

Formalizing requirements with object models and temporal constraints

  • Alessandro Cimatti
  • Marco Roveri
  • Angelo Susi
  • Stefano TonettaEmail author
Special Section Paper


Flaws in requirements often have a negative impact on the subsequent development phases. In this paper, we present a novel approach for the formal representation and validation of requirements, which we used in an industrial project. The formalism allows us to represent and reason about object models and their temporal evolution. The key ingredients are class diagrams to represent classes of objects, their relationships and their attributes, fragments of first order logic to constrain the possible configurations of such objects, and temporal logic operators to deal with the dynamic evolution of the configurations. The approach to formal validation allows to check whether the requirements are consistent, if they are compatible with some scenarios, and if they guarantee some implicit properties. The validation procedure is based on satisfiability checking, which is carried out by means of finite instantiation and model checking techniques.


Formal requirement engineering Temporal logic Railway domain European Train Control System (ETCS) 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    IEEE Standard for Property Specification Language (PSL). IEEE Std 1850–2005 (2005)Google Scholar
  2. 2.
    IEEE Standard for System Verilog—Unified Hardware Design, Specification, and Verification Language. IEEE Std 1800–2005 (2005)Google Scholar
  3. 3.
    Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: TACAS, pp. 193–207 (1999)Google Scholar
  4. 4.
    Bresciani P., Giorgini P., Giunchiglia F., Mylopoulos J., Perini A.: Tropos: an agent-oriented software development methodology. Autonom. Agents Multi-Agent Syst. 8(3), 203–236 (2004)CrossRefGoogle Scholar
  5. 5.
    Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The MathSAT 4 SMT Solver. In: CAV, pp. 299–303 (2008)Google Scholar
  6. 6.
    Bustan, D., Flaisher, A., Grumberg, O., Kupferman, O., Vardi, M.Y.: Regular vacuity. In: CHARME, pp. 191–206 (2005)Google Scholar
  7. 7.
    Cavada, R., Cimatti, A., Franzén, A., Kalyanasundaram, K., Roveri, M., Shyamasundar, R.K.: Computing predicate abstractions by integrating BDDs and SMT solvers. In: FMCAD, pp. 69–76. IEEE, New York (2007)Google Scholar
  8. 8.
    Cimatti A., Clarke E.M., Giunchiglia F., Roveri M.: NuSMV: a new symbolic model checker. STTT 2(4), 410–425 (2000)zbMATHGoogle Scholar
  9. 9.
    Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theories. In: TACAS, pp. 397–412 (2008)Google Scholar
  10. 10.
    Cimatti, A., Roveri, M., Schuppan, V., Tonetta, S.: Boolean abstraction for temporal logic satisfiability. In: CAV, vol. 4590 of LNCS, pp 532–546. Springer, Heidelberg (2007)Google Scholar
  11. 11.
    Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: From informal requirements to property-driven formal validation. In: FMICS, LNCS, L’Aquila, Italy. Springer, Heidelberg (2008)Google Scholar
  12. 12.
    Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: Object models with temporal constraints. In: SEFM, pp. 249–258. IEEE Computer Society, New York (2008)Google Scholar
  13. 13.
    Cimatti A., Roveri M., Tonetta S.: PSL symbolic compilation. IEEE Trans. CAD Integr. Circ. Syst. 27(10), 1737–1750 (2008)CrossRefGoogle Scholar
  14. 14.
    Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: CAV pp. 154–169 (2000)Google Scholar
  15. 15.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999). ISBN 0-262-03270-7Google Scholar
  16. 16.
    Clarke, E.M., Gupta, A., Kukula, J.H., Strichman, O.: SAT based abstraction-refinement using ILP and machine learning techniques. In: CAV, pp. 265–279 (2002)Google Scholar
  17. 17.
    Clarke E.M., Kroening D., Sharygina N., Yorav K.: Predicate abstraction of ANSI-C programs using SAT. Formal Meth. Syst. Des 25(2–3), 105–127 (2004)CrossRefzbMATHGoogle Scholar
  18. 18.
    Demri S., Lazic R., Nowak D.: On the freeze quantifier in constraint LTL: decidability and complexity. Inf. Comput. 205(1), 2–24 (2007)CrossRefzbMATHMathSciNetGoogle Scholar
  19. 19.
  20. 20.
    System Requirements Specification—ETCS Subset 026 v230 (2006)Google Scholar
  21. 21.
  22. 22.
    Fuxman A., Liu L., Mylopoulos J., Roveri M., Traverso P.: Specifying and analyzing early requirements in tropos. Req. Eng. 9(2), 132–150 (2004)CrossRefGoogle Scholar
  23. 23.
    Ghilardi, S., Nicolini, E., Ranise, S., Zucchelli, D.: Combination Methods for Satisfiability and Model-Checking of Infinite-State Systems. In: CADE, pp. 362–378 (2007)Google Scholar
  24. 24.
    Hodkinson I.M., Wolter F., Zakharyaschev M.: Decidable fragment of first-order temporal logics. Ann. Pure Appl. Logic 106(1–3), 85–134 (2000)CrossRefzbMATHMathSciNetGoogle Scholar
  25. 25.
    Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)CrossRefGoogle Scholar
  26. 26.
    Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: CAV, LNCS, pp. 424–437. Springer, Heidelberg (2006)Google Scholar
  27. 27.
    Lange, M.: Linear Time Logics Around PSL: Complexity, Expressiveness, and a Little Bit of Succinctness. In: CONCUR, pp. 90–104 (2007)Google Scholar
  28. 28.
    Manna Z., Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems, Specification. Springer, Heidelberg (1992)Google Scholar
  29. 29.
    Manna Z., Pnueli A.: Temporal Verification of Reactive Systems: Safety. Springer, New York (1995)Google Scholar
  30. 30.
    OMG Object Constraint Language: OMG available specification Version 2.0 (2006)Google Scholar
  31. 31.
    Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57 (1977)Google Scholar
  32. 32.
    Sebastiani, R., Tonetta, S., Vardi, M.Y.: Property-Driven Partitioning for Abstraction Refinement. In: TACAS, pp. 389–404 (2007)Google Scholar
  33. 33.
    Spivey J.M.: The Z Notation: a reference manual. 2nd edn. Prentice-Hall, Englewood Cliffs (1992)Google Scholar
  34. 34.
    Susi A., Perini A., Giorgini P., Mylopoulos J.: The tropos metamodel and its use. Informatica 29(4), 401–408 (2005)Google Scholar
  35. 35.

Copyright information

© Springer-Verlag 2009

Authors and Affiliations

  • Alessandro Cimatti
    • 1
  • Marco Roveri
    • 1
  • Angelo Susi
    • 1
  • Stefano Tonetta
    • 1
    Email author
  1. 1.Fondazione Bruno Kessler, IRSTPovo (TN)Italy

Personalised recommendations