Skip to main content

Unifying Requirements and Code: An Example

  • Conference paper
  • First Online:
Perspectives of System Informatics (PSI 2015)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9609))

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.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Meyer, B.: Object-Oriented Software Construction, vol. 2. Prentice Hall, New York (1988)

    MATH  Google Scholar 

  2. Meyer, B.: Multirequirements. In: Seyff, N., Koziolek, A. (eds.) Modelling and Quality in Requirements Engineering (Martin Glinz Festscrhift). MV Wissenschaft (2013)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. Meyer, B.: On formalism in specifications. IEEE Softw. 2(1), 6–26 (1985)

    Article  Google Scholar 

  5. Waldén, K., Nerson, J.M.: Seamless Object-Oriented Software Architecture. Prentice-Hall, Upper Saddle River (1995)

    Google Scholar 

  6. Polikarpova, N.: Specified and verified reusable components. Ph.D. thesis, Diss., Eidgenössische Technische Hochschule ETH Zürich, Nr. 21939, 2014 (2014)

    Google Scholar 

  7. Meyer, B.: Touch of Class: Learning to Program Well with Objects and Contracts. Springer, Heidelberg (2009)

    Book  MATH  Google Scholar 

  8. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Jackson, M.: The world and the machine. In: 17th International Conference on Software Engineering, ICSE 1995, pp. 283–283. IEEE (1995)

    Google Scholar 

  11. Naumchev, A.: Jackson-zave zoo turnstile implementation (2015). https://github.com/anaumche/Zoo-Turnstile-Multirequirements

  12. Nordio, D.M.: Proofs and proof transformations for object-oriented programs. Ph.D. thesis, Citeseer (2009)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Alexandr Naumchev .

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics