Advertisement

Preparing Relational Algebra for “Just Good Enough” Hardware

  • José N. Oliveira
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8428)

Abstract

Device miniaturization is pointing towards tolerating imperfect hardware provided it is “good enough”. Software design theories will have to face the impact of such a trend sooner or later.

A school of thought in software design is relational: it expresses specifications as relations and derives programs from specifications using relational algebra.

This paper proposes that linear algebra be adopted as an evolution of relational algebra able to cope with the quantification of the impact of imperfect hardware on (otherwise) reliable software.

The approach is illustrated by developing a monadic calculus for component oriented software construction with a probabilistic dimension quantifying (by linear algebra) the propagation of imperfect behaviour from lower to upper layers of software systems.

Keywords

Linear Algebra Relational Algebra Monoidal Category Transactional Memory Pairing Operator 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Backhouse, R., Michaelis, D.: Exercises in quantifier manipulation. In: Uustalu, T. (ed.) MPC 2006. LNCS, vol. 4014, pp. 69–81. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  2. 2.
    Barbosa, L.: Towards a Calculus of State-based Software Components. JUCS 9(8), 891–909 (2003)Google Scholar
  3. 3.
    Barbosa, L., Oliveira, J.: Transposing Partial Components — An Exercise on Coalgebraic Refinement. Theor. Comp. Sci. 365(1), 2–22 (2006), http://dx.doi.org/10.1016/j.tcs.2006.07.030 CrossRefzbMATHMathSciNetGoogle Scholar
  4. 4.
    Beck, J.: Distributive laws. In: Eckmann, B. (ed.) Seminar on Triples and Categorical Homology Theory. Lecture Notes in Mathematics, vol. 80, pp. 119–140. Springer (1969)Google Scholar
  5. 5.
    Bird, R., de Moor, O.: Algebra of Programming. Series in Computer Science. Prentice-Hall International (1997)Google Scholar
  6. 6.
    Bonchi, F., Bonsangue, M., Boreale, M., Rutten, J., Silva, A.: A coalgebraic perspective on linear weighted automata. Inf. & Comp. 211, 77–105 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  7. 7.
    Brink, C., Kahl, W., Schmidt, G. (eds.): Relational methods in computer science. Springer-Verlag New York, Inc., New York (1997)zbMATHGoogle Scholar
  8. 8.
    Coecke, B. (ed.): New Structures for Physics. Lecture Notes in Physics, vol. 831. Springer (2011)Google Scholar
  9. 9.
    Cortellessa, V., Grassi, V.: A modeling approach to analyze the impact of error propagation on reliability of component-based systems. In: Schmidt, H.W., Crnković, I., Heineman, G.T., Stafford, J.A. (eds.) CBSE 2007. LNCS, vol. 4608, pp. 140–156. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Erwig, M., Kollmansberger, S.: Functional pearls: Probabilistic functional programming in Haskell. J. Funct. Program. 16, 21–34 (2006)CrossRefzbMATHGoogle Scholar
  11. 11.
    Frias, M., Baum, G., Haeberer, A.: Fork algebras in algebra, logic and computer science. Fundam. Inform., 1–25 (1997)Google Scholar
  12. 12.
    Hasuo, I., Jacobs, B., Sokolova, A.: Generic trace semantics via coinduction. Logical Methods in Computer Science 3(4), 1–36 (2007)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Kahl, W.: Refinement and development of programs from relational specifications. ENTCS 44(3), 4.1–4.43 (2003)Google Scholar
  14. 14.
    Kerstan, H., König, B.: Coalgebraic trace semantics for probabilistic transition systems based on measure theory. In: Koutny, M., Ulidowski, I. (eds.) CONCUR 2012. LNCS, vol. 7454, pp. 410–424. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  15. 15.
    Kock, A.: Strong functors and monoidal monads. Archiv der Mathematik 23(1), 113–120 (1972), http://dx.doi.org/10.1007/BF01304852 CrossRefzbMATHMathSciNetGoogle Scholar
  16. 16.
    Lingamneni, A., Enz, C., Palem, K., Piguet, C.: Synthesizing parsimonious inexact circuits through probabilistic design techniques. ACM Trans. Embed. Comput. Syst. 12(2s), 93:1–93:26 (2013)Google Scholar
  17. 17.
    Macedo, H., Oliveira, J.: Typing linear algebra: A biproduct-oriented approach. Science of Computer Programming 78(11), 2160–2191 (2013)CrossRefGoogle Scholar
  18. 18.
    Marić, O., Sprenger, C.: Verification of a transactional memory manager under hardware failures and restarts (2013), conference paper (submitted)Google Scholar
  19. 19.
    McIver, A., Morgan, C.: Abstraction, Refinement and Proof for Probabilistic Systems. Monographs in Computer Science. Springer (2005)Google Scholar
  20. 20.
    Murta, D., Oliveira, J.N.: Calculating risk in functional programming. CoRR abs/1311.3687 (2013)Google Scholar
  21. 21.
    Oliveira, J.: Towards a linear algebra of programming. Formal Aspects of Computing 24(4-6), 433–458 (2012)CrossRefzbMATHMathSciNetGoogle Scholar
  22. 22.
    Oliveira, J.: Weighted automata as coalgebras in categories of matrices. Int. Journal of Found. of Comp. Science 24(06), 709–728 (2013)CrossRefzbMATHGoogle Scholar
  23. 23.
    Panangaden, P.: Labelled Markov Processes. Imperial College Press (2009)Google Scholar
  24. 24.
    Rutten, J.: Universal coalgebra: A theory of systems. Theor. Comp. Sci. 249(1), 3–80 (2000); Revised version of CWI Techn. Rep. CS-R9652 (1996)Google Scholar
  25. 25.
    Schmidt, G.: Relational Mathematics. Encyclopedia of Mathematics and its Applications, vol. 132. Cambridge University Press (November 2010)Google Scholar
  26. 26.
    Sokolova, A.: Probabilistic systems coalgebraically: A survey. Theor. Comput. Sci. 412(38), 5095–5110 (2011)CrossRefzbMATHMathSciNetGoogle Scholar
  27. 27.
    Stamatelatos, M., Dezfuli, H.: Probabilistic Risk Assessment Procedures Guide for NASA Managers and Practitioners, NASA/SP-2011-3421, 2nd edn (December 2011)Google Scholar
  28. 28.
    Tanaka, M.: Pseudo-Distributive Laws and a Unified Framework for Variable Binding. Ph.D. thesis, School of Informatics, University of Edinburgh (2005)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • José N. Oliveira
    • 1
  1. 1.High Assurance Software LaboratoryINESC TEC and University of MinhoBragaPortugal

Personalised recommendations