An empirical investigation into problem decomposition strategies used in program design
International Journal of Man-Machine Studies - Ellis Horwood series in artificial intelligence
A 15 Year Perspective on Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Communications of the ACM
The Z notation: a reference manual
The Z notation: a reference manual
Specification influences in program design
International Journal of Man-Machine Studies
Specification case studies
Experiences in translating Z designs to Haskell implementations
Software—Practice & Experience
A toolset to support the construction and animation of formal specifications
Journal of Systems and Software
The Science of Programming
Structure and Interpretation of Computer Programs
Structure and Interpretation of Computer Programs
A Discipline of Programming
Towards quality requirements via animated formal specifications
Annals of Software Engineering
The Core Method for Real-Time Requirements
IEEE Software
Stop the life-cycle, I want to get off
ACM SIGSOFT Software Engineering Notes
Structured programming
Challenges in the successful transfer of formal methods technology into industrial applications
Information and Software Technology
Hi-index | 0.00 |
Formal methods is seen as a means of applying scientific knowledge to software construction, thereby legitimating the use of mathematics within software engineering. However, the software engineering community faces numerous challenges before an effective transfer of this formal methods technology can take place because of the level of skill, expertise and effort required in their application. It is argued that at present the use of formal notations for system specification is a mature technology offering the greatest leverage. The relative benefits of a declarative approach with a “getting it right the first time” maxim versus an imperative approach coupled with an exploratory trial and error flavour are explored. Detailed characteristics of a teaching and learning environment developed to support the latter approach are provided. Its varied uses in the context of teaching and learning within undergraduate and postgraduate courses in software engineering are discussed. Exemplars from these uses show how users of the environment explore formal specifications to improve their understanding of specification and thereby illustrate the effectiveness of the environment. Implications of our approach on technology transfer and training are briefly explored.