Formal Software Development

版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。 http://blog.csdn.net/topmvp - topmvp

This book is intended for final-year undergraduate and postgraduate computing students specializing in the field of software engineering. The text concentrates on the challenges that high integrity software development poses, and how formalmethods can help meet these challenges. Formal methods have long been advocated for the development of high integrity software. However, these methods are often perceived as being difficult to learn and apply. In particular, the step from formal specification to code is often left uncovered in text books. Without this, however, it is the authors experience that students tend to view such methods as purely academic tasks, divorced from the realities of the software development process. So, as well as providing a thorough introduction to the use of a formal method, we motivate the student by demonstrating the development of programs from formal specifications.

When formal program development is covered in many other text books, it tends to be in the context of proof obligations. We have found that students have greatest difficulty with this area C and in addition it is hard, in a text book, to demonstrate the complete formal development of a working application. In recent years, however, a lightweight approach to formal methods has been put forward. This approach places far less emphasis on the discharge of proof obligations and instead advocates the use of run-time assertions to ensure the integrity of final code. It is the lightweight approach we adopt in this book.

The formal method we have chosen is VDM (the Vienna Development Method). This is one of the most mature and widely used formal methods, with an internationally recognized standard. The implementation language we have chosen is Java C one of the most common programming languages taught at universities. While we assume no previous knowledge of VDM, we do assume that the reader is familiar with the basics of programming in Java. The UML notation is also used to informally specify classes. Most readers should be familiar with this notation, but a brief overview is provided.


http://depositfiles.com/files/335730
http://rapidshare.com/files/75068099/0333992814.zip
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值