Software Engineering 1: Abstraction and Modelling

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

The art, craft, discipline, logic, practice, and science of developing large-scale software products needs a believable, professional base. The textbooks in this three-volume set combine informal, engineeringly sound practice with the rigour of formal, mathematics-based approaches.

Volume 1 covers the basic principles and techniques of formal methods abstraction and modelling. First this book provides a sound, but simple basis of insight into discrete mathematics: numbers, sets, Cartesians, types, functions, the Lambda Calculus, algebras, and mathematical logic. Then it trains its readers in basic property- and model-oriented specification principles and techniques. The model-oriented concepts that are common to such specification languages as B, VDM-SL, and Z are explained here using the RAISE specification language (RSL). This book then covers the basic principles of applicative (functional), imperative, and concurrent (parallel) specification programming. Finally, the volume contains a comprehensive glossary of software engineering, and extensive indexes and references.

These volumes are suitable for self-study by practicing software engineers and for use in university undergraduate and graduate courses on software engineering. Lecturers will be supported with a comprehensive guide to designing modules based on the textbooks, with solutions to many of the exercises presented, and with a complete set of lecture slides.

Author(s): Dines Bjørner
Series: Texts in Theoretical Computer Science. An EATCS Series
Publisher: Springer
Year: 2006

Language: English
Commentary: incorrect pagination
Pages: 735
Tags: Software Engineering; Programming Techniques; Programming Languages, Compilers, Interpreters; Logics and Meanings of Programs

Front Matter....Pages 1-1
Introduction....Pages 3-42
Front Matter....Pages 43-43
Numbers....Pages 45-54
Sets....Pages 55-61
Cartesians....Pages 63-70
Types....Pages 71-85
Functions....Pages 87-108
A λ-Calculus....Pages 109-125
Algebras....Pages 127-140
Mathematical Logic....Pages 141-199
Front Matter....Pages 201-204
Atomic Types and Values in RSL....Pages 205-219
Function Definitions in RSL....Pages 221-230
Property-Oriented and Model-Oriented Abstraction....Pages 231-262
Sets in RSL....Pages 263-293
Cartesians in RSL....Pages 295-319
Lists in RSL....Pages 321-347
Maps in RSL....Pages 349-392
Higher-Order Functions in RSL....Pages 393-409
Front Matter....Pages 411-411
Types in RSL....Pages 413-425
Front Matter....Pages 427-428
Applicative Specification Programming....Pages 429-466
Imperative Specification Programming....Pages 467-510
Front Matter....Pages 427-428
Concurrent Specification Programming....Pages 511-554
Front Matter....Pages 555-555
Etcetera!....Pages 557-560