Resumo em Inglês:
Morgan's approach to program development is a refinement calculus: using this method, programs are developed from specifications through the successive application of refinement laws. This programming technique has been widely accepted, but it has been shown that Morgan's approach to procedures and parameters has an inconsistency. Back presents an alternative formalisation of procedures and parameters which is consistent, but does not propose any refinement law. In this paper, we present refinement laws that allow the development of (possibly parametrised and recursive) procedures in the style of Morgan, and derive these laws based on Back's formalism. Some of the refinement laws we present have a counterpart in Morgan's calculus, but some are new laws that support his approach to the development of recursive proceduresResumo em Inglês:
We present a general framework for the modular development of families of programs or specifications through the use of labels. Families, consisting of components or versions, appear naturally in software development. The concept of implementation, as an interpretation into a conservative extension, is generalized to labeled families of specifications and formulated in categorical terms. We also show that the category of such families has pushouts and that this construction preserves conservative extensions, as required for composing implementations.Resumo em Inglês:
One of the main inhibitors to the widespread acceptance of formal specification methods is the difficulty of integrating formal specification with the development process. Integrated methods seek to mitigate this difficulty by integrating formal specification with widely used structured requirements analysis methods. Several structured and formal methods are object-oriented. This paper describes a prototype integrated method and support tool called Metamorphosis that exploits the object paradigm to integrate OMT and Object-Z. Metamorphosis is presented here to demonstrate how object-oriented analysis methods such as OMT may be augmented to provide the additional rigour of formal analysis.Resumo em Inglês:
The effectiveness of tool integration in software development environments is ultimately measured by its ability in improving the productivity of the user. Traditionally, issues related to tool integration are often classified according to aspects of such mechanisms as user interface, control, and data integration which are purely from the viewpoint of the environment developer. This mechanism-based classification has worked well in analysing the relevant issues of tool integration. However, its usefulness as a guide to achieving effective tool integration is limited. In this paper, we introduce an alternative classification scheme aimed at gradual improvement to the effectiveness of tool integration. As such, this classification scheme provides a guide to tool integration along the line of improving the user's productivity. In terms of this classification, we compare and experiment in depth a variety of integration techniques using a uniform tool interfacing architecture as well as discuss the issues of the potential user productivity gains.