Formal Software Development

2024-04-19 01:48
文章标签 software development formal

本文主要是介绍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

这篇关于Formal Software Development的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/916346

相关文章

关于javaSocket中 Software caused connection abort: recv failed问题

在学习Socket中今天突然遇到了下面这样的问题 原来是网路连接出了问题,因为我测试的是远程连接所以是在学校的局域网下,结果很不稳定,开始还以为怎么了一会连上了一会又出现问题然后把IP地址改为本机的127.0.0.1之后就没有 出现过了.

myeclipse中没有software update选项

方法一:你在myeclipse中点Windows-->Preferences 在弹出的对话框的左侧栏,点General-->点Capabilities,然后把Classic Update前的框选上,OK了。 方法二:也可以通过Help-->MyEclipse Configuration Center-->Software-->Add Site的方式进行插件安装。。

启动Eclipse失败,提示A Java Runtime Environment(JRE)or java Development Kit(JDK)must ...

今天启动Eclipse时提示错误信息: 在网上找了好多资料都没有解决,最后决定重新配置一下jdk环境。 于是卸载了jdk,然后重新安装jdk,配置JAVA_HOME,顺利启动了Eclipse。 原因是:不知道谁修改了我电脑中的jre目录名称,将 jre1.8.0_91 修改成了jre,导致无法启动Eclipse。 总结:启动Eclipse失败的原因,说到底还是和jdk环境有

导入项目启动报错Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps\

导入项目启动报错Unexpectedexception parsing XML document from file[H:\software\apache-tomcat-7.0.77\webapps\ItcastOA\WEB-INF\classes\applicationContext.xml]       背景介绍: 导入项目报错1: ER

Spring AOP 错误error at ::0 formal unbound in pointcut

原因:是我们在使用Before注解的时候,没有定义返回的参数,但是拦截的方法中缺需要传入一个参数,比如下面的“name”参数。如果Before注解拦截的方法需要接收参数,需要在Before中声明。 解决方法: 1. 去掉函数通知函数中的参数, 例如: @Before("execution(* com.test.serivce..*.*(..))") public void befo

lvgl_micropython development for esp32

​​​​​​上一篇博客已经编译源码生成了ESP32C3的固件lvgl_micropy_ESP32_GENERIC_C3-4.bin,这篇博客开发一个界面。 一、开发环境 1、安装开发工具 Windows安装Thonny工具,官网链接:Thonny, Python IDE for beginners。 参考博客:用MicroPython开发ESP32- 用Thonny写程序_esp32用什么

Agile Software Development

Individuals and interactions over processes and tools.(个人和协作超过过程和工具) working software over comprehensive documentation.(工作软件超过完全文档) Customer collaboration over contract negotiation.(客户协作超过合同谈判)

《计算机英语》 Unit 3 Software Engineering 软件工程

Section A Software Engineering Methodologies 软件工程方法论 Software development is an engineering process. 软件开发是一个工程过程。 The goal of researchers in software engineering is to find principles that guide the

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方案 创建启用BCS的业务解决方案

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方案  创建启用BCS的业务解决方案 SP中一个常用实践是使用文档库预创建Office文档模板作为内容类型。

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方案 SP Apps中的BCS

BEGINNING SHAREPOINT® 2013 DEVELOPMENT 第13章节--使用业务连接服务创建业务线解决方案  SP Apps中的BCS 之前的联系中,你安装了一个业务数据连接模型到SP Online,你创建的外部内容类型变成可用的“万能钥匙”,可以在任何网站集中使用--当然受权限的限制。