Results 1 
7 of
7
Formal Specifications in Software Maintenance: From code to Z++ and back again
 INFORMATION AND SOFTWARE TECHNOLOGY
, 1993
"... This paper presents a number of techniques that have been developed as components of the software maintenance process as part of the ESPRIT REDO project. These techniques are all based on formal methods, and the work described has provided the mathematical underpinning to a large collaborative proje ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
This paper presents a number of techniques that have been developed as components of the software maintenance process as part of the ESPRIT REDO project. These techniques are all based on formal methods, and the work described has provided the mathematical underpinning to a large collaborative project that has been investigating various aspects of software maintenance. The focus of the project has been on reverse engineering, and methods for this part of the maintenance process are reported on here, along with techniques for subsequent reengineering. A proposal for specificationoriented software maintenance is presented, in which specifications in an objectoriented extension of the formal notation Z are maintained in step with the
Formal Methods and Intelligent Software Engineering Environments
, 1995
"... Formal methods for software development have been emphasized by academia for more than a decade and have been given an increasing attention by some governmental organizations in recent years. However, evidence shows that industry still hesitate or refuse to accept formal methods for contracted and p ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
Formal methods for software development have been emphasized by academia for more than a decade and have been given an increasing attention by some governmental organizations in recent years. However, evidence shows that industry still hesitate or refuse to accept formal methods for contracted and practical projects despite their potential advantages. A major reason is that formal methods are di cult to use, resourcedemanding and limited for the assurance of system quality. How to address this problem e ectively is still an open problem. We believe that formal methods are optimistic for industrial applications, but the current state of the art in formal methods must be improved in several aspects, including the components of formal software development, formal notation, and software engineering environments. These three aspects are strongly related and a ected each other in contribution to the overall quality of software systems. In this paper, we rst analyses the di culties and limitations in using formal methods based upon our study of several real projects, then propose an improved software development process using formal methods for practical applications. In order to improve the usability of formal notation, we design a structured and formal language SOFL (StructuredObjectOrientedFormal Language) for software development by combining and extending DeMarco data ow diagrams, Petri Nets, and the formal notation VDMSL. An example of developing a training centre system using SOFL is presented to demonstrate how to carry out the proposed software process. Finally, we discuss the ideas of building an intelligent software engineering environment to support the software process and SOFL.
Typechecking Z
, 2000
"... This paper presents some of our requirements for a Z typechecker: that the typechecker accept all welltypeable formulations, however contrived; that it gather information about uses of declarations as needed to support interactive browsing and formal reasoning; that it fit the description give ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
This paper presents some of our requirements for a Z typechecker: that the typechecker accept all welltypeable formulations, however contrived; that it gather information about uses of declarations as needed to support interactive browsing and formal reasoning; that it fit the description given by draft standard Z; and that it be able to check some particular extensions to Z that are intended to allow explicit definitions of schema calculus operators. The paper presents a specification of such a Z typechecker, which we have implemented.
Z and HOL
, 1994
"... A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic. The HOL theorem proving system supports higher order logic. A wellknown case study is used as a running example. The presentation is i ..."
Abstract
 Add to MetaCart
A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic. The HOL theorem proving system supports higher order logic. A wellknown case study is used as a running example. The presentation is intended to show people with some knowledge of Z how a tool such as HOL can be used to provide mechanical support for the notation, including mechanization of proofs. No specialized knowledge of HOL is assumed.
Z and HOL
, 1994
"... A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic and is typically used for humanreadable formal specification. The HOL theorem proving system supports higher order logic and is used fo ..."
Abstract
 Add to MetaCart
A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic and is typically used for humanreadable formal specification. The HOL theorem proving system supports higher order logic and is used for machinechecked verification. A wellknown case study is used as a running example. The presentation is intended to show people with some knowledge of Z how a tool such as HOL can be used to provide mechanical support for the notation, including mechanization of proofs. No specialized knowledge of HOL is assumed.
Z and HOL
"... A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic and is typically used for humanreadable formal specification. The HOL ..."
Abstract
 Add to MetaCart
A simple `shallow' semantic embedding of the Z notation into the HOL logic is described. The Z notation is based on set theory and first order predicate logic and is typically used for humanreadable formal specification. The HOL