Skip to main content

Total Functional Software Engineering

Overview Paper

  • Conference paper
Trends in Functional Programming (TFP 2013)

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

Included in the following conference series:

Abstract

Methods for mathematically basic and precise description of system behavior at discrete interfaces have been developed by David Parnas and his groups and collaborators over many years. Total functions can play a crucial role as constructive and effectively executable semantics for various levels of these descriptions. Straightforward analysis and transformation techniques for functional programs, particularly effective for total functions, can be used as significant steps towards automated generation of implementations. Theoretical claims are supported by practical examples. The focus is on insight into applications from the functional perspective rather than on innovations in functional programming itself.

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 PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Baber, R., Parnas, D., Vilkomir, S., Harrison, P., O’Connor, T.: Disciplined methods of software specification: A case study. In: Proc. ITCC 2005, vol. 2, pp. 428–437. IEEE Computer Society (2005)

    Google Scholar 

  2. Balat, V., Danvy, O.: Strong normalization by type-directed partial evaluation and run-time code generation. In: Leroy, X., Ohori, A. (eds.) TIC 1998. LNCS, vol. 1473, pp. 240–252. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  3. Bartoussek, W., Parnas, D.L.: Using assertions about traces to write abstract specifications for software modules. In: Bracchi, G., Lockemann, P.C. (eds.) ECI 1978. LNCS, vol. 65, pp. 211–236. Springer, Heidelberg (1978)

    Chapter  Google Scholar 

  4. Desharnais, J., Khédry, R., Mili, A.: Interpretation of tabular expressions using arrays of relations. In: Relational Methods for Computer Science Applications, pp. 3–13. Physica Verlag (2001)

    Google Scholar 

  5. Feng, X., Parnas, D.L., Tse, T.H.: Tabular expression-based testing strategies: A comparison. In: Proc. MUTATION 2007. IEEE Computer Society (2007)

    Google Scholar 

  6. Feng, X., Parnas, D.L., Tse, T.H.: Fault propagation in tabular expression-based specifications. In: Proc. COMPSAC 2008, pp. 180–183. IEEE Computer Society (2008)

    Google Scholar 

  7. Feng, X., Parnas, D.L., Tse, T.H., O’Callaghan, T.: A comparison of tabular expression-based testing strategies. IEEE Trans. Software Eng. 37(5), 616–634 (2011)

    Article  Google Scholar 

  8. Furusawa, H., Kahl, W.: Table algebras: Algebraic structures for tabular notation, including nested headers. Programming science technical report, AIST (2004)

    Google Scholar 

  9. ISO/IEC: Information Technology – Z Formal Specification Notation – Syntax, Type System and Semantics (2002)

    Google Scholar 

  10. Janicki, R.: Towards a formal semantics of parnas tables. In: Proc. ICSE 1995, pp. 231–240. ACM (1995)

    Google Scholar 

  11. Janicki, R., Khédry, R.: On a formal semantics of tabular expressions. Sci. Comp. Progr. 39(2-3), 189–213 (2001)

    Article  MATH  Google Scholar 

  12. Janicki, R., Parnas, D.L., Zucker, J.: Tabular representations in relational documents. In: Relational Methods in Computer Science, pp. 184–196. Springer (1997)

    Google Scholar 

  13. Jin, Y., Parnas, D.L.: Defining the meaning of tabular mathematical expressions. Sci. Comput. Program. 75(11), 980–1000 (2010)

    Article  MATH  Google Scholar 

  14. Kahl, W.: Compositional syntax and semantics of tables. SQRL Report 15, McMaster University (2003)

    Google Scholar 

  15. Lawford, M., Froebel, P., Moum, G.: Application of tabular methods to the specification and verification of a nuclear reactor shutdown system. Formal Methods in System Design (2001) (accepted for publication, 2004)

    Google Scholar 

  16. Lawford, M., McDougall, J., Froebel, P., Moum, G.: Practical application of functional and relational methods for the specification and verification of safety critical software. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 73–88. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  17. Liu, Z., Parnas, D.L., Trancón y Widemann, B.: Documenting and verifying systems assembled from components. Frontiers of Computer Science in China 4(2), 151–161 (2010)

    Article  MATH  Google Scholar 

  18. Pantelic, V., Jin, X., Lawford, M., Parnas, D.L.: Inspection of concurrent systems: Combining tables, theorem proving and model checking. In: Proc. SERP 2006, pp. 629–635 (2006)

    Google Scholar 

  19. Pantelic, V.: Combining tables, theorem proving and model checking. Msc thesis, McMaster University (2006)

    Google Scholar 

  20. Parnas, D.L., Wang, Y.: The trace assertion method of module interface specification. CIS Report 89-261, Queen’s University (1989)

    Google Scholar 

  21. Parnas, D.L.: Tabular representation of relations. CLR Report 260, McMaster University (1992)

    Google Scholar 

  22. Parnas, D.L.: Predicate logic for software engineering. IEEE Trans. Software Eng. 19(9), 856–862 (1993)

    Article  Google Scholar 

  23. Parnas, D.L.: Inspection of safety-critical software using program-function tables. In: IFIP Congress, vol. (3), pp. 270–277 (1994)

    Google Scholar 

  24. Parnas, D.L., Madey, J., Iglewski, M.: Precise documentation of well-structured programs. IEEE Trans. Software Eng. 20(12), 948–976 (1994)

    Article  Google Scholar 

  25. Parnas, D.L., Peters, D.K.: An easily extensible toolset for tabular mathematical expressions. In: Cleaveland, W.R. (ed.) TACAS/ETAPS 1999. LNCS, vol. 1579, pp. 345–359. Springer, Heidelberg (1999)

    Google Scholar 

  26. Peters, D., Lawford, M., Trancón y Widemann, B.: An ide for software development using tabular expressions. In: Proc. CASCON 2007, pp. 248–251. ACM (2007)

    Google Scholar 

  27. Sepehr, S.: Adding Nested Headers and a Proper Gtk-Based GUI to The Haskell Table Tools. Master’s thesis, McMaster University (2010)

    Google Scholar 

  28. Trancón y Widemann, B., Parnas, D.L.: Tabular expressions and total functional programming. In: Chitil, O., Horváth, Z., Zsók, V. (eds.) IFL 2007. LNCS, vol. 5083, pp. 219–236. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  29. Trancóny Widemann, B.: The recursion scheme of the trace function method. In: Proc. ENASE 2012, pp. 146–155 (2012)

    Google Scholar 

  30. Trancóny Widemann, B.: State-based simulation of linear course-of-value iteration. In: Proc. CMCS 2012. Tallinn University of Technology (2012); short contribution

    Google Scholar 

  31. Uustalu, T., Vene, V.: Primitive (co)recursion and course-of-value (co)iteration, categorically. Informatica, Lith. Acad. Sci. 10(1), 5–26 (1999)

    MathSciNet  MATH  Google Scholar 

  32. Wang, Y., Parnas, D.L.: Simulating the behaviour of software modules by trace rewriting. In: Proc. ICSE 1993, pp. 14–23. IEEE Computer Society (1993)

    Google Scholar 

  33. Wang, Y., Parnas, D.L.: Trace rewriting systems. In: Rusinowitch, M., Remy, J.-L. (eds.) CTRS 1992. LNCS, vol. 656, pp. 343–356. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Trancón y Widemann, B. (2014). Total Functional Software Engineering. In: McCarthy, J. (eds) Trends in Functional Programming. TFP 2013. Lecture Notes in Computer Science, vol 8322. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-45340-3_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-45340-3_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-45339-7

  • Online ISBN: 978-3-642-45340-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics