Back to results
Cover image for book Foundations of Algebraic Specification and Formal Software Development

Foundations of Algebraic Specification and Formal Software Development

By:Donald Sannella; Andrzej Tarlecki
Publisher:Springer Nature
Print ISBN:9783642173356
eText ISBN:9783642173363
Edition:0
Copyright:2012
Format:Page Fidelity

eBook Features

Instant Access

Purchase and read your book immediately

Read Offline

Access your eTextbook anytime and anywhere

Study Tools

Built-in study tools like highlights and more

Read Aloud

Listen and follow along as Bookshelf reads to you

This book provides foundations for software specification and formal software development from the perspective of work on algebraic specification, concentrating on developing basic concepts and studying their fundamental properties. These foundations are built on a solid mathematical basis, using elements of universal algebra, category theory and logic, and this mathematical toolbox provides a convenient language for precisely formulating the concepts involved in software specification and development. Once formally defined, these notions become subject to mathematical investigation, and this interplay between mathematics and software engineering yields results that are mathematically interesting, conceptually revealing, and practically useful.   The theory presented by the authors has its origins in work on algebraic specifications that started in the early 1970s, and their treatment is comprehensive. This book contains five kinds of material: the requisite mathematicalfoundations; traditional algebraic specifications; elements of the theory of institutions; formal specification and development; and proof methods.   While the book is self-contained, mathematical maturity and familiarity with the problems of software engineering is required; and in the examples that directly relate to programming, the authors assume acquaintance with the concepts of functional programming. The book will be of value to researchers and advanced graduate students in the areas of programming and theoretical computer science.