## This research was supported by NASA grant NAG5-4301 and NSF grant AST9619552 to AW. MK was supported by KBN grant 2.P03D.006.1. Arecibo Observatory is part of the National Astronomy and Ionosphere Center, which is operated by Cornell University under cont (2005)

Citations: | 3 - 2 self |

### BibTeX

@TECHREPORT{Barbosa05thisresearch,

author = {Luís S. Barbosa and José N. Oliveira A},

title = {This research was supported by NASA grant NAG5-4301 and NSF grant AST9619552 to AW. MK was supported by KBN grant 2.P03D.006.1. Arecibo Observatory is part of the National Astronomy and Ionosphere Center, which is operated by Cornell University under cont},

institution = {},

year = {2005}

}

### OpenURL

### Abstract

A partial component is a process which fails or dies at some stage, thus exhibiting a finite, more ephemeral behaviour than expected (e.g. operating system crash). Partiality — which is the rule rather than exception in formal modelling — can be treated mathematically via totalization techniques. In the case of partial functions, totalization involves error values and exceptions. In the context of a coalgebraic approach to component semantics, this paper argues that the behavioural counterpart to such functional techniques should extend behaviour with try-again cycles preventing from component collapse, thus extending totalization or transposition from the algebraic to the coalgebraic context. We show that a refinement relationship holds between original and totalized components which is reasoned about in a coalgebraic approach to component refinement expressed in the pointfree binary relation calculus. As part of the pragmatic aims of this research, we also address the factorization of every such totalized coalgebra into two coalgebraic components — the original one and an added front-end — which cooperate in a client-server style. Key words: partial components, try-again cycles, refinement, coalgebra 1

### Citations

842 |
The B-book: assigning programs to meanings
- Abrial
- 1996
(Show Context)
Citation Context ...a Partial Component? Partial modelling. In the tradition of mathematical modelling in physics and other branches of science, constructive formal specification methods, such as Vdm [9,10], Z [11] or B =-=[12]-=-, are based on the notion of a software formal model. This is understood as a state-based abstract machine which models how a system reacts to input stimuli, changes state and yields output. Paying tr... |

680 |
Systematic Software Development using VDM
- Jones
- 1986
(Show Context)
Citation Context ...ure work. 2 What is a Partial Component? Partial modelling. In the tradition of mathematical modelling in physics and other branches of science, constructive formal specification methods, such as Vdm =-=[9,10]-=-, Z [11] or B [12], are based on the notion of a software formal model. This is understood as a state-based abstract machine which models how a system reacts to input stimuli, changes state and yields... |

232 |
Introduction to Functional Programming using Haskell, Second Edition
- Bird
- 1998
(Show Context)
Citation Context ... special error mark indicating that nothing is output. In C/C++, for instance, this leads to functions which output pointers to values rather than just values. In functional languages such as Haskell =-=[1]-=-, this has to do with functions which output Maybe-values rather than values, where Maybe is datatype Maybe a = Nothing | Just a. This effort towards functional totalization can be regarded as the add... |

50 |
Modelling Systems
- Fitzgerald, Larsen
- 1998
(Show Context)
Citation Context ...ure work. 2 What is a Partial Component? Partial modelling. In the tradition of mathematical modelling in physics and other branches of science, constructive formal specification methods, such as Vdm =-=[9,10]-=-, Z [11] or B [12], are based on the notion of a software formal model. This is understood as a state-based abstract machine which models how a system reacts to input stimuli, changes state and yields... |

50 |
Universal coalgebra: a theory of systems, Theoretical Computer Science 249(1): 3–80. url: citeseer.ist.psu.edu/rutten96universal.html
- Rutten
- 2000
(Show Context)
Citation Context ...the broad group of computing phenomena whose semantics are essentially observational, in the sense that all that can be traced of their evolution is their interaction with the environment. Coalgebras =-=[15]-=-, ie. functions of type α : TU ←− U for T a parametric datatype, appear as suitable mathematical devices in explaining the semantics of such formal state-based models. Coalgebra theory has been subjec... |

