Software Components as Invariant-Typed Arrows - (Keynote Talk)

Citation:
Barbosa LS.  2012.  Software Components as Invariant-Typed Arrows - (Keynote Talk). Proceedings of 16th Brazilian Symposium on Programming Languages - SBLP. 7554:1-5.

Tertiary Title:

Lecture Notes in Computer Science

Date Presented:

September

Abstract:

nvariants are constraints on software components which restrict their behavior in some desirable way, but whose maintenance entails some kind of proof obligation discharge. Such constraints may act not only over the input and output domains, as in a purely functional setting, but also over the underlying state space, as in the case of reactive components. This talk introduces an approach for reasoning about invariants which is both compositional and calculational: compositional because it is based on rules which break the complexity of such proof obligations across the structures involved; calculational because such rules are de- rived thanks to an algebra of invariants encoded in the language of binary relations. A main tool of this approach is the pointfree transform of the predicate calculus, which opens the possibility of changing the underly- ing mathematical space so as to enable agile algebraic calculation. The development of a theory of invariant preservation requires a broad, but uniform view of computational processes embodied in software components able to take into account data persistence and continued interaction. Such is the plan for this talk: we first introduce such processes as arrows, and then invariants as their types.

Citation Key:

Bar12

DOI:

10.1007/978-3-642-33182-4_1

PreviewAttachmentSize
barbosacbsoft12.pdf186.81 KB