Skip to main content
Log in

Formalizing requirements with object models and temporal constraints

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

Abstract

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.

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

Access this article

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

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. IEEE Standard for Property Specification Language (PSL). IEEE Std 1850–2005 (2005)

  2. IEEE Standard for System Verilog—Unified Hardware Design, Specification, and Verification Language. IEEE Std 1800–2005 (2005)

  3. Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: TACAS, pp. 193–207 (1999)

  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)

    Article  Google Scholar 

  5. Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The MathSAT 4 SMT Solver. In: CAV, pp. 299–303 (2008)

  6. Bustan, D., Flaisher, A., Grumberg, O., Kupferman, O., Vardi, M.Y.: Regular vacuity. In: CHARME, pp. 191–206 (2005)

  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)

  8. Cimatti A., Clarke E.M., Giunchiglia F., Roveri M.: NuSMV: a new symbolic model checker. STTT 2(4), 410–425 (2000)

    MATH  Google Scholar 

  9. Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theories. In: TACAS, pp. 397–412 (2008)

  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)

  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)

  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)

  13. Cimatti A., Roveri M., Tonetta S.: PSL symbolic compilation. IEEE Trans. CAD Integr. Circ. Syst. 27(10), 1737–1750 (2008)

    Article  Google Scholar 

  14. Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: CAV pp. 154–169 (2000)

  15. Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999). ISBN 0-262-03270-7

  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)

  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)

    Article  MATH  Google Scholar 

  18. Demri S., Lazic R., Nowak D.: On the freeze quantifier in constraint LTL: decidability and complexity. Inf. Comput. 205(1), 2–24 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  19. European train control system. http://www.era.europa.eu/core/ertms/Pages/FirstETCSSRS300.aspx

  20. System Requirements Specification—ETCS Subset 026 v230 (2006)

  21. Formal Verification of ETCS specifications: EuRailCheck. http://www.era.europa.eu/core/ertms/Pages/Feasibility_Study.aspx, and http://es.fbk.eu/events/formal-etcs

  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)

    Article  Google Scholar 

  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)

  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)

    Article  MATH  MathSciNet  Google Scholar 

  25. Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)

    Article  Google Scholar 

  26. Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: CAV, LNCS, pp. 424–437. Springer, Heidelberg (2006)

  27. Lange, M.: Linear Time Logics Around PSL: Complexity, Expressiveness, and a Little Bit of Succinctness. In: CONCUR, pp. 90–104 (2007)

  28. Manna Z., Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems, Specification. Springer, Heidelberg (1992)

    Google Scholar 

  29. Manna Z., Pnueli A.: Temporal Verification of Reactive Systems: Safety. Springer, New York (1995)

    Google Scholar 

  30. OMG Object Constraint Language: OMG available specification Version 2.0 (2006)

  31. Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57 (1977)

  32. Sebastiani, R., Tonetta, S., Vardi, M.Y.: Property-Driven Partitioning for Abstraction Refinement. In: TACAS, pp. 389–404 (2007)

  33. Spivey J.M.: The Z Notation: a reference manual. 2nd edn. Prentice-Hall, Englewood Cliffs (1992)

    Google Scholar 

  34. Susi A., Perini A., Giorgini P., Mylopoulos J.: The tropos metamodel and its use. Informatica 29(4), 401–408 (2005)

    Google Scholar 

  35. UML Version 2.1.2. http://www.omg.org/spec/UML/2.1.2/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Stefano Tonetta.

Additional information

Communicated by Antonio Cerone and Stefan Gruner.

S. Tonetta was supported by the Provincia Autonoma di Trento (project ANACONDA).

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cimatti, A., Roveri, M., Susi, A. et al. Formalizing requirements with object models and temporal constraints. Softw Syst Model 10, 147–160 (2011). https://doi.org/10.1007/s10270-009-0130-7

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-009-0130-7

Keywords

Navigation