Abstract
[Context and motivation] Requirements form the foundation of software systems. The quality of the requirements influences the quality of the developed software. [Question/problem] One of the main requirement issues is inconsistency, particularly onerous when the requirements concern temporal constraints. Manual checking whether temporal requirements are consistent is tedious and error prone and may be prohibitively expensive when the number of requirements is large. [Principal ideas/results] We show that answer-set programming tools (ASP) can be successfully applied to detect inconsistencies in software and system requirements. Our assumption is that these requirements are given in a formal requirement specification language called Temporal Action Language (TeAL). [Contribution] We present a translation from TeAL to the ASP language format accepted by clingcon. We show that clingcon can analyze requirements for several real software systems, verifying their consistency or identifying inconsistencies. We also examine the performance of the clingcon translation.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
CM-1 Dataset PROMISE Website, http://promisedata.org/promised/trunk/promisedata.org/data/cm1-maintain/cm1-maintain.txt (accessed: April 18, 2013)
MODIS Science Data Processing Software Requirements Specification Version 2, SDST-089, GSFC SBRS (November 1997), http://www.fas.org/irp/program/collect/uav_tcs.htm
UAV Tactical Control System (May 2010), http://www.fas.org/irp/program/collect/uav_tcs.htm
Regional Real-Time Transit Information System System Requirements Version 3.0 (2012), http://www.mtc.ca.gov/planning/tcip/Real-Time_TransitSystemRequirements_v3.0.pdf (accessed: April 18, 2013)
Baral, C., Gelfond, M.: Reasoning Agents in Dynamic Domains. In: Minker, J. (ed.) Logic-Based Artificial Intelligence, pp. 257–279. Kluwer Academic Publishers, Norwell (2000)
Boehm, B., Papaccio, P.: Understanding and Controlling Software Costs. IEEE Transactions on Software Engineerin 14(10), 1462–1477 (1988)
Capobianco, G., De Lucia, A., Oliveto, R., Panichella, A., Panichella, S.: On the Role of the Nouns in IR-based Traceability Recovery. In: IEEE 17th International Conference on Program Comprehension, ICPC 2009, pp. 148–157. IEEE (2009)
Cimatti, A., Giunchiglia, E., Pistore, M., Roveri, M., Sebastiani, R., Tacchella, A.: Integrating BDD-based and SAT-based Symbolic Model Checking. In: Armando, A. (ed.) FroCos 2002. LNCS (LNAI), vol. 2309, pp. 49–56. Springer, Heidelberg (2002)
Firesmith, D.: Specifying Good Requirements. Journal of Object Technology 2(4), 77–87 (2003)
Firesmith, D.: Common Requirements Problems, Their Negative Consequences, and the Industry Best Practices to Help Solve Them. Journal of Object Technology 6(1), 17–33 (2007)
Gebser, M., Kaufmann, B., Neumann, A., Schaub, T.: clasp: A Conflict-Driven Answer Set Solver. In: Baral, C., Brewka, G., Schlipf, J. (eds.) LPNMR 2007. LNCS (LNAI), vol. 4483, pp. 260–265. Springer, Heidelberg (2007)
Gebser, M., Ostrowski, M., Schaub, T.: Constraint Answer Set Solving. In: Hill, P.M., Warren, D.S. (eds.) ICLP 2009. LNCS, vol. 5649, pp. 235–249. Springer, Heidelberg (2009), http://dx.doi.org/10.1007/978-3-642-02846-5_22
Huth, M., Ryan, M.: Logic in Computer Science: Modelling and Reasoning about Systems. Cambridge University Press (2004)
Li, W., Hayes, J.H., Truszczyński, M.: Temporal Action Language (TAL): a Controlled Language for Consistency Checking of Natural Language Temporal Requirements. In: Goodloe, A.E., Person, S. (eds.) NFM 2012. LNCS, vol. 7226, pp. 162–167. Springer, Heidelberg (2012)
Li, W., Truszczynski, M., Huffman Hayes, J., Brown, D.B.: Temporal Action Language. University of Kentucky Computer Science Department Technical Report (2012-521-12) (2012)
Schulte, C., Lagerkvist, M., Tack, G.: Gecode. Software Download and Online Material at the Website (2006), http://www.gecode.org
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Li, W., Brown, D., Hayes, J.H., Truszczynski, M. (2014). Answer-Set Programming in Requirements Engineering. In: Salinesi, C., van de Weerd, I. (eds) Requirements Engineering: Foundation for Software Quality. REFSQ 2014. Lecture Notes in Computer Science, vol 8396. Springer, Cham. https://doi.org/10.1007/978-3-319-05843-6_13
Download citation
DOI: https://doi.org/10.1007/978-3-319-05843-6_13
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-05842-9
Online ISBN: 978-3-319-05843-6
eBook Packages: Computer ScienceComputer Science (R0)