38 |
The Z NOTATION: A reference manual (2nd ed
- Spivey
- 1992
(Show Context)
Citation Context ...2 What is a Partial Component? Partial modelling. In the tradition of mathematical modelling in physics and other branches of science, constructive formal specification methods, such as Vdm [9,10], Z =-=[11]-=- or B [12], are based on the notion of a software formal model. This is understood as a state-based abstract machine which models how a system reacts to input stimuli, changes state and yields output.... |

38 | Elements of a relational theory of datatypes
- Backhouse, Hoogendijk
(Show Context)
Citation Context ...ctor T. This is defined in [21] as a functor ≤ which makes the following diagram commute: PreOrd (TV, ≤TV ) ≤ �� ��� � ���� �� �� Set �� T Set e.g. V � � ����� ���� �� TV 6 In the relational calculus =-=[20]-=-, Galois connections f · R ⊆ S ≡ R ⊆ f ◦ · S and R · f ◦ ⊆ S ≡ R ⊆ S · f, involving function f and relations R and S, are known as shunting rules. 13sThis means that for any function h : U ←− V , Th p... |

32 |
Validated Designs for Object-oriented Systems
- Fitzgerald, Larsen, et al.
- 2005
(Show Context)
Citation Context ...eacts to input stimuli, changes state and yields output. Paying tribute to the nowadays widespread object-oriented programming principles, formal models in specification languages such as e.g. Vdm ++ =-=[13]-=- and Z ++ [14] are encapsulated into abstract objects. These offer a number of services — e.g. PUSH and POP in the stack model of Fig. 1, written in Vdm ++ notation — through a public interface which ... |

25 |
A Generic Theory of Datatypes
- Hoogendijk
- 1997
(Show Context)
Citation Context ...y, the exponentials clause generalizes the third, and the last clause brings in conventional set-theoretic membership. Relation ∈T is actually an instance of datatype membership defined by Hoogendijk =-=[19]-=- as a Galois connection, which entails two results which are of interest to this paper. First, that ∈T satisfies the following naturality condition h · ∈T = ∈T · T h (16) for any function h. Second, t... |

19 | Simulations in coalgebra
- Jacobs, Hughes
- 2003
(Show Context)
Citation Context ... (21,24). Is it possible to weaken the morphism definition to capture only one of these aspects? The answer is yes and resorts to the notion of a preorder ≤ on a Set endofunctor T. This is defined in =-=[21]-=- as a functor ≤ which makes the following diagram commute: PreOrd (TV, ≤TV ) ≤ �� ��� � ���� �� �� Set �� T Set e.g. V � � ����� ���� �� TV 6 In the relational calculus [20], Galois connections f · R ... |

18 | Towards a Calculus of State-based Software Components
- Barbosa
- 2003
(Show Context)
Citation Context ...er, as any other behavioural effect, failure propagates through any component network to which the failing component is Kleisli-composed (which is always the case because all component combinators in =-=[16,17]-=- involve forms of Kleisli-like composition). However, as hinted earlier on in this paper, a more “positive” approach to behavioural partiality would be a try-again behaviour rather than overall collap... |

16 | Transposing relations: from Maybe functions to hash tables
- Oliveira, Rodrigues
- 2004
(Show Context)
Citation Context ... as is usual in e.g. command-line interpreters and human-computer interfacing. In this paper, we approach such try-again-totalized coalgebras as behavioural counterparts of maybe-transposed-functions =-=[3]-=-, thus extending totalization or transposition from the algebraic to the coalgebraic context. We show that a refinement relationship holds between the original and the totalized components which can b... |

14 | Components as processes: An exercise in coalgebraic modeling
- Barbosa
- 2000
(Show Context)
Citation Context ...for software components should not restrict itself to nondeterministic behaviour, as captured by the powerset construction above. Other components will exhibit different behaviour models: as shown in =-=[18,16,17]-=-, genericity is achieved by replacing the powerset monad by an arbitrary strong monad 3 B. In this paper our attention will be focused on behavioural models B which incorporate a notion of possible fa... |

12 |
State-based components made generic
- Barbosa, Oliveira
- 2003
(Show Context)
Citation Context ... datatype, appear as suitable mathematical devices in explaining the semantics of such formal state-based models. Coalgebra theory has been subject to recent, remarkable developments [15]. References =-=[16,17]-=- present a coalgebraic approach to the semantics of statebased software components under the components as coalgebras slogan. Let us see the “approach at work” by (constructively) deriving a coalgebra... |

9 | On Refinements of Generic Software Components
- Meng, Barbosa
(Show Context)
Citation Context ... ◦ k · ≤T · βk) ≡ { since f X ⊆ . ≤T So, Thus the definition . ≤ T g ≡ 〈∀ k ∈ K : : f(β ◦ k · ≤ T · β k)g〉 } . ≤T is membership-compatible wherever ≤T is membership-compatible. ≤ T K � . ≤T chosen in =-=[4]-=-. The preorder definitions so far enable the following result. Lemma 4.3 ≤T= id, for every polynomial functor TX = � n i=0 Ci × X i . PROOF. ≤�n Ci×Xi i=0 = { single out constant functor } ≤C0 + ≤�n C... |

8 |
Mathematics of Program Construction. Univ. of Nottingham, 2004. Draft of book in preparation
- Backhouse
(Show Context)
Citation Context ... a relation dual to the generalisation of the more usual case of non determinism reduction studied in [5]. As an improvement, such a reasoning is carried out in the pointfree binary relation calculus =-=[6,7]-=-, which is shown to compare favourably — for its elegance and effectiveness — with respect to its more widespread pointwise counterpart. Thanks to such agile notation and calculus, this paper provides... |

