Abstract
Requirements and code, in conventional software engineering wisdom, belong to entirely different worlds. Is it possible to unify these two worlds? A unified framework could help make software easier to change and reuse. To explore the feasibility of such an approach, the case study reported here takes a classic example from the requirements engineering literature and describes it using a programming language framework to express both domain and machine properties. The paper describes the solution, discusses its benefits and limitations, and assesses its scalability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Meyer, B.: Object-Oriented Software Construction, vol. 2. Prentice Hall, New York (1988)
Meyer, B.: Multirequirements. In: Seyff, N., Koziolek, A. (eds.) Modelling and Quality in Requirements Engineering (Martin Glinz Festscrhift). MV Wissenschaft (2013)
Jackson, M., Zave, P.: Deriving specifications from requirements: an example. In: Proceedings of the 17th International Conference on Software Engineering, pp. 15–24. ACM (1995)
Meyer, B.: On formalism in specifications. IEEE Softw. 2(1), 6–26 (1985)
Waldén, K., Nerson, J.M.: Seamless Object-Oriented Software Architecture. Prentice-Hall, Upper Saddle River (1995)
Polikarpova, N.: Specified and verified reusable components. Ph.D. thesis, Diss., Eidgenössische Technische Hochschule ETH Zürich, Nr. 21939, 2014 (2014)
Meyer, B.: Touch of Class: Learning to Program Well with Objects and Contracts. Springer, Heidelberg (2009)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)
Tschannen, J., Furia, C.A., Nordio, M., Meyer, B.: Automatic verification of advanced object-oriented features: the autoproof approach. In: Meyer, B., Nordio, M. (eds.) LASER 2011. LNCS, vol. 7682, pp. 133–155. Springer, Heidelberg (2012)
Jackson, M.: The world and the machine. In: 17th International Conference on Software Engineering, ICSE 1995, pp. 283–283. IEEE (1995)
Naumchev, A.: Jackson-zave zoo turnstile implementation (2015). https://github.com/anaumche/Zoo-Turnstile-Multirequirements
Nordio, D.M.: Proofs and proof transformations for object-oriented programs. Ph.D. thesis, Citeseer (2009)
Acknowledgment
This work has been supported by the Russian Ministry of education and science with the project “Development of new generation of cloudy technologies of storage and data control with the integrated security system and the guaranteed level of access and fault tolerance” (agreement: 14.612.21.0001, ID: RFMEFI61214X0001). Also, the authors would like to thank their colleagues Alexander Chichigin and Dr. Manuel Mazzara from the Innopolis University Software Engineering Laboratory for their invaluable feedback.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer International Publishing Switzerland
About this paper
Cite this paper
Naumchev, A., Meyer, B., Rivera, V. (2016). Unifying Requirements and Code: An Example. In: Mazzara, M., Voronkov, A. (eds) Perspectives of System Informatics. PSI 2015. Lecture Notes in Computer Science(), vol 9609. Springer, Cham. https://doi.org/10.1007/978-3-319-41579-6_18
Download citation
DOI: https://doi.org/10.1007/978-3-319-41579-6_18
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-41578-9
Online ISBN: 978-3-319-41579-6
eBook Packages: Computer ScienceComputer Science (R0)