Skip to main content
Book cover

Categories for Software Engineering

  • Textbook
  • © 2005

Overview

  • First book demonstrating how category theory can be used for formal software development
  • The mathematical toolbox for the Software Engineering in the new age of complex interactive systems
  • Includes supplementary material: sn.pub/extras

This is a preview of subscription content, log in via an institution to check access.

Access this book

eBook USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book USD 54.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Other ways to access

Licence this eBook for your library

Institutional subscriptions

Table of contents (10 chapters)

  1. Basics

  2. Advanced Topics

  3. Applications

Keywords

About this book

Why Another Book on Category Theory? In the past ten years, several books have been published on category t- ory either by computer scientists or having computer scientists as a target audience (e. g. [6, 12, 22, 89, 105], to which a precious collection of little gems [90] and the chapter cum book [91] should be added). Isn't the working computer scientist spoilt with choice? Although each of the above mentioned books presents an approach of its own, there is one aspect in common in their view of computer science: the analogy between arrows (morphisms) and (classes of) computations. This "type-theoretic" or "functional" approach corresponds to a view of c- puter science as a science of computation, i. e. a discipline concerned with the study of computational phenomena where the focus is on the nature and organisation of computations. However, there is another view of computer science where the focus is, instead, on the development of computer programs or systems. This is the approach that supports, for instance, software engineering. From this point of view, arrows do not capture computational phenomena, or abstractions thereof, but instead relationships between programs, or abstractions of programs, that arise in the development of computer systems, for instance, refinement of higher-level specifications into executable programs [100, 104], and superposition of new features over existing systems [72].

Authors and Affiliations

  • Department of Computer Science, University of Leicester, Leicester, UK

    José Luiz Fiadeiro

About the author

 Professor at the University of Leicester; Visiting Scientist at Imperial College, King’s College London, SRI International and the University of Pisa; Chairman of the IFIP WG1.3 – Foundations of System Specification; Chairman of the Steering Committee of the European Joint Conferences on Theory and Practice of Software; Winner of an IBM Award in 1996 for his work on Emergence in Complex Software Systems

Bibliographic Information

Publish with us