Software Abstractions: Logic, Language, and Analysis (Hardcover)
暫譯: 軟體抽象:邏輯、語言與分析 (精裝版)

Daniel Jackson

  • 出版商: MIT
  • 售價: $2,050
  • 貴賓價: 9.5$1,948
  • 語言: 英文
  • 頁數: 376
  • 裝訂: Hardcover
  • ISBN: 0262017156
  • ISBN-13: 9780262017152
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

相關主題

商品描述

In Software Abstractions Daniel Jackson introduces an 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. This revised edition updates the text, examples, and appendixes to be fully compatible with the latest version of Alloy (Alloy 4).

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: 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).

商品描述(中文翻譯)

在《Software Abstractions》中,Daniel Jackson 介紹了一種軟體設計的方法,該方法借鑒了傳統的形式方法,但利用自動化工具儘早發現缺陷。這種方法——Jackson 稱之為「輕量級形式方法」或「敏捷建模」——從形式規範中提取了基於一小核心簡單且穩健概念的精確且表達力強的符號,但用完全自動化的分析取代了基於定理證明的傳統分析,為設計者提供即時反饋。Jackson 開發了 Alloy,一種簡潔地捕捉軟體抽象本質的語言,使用最小的數學概念工具包。這一修訂版更新了文本、範例和附錄,以完全兼容最新版本的 Alloy(Alloy 4)。

設計者可以利用自動化分析不僅修正錯誤,還能製作更精確和優雅的模型。Jackson 說,這種方法可以將設計者從「實作技術的泥潭」中拯救出來,讓他們重新深入思考基本概念。《Software Abstractions》介紹了關鍵要素:一種邏輯,提供語言的基本構建塊;一種語言,為邏輯添加少量語法以結構化描述;以及一種分析,這是一種約束求解形式,提供模擬(生成樣本狀態和執行)和檢查(尋找聲明屬性的反例)。

最後瀏覽商品 (20)