8 | Formal specifications in software maintenance: From code to Z++ and back again
- Bowen, Breuer, et al.
- 1993
(Show Context)
Citation Context ... stimuli, changes state and yields output. Paying tribute to the nowadays widespread object-oriented programming principles, formal models in specification languages such as e.g. Vdm ++ [13] and Z ++ =-=[14]-=- are encapsulated into abstract objects. These offer a number of services — e.g. PUSH and POP in the stack model of Fig. 1, written in Vdm ++ notation — through a public interface which provides limit... |

6 |
Seeheim workshop on user interface management systems
- Pfaff, Hagen
- 1985
(Show Context)
Citation Context ...= stack := [a] ^ stack; public POP : () ==> A POP() == def r = hd stack in ( stack := tl stack; return r) pre stack <> []; end stackObj Fig. 1. Vdm ++ model of a stack lation of the Seeheim principle =-=[8]-=- (also known as the separation principle) which is consensual in up-to-date interactive software design. Paper structure. The section which follows introduces the notion of a partial component and how... |

3 |
A contract-oriented approach to component-based programming
- Jifeng, Zhiming, et al.
- 2003
(Show Context)
Citation Context ...s is modified. This may be a disadvantage in contexts where component p is offered by an external source and has to be deployed as-it-is. Typically, as in, e.g., Meyer’s design-by-contract approaches =-=[22,23]-=-, such components are supplied with an interface which caters for any usage constraints p might have. From our modelling point of view, let δp encode such an interface. Component p is therefore split ... |

2 |
The Algebra of
- Bird, Moor
- 1997
(Show Context)
Citation Context ... a relation dual to the generalisation of the more usual case of non determinism reduction studied in [5]. As an improvement, such a reasoning is carried out in the pointfree binary relation calculus =-=[6,7]-=-, which is shown to compare favourably — for its elegance and effectiveness — with respect to its more widespread pointwise counterpart. Thanks to such agile notation and calculus, this paper provides... |

2 |
Generic software slicing applied to architectural analysis of legacy systems
- Rodrigues
- 2008
(Show Context)
Citation Context ...a formal approach to program understanding in-thelarge. Current work on the application of slicing techniques to extract components and connector schemes from systems’s architectural information (see =-=[26]-=-, a forthcoming PhD thesis) is a step in that direction. Another topic for future work relates to the role of genericity, captured by abstracting typical behaviour models as strong monads, in a calcul... |

1 |
Calculate databases with ‘simplicity’, presentation at
- Oliveira
- 2004
(Show Context)
Citation Context ... raises exceptions in a monadic style. From a data refinement perspective, every such totalized function can be regarded as a fully functional implementation arising from codomain pointer-reification =-=[2]-=-. The equivalent of this situation in a coalgebraic setting — partial coalgebras — leads to processes which fail or die at some stage, thus exhibiting a finite, more ephemeral behaviour than expected ... |

1 |
Components as coalgebras: The refinement dimension, Theor
- Meng, Barbosa
(Show Context)
Citation Context ...e refinement preorder (≤ F ), this seems to capture nicely the envisaged behavioural extension. This is actually a first published application of backward refinement: in previous publications (namely =-=[4,5]-=-) all emphasis has been placed on the dual forward form. Regarding transposition as a refinement situation entailed the need to re-visit the theory in [4] in order to formally justify what seemed to b... |

1 |
On partial components
- Barbosa, Oliveira
- 2006
(Show Context)
Citation Context ... morphism h : Up ←− Up × (Up × 1) connecting the statespaces of the underlying coalgebras. An obvious choice is h = π1, whereby the commutativity of the homomorphism square is checked (see details in =-=[24]-=-). 7 Conclusions and Future Work As mentioned in the Introduction, the context for this paper is a generic framework for composition and refinement of software components regarded as pointed coalgebra... |

1 |
Pointfree factorization of operation refinement, PURe Project technical report (submitted
- Oliveira, Rodrigues
- 2006
(Show Context)
Citation Context ...contrived proofs if performed at the (pointwise) level at which the refinement preorders are given in [4]. Following a similar approach adopted elsewhere in studying conventional operation refinement =-=[25]-=-, it was decided to re-frame the theory of [4] in the pointfree relational calculus. The authors regard the outcome of this effort — a generic approach to coalgebraic refinement by pointfree calculati... |

1 | Camila Revival: VDM meets Haskell , presented at the Overture Workshop, July 18, co-located with Fm 2005 - Visser, Oliveira, et al. |

1 |
which we present only the ones relevant for this paper. Clearly, for any function h one has f . ≤ g ⇒ f · h . ≤ g · h (A.1) The interplay between the lifted notation and converse is captured by equality
- of
(Show Context)
Citation Context ... a relation dual to the generalisation of the more usual case of non determinism reduction studied in [5]. As an improvement, such a reasoning is carried out in the pointfree binary relation calculus =-=[6,7]-=-, which is shown to compare favourably — for its elegance and effectiveness — with respect to its more widespread pointwise counterpart. Thanks to such agile notation and calculus, this paper provides... |