Categories for Software Engineering - Hardcover

Fiadeiro, Jose Luiz

 
9783540209096: Categories for Software Engineering

Synopsis

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].

"synopsis" may belong to another edition of this title.

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

From the Back Cover

This book provides a gentle, software engineering oriented introduction to category theory. Assuming only a minimum of mathematical preparation, this book explores the use of categorical constructions from the point of view of the methods and techniques that have been proposed for the engineering of complex software systems: object-oriented development, software architectures, logical and algebraic specification techniques, models of concurrency, inter alia. After two parts in which basic and more advanced categorical concepts and techniques are introduced, the book illustrates their application to the semantics of CommUnity – a language for the architectural design of interactive systems.

"For computer scientists, this unique book presents Category Theory in a manner tailored to their interests and with examples to which they can relate." Ira Forman, IBM

"This book applies little-known yet quite powerful formal tools from category theory to software structures: designs, architectures, patterns, and styles. Rather than focus on issues at the level of computational models and semantics, it instead applies these tools to some of the problems facing the sophisticated software architect. The terminology and mind set (Parts 1 and 2), while different from many common approaches, can provide startlingly concise expression of key properties of software systems (Part 3), and give rigorous meaning to entire families of box-and-line architecture drawings. It is applicable to the formal specification, decomposition, and composition of service-oriented architectures." Desmond D'Souza, Kinetium

"About this title" may belong to another edition of this title.

Other Popular Editions of the Same Title

9783642058882: Categories for Software Engineering

Featured Edition

ISBN 10:  3642058884 ISBN 13:  9783642058882
Publisher: Springer, 2010
Softcover