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.
Similar content being viewed by others
References
IEEE Standard for Property Specification Language (PSL). IEEE Std 1850–2005 (2005)
IEEE Standard for System Verilog—Unified Hardware Design, Specification, and Verification Language. IEEE Std 1800–2005 (2005)
Biere, A., Cimatti, A., Clarke, E.M., Zhu, Y.: Symbolic model checking without BDDs. In: TACAS, pp. 193–207 (1999)
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)
Bruttomesso, R., Cimatti, A., Franzén, A., Griggio, A., Sebastiani, R.: The MathSAT 4 SMT Solver. In: CAV, pp. 299–303 (2008)
Bustan, D., Flaisher, A., Grumberg, O., Kupferman, O., Vardi, M.Y.: Regular vacuity. In: CHARME, pp. 191–206 (2005)
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)
Cimatti A., Clarke E.M., Giunchiglia F., Roveri M.: NuSMV: a new symbolic model checker. STTT 2(4), 410–425 (2000)
Cimatti, A., Griggio, A., Sebastiani, R.: Efficient interpolant generation in satisfiability modulo theories. In: TACAS, pp. 397–412 (2008)
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)
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)
Cimatti, A., Roveri, M., Susi, A., Tonetta, S.: Object models with temporal constraints. In: SEFM, pp. 249–258. IEEE Computer Society, New York (2008)
Cimatti A., Roveri M., Tonetta S.: PSL symbolic compilation. IEEE Trans. CAD Integr. Circ. Syst. 27(10), 1737–1750 (2008)
Clarke, E.M., Grumberg, O., Jha, S., Lu, Y., Veith, H.: Counterexample-guided abstraction refinement. In: CAV pp. 154–169 (2000)
Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (1999). ISBN 0-262-03270-7
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)
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)
Demri S., Lazic R., Nowak D.: On the freeze quantifier in constraint LTL: decidability and complexity. Inf. Comput. 205(1), 2–24 (2007)
European train control system. http://www.era.europa.eu/core/ertms/Pages/FirstETCSSRS300.aspx
System Requirements Specification—ETCS Subset 026 v230 (2006)
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
Fuxman A., Liu L., Mylopoulos J., Roveri M., Traverso P.: Specifying and analyzing early requirements in tropos. Req. Eng. 9(2), 132–150 (2004)
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)
Hodkinson I.M., Wolter F., Zakharyaschev M.: Decidable fragment of first-order temporal logics. Ann. Pure Appl. Logic 106(1–3), 85–134 (2000)
Jackson D.: Alloy: a lightweight object modelling notation. ACM Trans. Softw. Eng. Methodol. 11(2), 256–290 (2002)
Lahiri, S.K., Nieuwenhuis, R., Oliveras, A.: SMT techniques for fast predicate abstraction. In: CAV, LNCS, pp. 424–437. Springer, Heidelberg (2006)
Lange, M.: Linear Time Logics Around PSL: Complexity, Expressiveness, and a Little Bit of Succinctness. In: CONCUR, pp. 90–104 (2007)
Manna Z., Pnueli A.: The Temporal Logic of Reactive and Concurrent Systems, Specification. Springer, Heidelberg (1992)
Manna Z., Pnueli A.: Temporal Verification of Reactive Systems: Safety. Springer, New York (1995)
OMG Object Constraint Language: OMG available specification Version 2.0 (2006)
Pnueli, A.: The temporal logic of programs. In: FOCS, pp. 46–57 (1977)
Sebastiani, R., Tonetta, S., Vardi, M.Y.: Property-Driven Partitioning for Abstraction Refinement. In: TACAS, pp. 389–404 (2007)
Spivey J.M.: The Z Notation: a reference manual. 2nd edn. Prentice-Hall, Englewood Cliffs (1992)
Susi A., Perini A., Giorgini P., Mylopoulos J.: The tropos metamodel and its use. Informatica 29(4), 401–408 (2005)
UML Version 2.1.2. http://www.omg.org/spec/UML/2.1.2/
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Antonio Cerone and Stefan Gruner.
S. Tonetta was supported by the Provincia Autonoma di Trento (project ANACONDA).
Rights 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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-009-0130-7