## On Refinement of Generic Software Components (2003)

Venue: | In 10th Int. Conf. Algebraic Methods and Software Technology (AMAST |

Citations: | 9 - 6 self |

### BibTeX

@INPROCEEDINGS{Meng03onrefinement,

author = {Sun Meng and Luis Barbosa},

title = {On Refinement of Generic Software Components},

booktitle = {In 10th Int. Conf. Algebraic Methods and Software Technology (AMAST},

year = {2003},

pages = {506--520},

publisher = {Springer}

}

### OpenURL

### Abstract

This paper characterises refinement of state-based software components modelled as concrete coalgebras for some Set endofunctors. The resulting calculus is parametrized by a specification of the underlying behaviour model introduced as a strong monad. This provides a basis to reason about (and transform) state-based software designs.

### Citations

3204 |
Communication and Concurrency
- Milner
- 1989
(Show Context)
Citation Context ...y solving the corresponding refinement diagram. Most calculation within process algebras is carried in terms of equivalence relations --- see, for example, the long `implementation' case studies in [=-=22]-=- or [12]. However, several `observation' preorders have also been proposed in the literature which entail different notions of refinement (see, for example, [1] or [14]). A typical transformation, cap... |

2008 |
The Unified Modeling Language User Guide
- Booch, Rumbaugh, et al.
- 2005
(Show Context)
Citation Context ...ased designs. Currently we are working on the full development of the refinement calculus and, in particular, in its application to the proof of consistency between static and dynamic diagrams in UML =-=[9]-=- in the context of [21]. Whether this approach to component/connector refinement scales up to be useful in the classification and transformation of software architectures [3, 13] remains a research qu... |

1210 |
Component software: beyond object-oriented programming
- Szyperski
- 1997
(Show Context)
Citation Context ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Report No. 281, May, 2003 UNU/IIST, P.O. Box 3058, Macau Introduction 1 1 Introduction Component-based software development =-=[27, 29, 7]-=- emerged as a promising paradigm to deal with the ever increasing need for mastering complexity, software evolution and reuse. From object-orientation it retains the basic principle of encapsulation o... |

636 | D.: A formal basis for architectural connection
- Allen, Garlan
- 1997
(Show Context)
Citation Context ...d dynamic diagrams in UML [9] in the context of [21]. Whether this approach to component/connector refinement scales up to be useful in the classification and transformation of software architectures =-=[3, 13]-=- remains a research question. Further comparison with refinement theories in both process algebra (as in, e.g., [10]) and state-based systems (for example in [11]) is also in order. Acknowledgements. ... |

413 |
Proof of correctness of data representations
- Hoare
- 1972
(Show Context)
Citation Context ...nts to say that, under refinement, neither pre-conditions are strengthened, nor post-conditions are weakened. Note this approach to data refinement, which can be traced back to Hoare's landmark paper =-=[15-=-], is consensual among model-oriented design methods, even though several variants and alternatives have been proposed in the literature (see [25] for a recent account). The SETS calculus [24], which... |

298 | Universal coalgebra: a theory of systems
- Rutten
(Show Context)
Citation Context ...ntics; secondly, the proposed constructions should be generic in the sense that they should not depend on a particular notion of component behaviour. This led both to the adoption of coalgebra theory =-=[26]-=- to capture observational semantics and to the abstract characterisation of possible behaviour models (e.g., partiality or (different degrees of) non-determinism) by strong monads acting as parameters... |

228 | A tutorial on (co)algebras and (co)induction
- Jacobs, Rutten
- 1997
(Show Context)
Citation Context ...-- which should describe how LBuff reacts to input stimuli, produces output data (if any) and changes state --- can also be written in a curried form as a LBu : U ! P(U O) I that is, as a coalgebra [2=-=6, 17-=-] of signature U ! T U involving transition `shape' (functor) T = P(Id O) I (1) Built in this `shape' is the possibility of non deterministic evolution captured by the use of P , the finite powerset m... |

121 |
Using Z. Specification, Refinement and Proof
- Woodcock, Davies
- 1996
(Show Context)
Citation Context ...onent Refinement 5 sophistication rather than refinement. In general, a preorder capturing functionality extension fails to be a pre-congruence, with respect to typical process combinators (see e.g., =-=[30-=-]). From our point of view, component refinement can be addressed, at least, at three different levels (to be detailed in the sequel): The interface level, which is concerned with what one may call p... |

92 |
Software development: a rigorous approach
- Jones
- 1980
(Show Context)
Citation Context ...f substitution. There is, however, a diversity of ways of understanding both what substitution means, and what such a transformation should seek for. Let us briefly mention a number of them: In VDM [=-=18]-=- data refinement is the process of transforming abstract data structures into more concrete ones, a transformation which presumably entails efficiency (e.g., the conversion of an inductive data type i... |

87 |
Algebra of Programming
- Bird, Moor
- 1997
(Show Context)
Citation Context ... 17 Therefore, p! I q E p ; p! O q. Similarly, the cancellation law for parallel composition , which involves a split-like construction for components (which, differently from the split of functions [8], is not an universal arrow), is, in general, a refinement result: p E hp; qi ; p 1 q (13) witnessed by 1 : U p U q 1 ! U p being a forward morphism. Yet another example is given by the (pseudo... |

85 |
Quantales, observational logic and process semantics
- ABRAMSKY, J
- 1993
(Show Context)
Citation Context ... long `implementation' case studies in [22] or [12]. However, several `observation' preorders have also been proposed in the literature which entail different notions of refinement (see, for example, =-=[1-=-] or [14]). A typical transformation, captured by most of such preorders, is reduction of nondeterminism. A totally different point of view is that of action refinement [2], in which what was conside... |

49 |
Strong functors and monoidal monads
- Kock
- 1972
(Show Context)
Citation Context ...pecified as a a (pointed) coalgebra in Set hu p 2 U p ; a p : U p ! B(U p O) I i (2) 2 A strong monad is a monad hB; ; i where B is a strong functor and both and strong natural transformations [19]. B being strong means there exist natural transformations T r : T =) T(Id ) and T l : T =) T( Id) called the right and left strength, respectively, subject to certain conditions. Their ef... |

48 | A mathematical semantics for architectural connectors
- Fiadeiro, Lopes, et al.
(Show Context)
Citation Context ...d dynamic diagrams in UML [9] in the context of [21]. Whether this approach to component/connector refinement scales up to be useful in the classification and transformation of software architectures =-=[3, 13]-=- remains a research question. Further comparison with refinement theories in both process algebra (as in, e.g., [10]) and state-based systems (for example in [11]) is also in order. Acknowledgements. ... |

21 | A reification calculus for model-oriented software specification
- Oliveira
- 1990
(Show Context)
Citation Context ...ant category, from the `concrete' to the `abstract' model such that the latter can be recovered from the former up to a suitable notion of equivalence, though, typically, not in a unique way. In SETS =-=[23]-=- such a retrieve function is an epi and the `suitable notion of equivalence' is, of course, Set isomorphism. In our components' framework, however, things do not work this way. The reason is obvious: ... |

20 |
Software reification using the SETS calculus
- Oliveira
- 1992
(Show Context)
Citation Context ... paper [15], is consensual among model-oriented design methods, even though several variants and alternatives have been proposed in the literature (see [25] for a recent account). The SETS calculus [=-=24]-=-, which is a calculus of data representations, is grounded on identical principles: a refinement is witnessed by a (split) epi, which may induce a representation invariant on the concrete side. Each c... |

17 | Simulations in coalgebra
- Hughes, Jacobs
(Show Context)
Citation Context ... on an endofunctor. Report No. 281, May, 2003 UNU/IIST, P.O. Box 3058, Macau Forward and Backward Morphisms 9 4 Forward and Backward Morphisms Given a Set endofunctor T, an order on T is defined in [16] as a functor (concretely, mapping every set U into a collection of preorders TU ) making the following diagram to commute: PreOrd ## (TU; TU ) ## Set T ## ## # # # # # # # Set concretely U ##... |

16 |
Components as Coalgebras
- Barbosa
- 2001
(Show Context)
Citation Context ... l p. In the other direction, let p l q and q l p hold, i.e., there exist w 1 and w 2 such that p q[w 1 ; w 2 ] and q p[w 3 ; w 4 ]. This implies q[w 1 ; w 2 ][w 3 ; w 4 ] q which, as proved in [5], equivales q[w 1 w 3 ; w 4 w 2 ] q. From this one draws w 1 w 3 = id I and w 4 w 2 = id O 0 . By a similar argument, using p[w 3 ; w 4 ][w 1 ; w 2 ] p, one gets w 3 w 1 = id I 0 and w 2 ... |

15 | A Formal Model for Componentware - Bergner, Rausch, et al. - 2000 |

14 | Components as processes: An exercise in coalgebraic modeling
- Barbosa
- 2000
(Show Context)
Citation Context ...ver, component-orientation has grown up to a popular technology before consensual definitions and principles, let alone formal foundations, have been put forward. In a series of papers, starting with =-=[4]-=-, the authors proposed a coalgebraic characterisation of software components as specifications of state-based modules, encapsulating a number of services through a public interface and providing limit... |

12 |
State-based components made generic
- Barbosa, Oliveira
- 2003
(Show Context)
Citation Context ...oural (section 5.) levels. Section 6. proves soundness of simulations to establish behavioural refinement. A few examples, along with some prospects for future work, are presented in section 7. 1 See =-=[6]-=- for a detailed account of the calculus and [20] for applications in structuring RSL [28] component specifications. Report No. 281, May, 2003 UNU/IIST, P.O. Box 3058, Macau Components as Coalgebras 2 ... |

11 |
Formal Methods for Concurrency
- Fencott
- 1996
(Show Context)
Citation Context ...g the corresponding refinement diagram. Most calculation within process algebras is carried in terms of equivalence relations --- see, for example, the long `implementation' case studies in [22] or [=-=12]-=-. However, several `observation' preorders have also been proposed in the literature which entail different notions of refinement (see, for example, [1] or [14]). A typical transformation, captured by... |

9 | Towards a Coalgebraic Semantics of UML: Class Diagrams and Use Cases
- Meng, Aichernig
(Show Context)
Citation Context ...y we are working on the full development of the refinement calculus and, in particular, in its application to the proof of consistency between static and dynamic diagrams in UML [9] in the context of =-=[21]-=-. Whether this approach to component/connector refinement scales up to be useful in the classification and transformation of software architectures [3, 13] remains a research question. Further compari... |

8 |
A categorical view of process refinement
- Degano, Gorrieri, et al.
(Show Context)
Citation Context ... to be useful in the classification and transformation of software architectures [3, 13] remains a research question. Further comparison with refinement theories in both process algebra (as in, e.g., =-=[10]-=-) and state-based systems (for example in [11]) is also in order. Acknowledgements. The work of Sun Meng is partially supported by the National Natural Science Foundation of China, under grant no. 602... |

7 |
Calculating upward and downward simulations of state-based specifications
- Derrick, Boiten
- 1999
(Show Context)
Citation Context ...ormation of software architectures [3, 13] remains a research question. Further comparison with refinement theories in both process algebra (as in, e.g., [10]) and state-based systems (for example in =-=[11]-=-) is also in order. Acknowledgements. The work of Sun Meng is partially supported by the National Natural Science Foundation of China, under grant no. 60273001, and FCT (the Portuguese Foundation for ... |

7 |
Data Refinement: Model-Oriented Proof Methods and their Comparison
- Roever, Engelhardt
- 1998
(Show Context)
Citation Context ...nt, which can be traced back to Hoare's landmark paper [15], is consensual among model-oriented design methods, even though several variants and alternatives have been proposed in the literature (see =-=[25-=-] for a recent account). The SETS calculus [24], which is a calculus of data representations, is grounded on identical principles: a refinement is witnessed by a (split) epi, which may induce a repre... |

7 |
Component-based programming under different paradigms
- Wadler, Weihe
- 1999
(Show Context)
Citation Context ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Report No. 281, May, 2003 UNU/IIST, P.O. Box 3058, Macau Introduction 1 1 Introduction Component-based software development =-=[27, 29, 7]-=- emerged as a promising paradigm to deal with the ever increasing need for mastering complexity, software evolution and reuse. From object-orientation it retains the basic principle of encapsulation o... |

6 | Component-based Coalgebraic Specification and Verification in RSL
- Meng, Aichernig
- 2002
(Show Context)
Citation Context ...undness of simulations to establish behavioural refinement. A few examples, along with some prospects for future work, are presented in section 7. 1 See [6] for a detailed account of the calculus and =-=[20]-=- for applications in structuring RSL [28] component specifications. Report No. 281, May, 2003 UNU/IIST, P.O. Box 3058, Macau Components as Coalgebras 2 2 Components as Coalgebras In [4, 6] software co... |

2 |
Action Refinement in Process Algebras. Distinguished Dissertations in Computer Science
- Aceto
- 1992
(Show Context)
Citation Context ...inement (see, for example, [1] or [14]). A typical transformation, captured by most of such preorders, is reduction of nondeterminism. A totally different point of view is that of action refinement [=-=2]-=-, in which what was considered an atomic action at the abstract level is `replaced' by a process over an alphabet of more fine-grain actions. The idea, which seems to have some connections with transi... |

2 |
Comparing rfinements for failure and bisimulation semantics
- Fokkinga, Eshuis
- 2000
(Show Context)
Citation Context ...implementation' case studies in [22] or [12]. However, several `observation' preorders have also been proposed in the literature which entail different notions of refinement (see, for example, [1] or =-=[14-=-]). A typical transformation, captured by most of such preorders, is reduction of nondeterminism. A totally different point of view is that of action refinement [2], in which what was considered an a... |