Copyright © 1995 Published by Elsevier Science B.V.
On the correctness of modular systems*1
Available online 22 December 1999.
References and further reading may be available for this article. To view references and further reading you must purchase this article.
Abstract
In modular software design it is expected that the correctness of the implementation of a complete system will be a consequence of the correctness of each module. Very often, this property has been associated to the satisfaction of the so-called horizontal and vertical composition properties, both at the specification and at the programming language levels.
In this paper we introduce an abstract framework that allows us to represent, as specific instances, most concrete modular fameworks. In particular, the framework presented is “parametrized” by the specification and programming language formalisms, by the semantic constructs associated to modules and by the behavioural equivalence relation used to define module refinement. In addition, the framework is powerful enough to integrate specification and program design by allowing us to deal with incompletely specified systems. In this context, it is shown that, to achieve modular correctness, it is sufficient that the programming language satisfies the property of “stability”, as defined by Schoett, with respect to the given behavioural equivalence relation. In particular, modular correctness is shown to be independent of the satisfaction (or not) of the horizontal and vertical composition properties at the specification level. Finally, it is shown that the property of stability is just a compact formulation of the properties of horizontal and vertical composition at the programming language level.







E-mail Article
Add to my Quick Links

Cited By in Scopus (3)





