Software Abstractions : Logic, Language, and Analysis
来源:互联网 发布:c语言 定义一个函数fx 编辑:程序博客网 时间:2024/06/03 09:48
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出版、作者信息和本声明。否则将追究法律责任。http://blog.csdn.net/topmvp - topmvp
In Software Abstractions Daniel Jackson introduces a new approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach--which Jackson calls "lightweight formal methods" or "agile modeling"--takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. The designer can use automated analysis not only to correct errors but also to make models that are more precise and elegant. This approach, Jackson says, can rescue designers from "the tarpit of implementation technologies" and return them to thinking deeply about underlying concepts. Software Abstractions introduces the key elements of the approach: a logic, which provides the building blocks of the language; a language, which adds a small amount of syntax to the logic for structuring descriptions; and an analysis, a form of constraint solving that offers both simulation (generating sample states and executions) and checking (finding counterexamples to claimed properties). The book uses Alloy as a vehicle because of its simplicity and tool support, but the book's lessons are mostly language-independent, and could also be applied in the context of other modeling languages.
http://rapidshare.com/files/51342611/0262101149.zip
In Software Abstractions Daniel Jackson introduces a new approach to software design that draws on traditional formal methods but exploits automated tools to find flaws as early as possible. This approach--which Jackson calls "lightweight formal methods" or "agile modeling"--takes from formal specification the idea of a precise and expressive notation based on a tiny core of simple and robust concepts but replaces conventional analysis based on theorem proving with a fully automated analysis that gives designers immediate feedback. Jackson has developed Alloy, a language that captures the essence of software abstractions simply and succinctly, using a minimal toolkit of mathematical notions. The designer can use automated analysis not only to correct errors but also to make models that are more precise and elegant. This approach, Jackson says, can rescue designers from "the tarpit of implementation technologies" and return them to thinking deeply about underlying concepts. Software Abstractions introduces the key elements of the approach: a logic, which provides the building blocks of the language; a language, which adds a small amount of syntax to the logic for structuring descriptions; and an analysis, a form of constraint solving that offers both simulation (generating sample states and executions) and checking (finding counterexamples to claimed properties). The book uses Alloy as a vehicle because of its simplicity and tool support, but the book's lessons are mostly language-independent, and could also be applied in the context of other modeling languages.
http://rapidshare.com/files/51342611/0262101149.zip
- Software Abstractions : Logic, Language, and Analysis
- Symbolic Data Analysis and the SODAS Software
- 《Software Requirements Analysis and Specification》读书笔记
- Software and Language about Machine Learning
- Software Testing and Analysis: Process, Principles and Techniques
- Software Metrics: A Guide to Planning, Analysis, and Application
- Code: The Hidden Language of Computer Hardware and Software 总结
- Using abstractions and interfaces with Unity3D
- Evolution of software language
- Research Issues in Systems Analysis and Design, Databases and Software Development
- Software and Hardware for Data Analysis, Pattern Recognition and Image Processing
- C++ Programming: Static Code Analysis and the New Language Standard C++0x
- Pattern-Oriented Analysis and Design: Composing Patterns to Design Software Systems
- 《Software Testing》笔记(ch9:Standard and Guidelines ch10:Foreign-language Testing)
- software engineering homework, product analysis
- software engineering homework, product analysis
- Inna and Binary Logic
- An introduction to Redis data types and abstractions
- 关于SQl browser
- Software Engineering for Internet Applications
- Web Design Before & After Makeovers
- SQL Server不允许进行远程连接的解决办法
- Mobile, Wireless and Sensor Networks : Technology, Applications and Future Directions
- Software Abstractions : Logic, Language, and Analysis
- 解决:Can't connect to local MySQL server through socket
- Guerrilla Oracle: The Succinct Windows Perspective
- . Net & XML
- 2篇msdn上关于语言的文章
- Design Patterns Explained : A New Perspective on Object-Oriented Design
- Design Concepts with Code: An Approach for Developers
- 自己动手创建 .NET Framework 语言编译器
- Database Management Systems