Software Engineering 1

Abstraction and Modelling
Sofort lieferbar | Lieferzeit:3-5 Tage I

96,29 €*

Alle Preise inkl. MwSt. | zzgl. Versand
Dines Bjorner
1165 g
245x169x35 mm
Texts in Theoretical Computer Science EATCS

This well written first volume covers the basic principles and techniques of abstraction and modeling. It starts by providing the reader with a sound but simple basis for discrete mathematics before moving on to teach basic property and model-oriented specification principles and techniques. In addition, the reader will learn the essentials of functional, imperative, and parallel specification programming.
Opening.- Discrete Mathematics.- Numbers.- Sets.- Cartesians.- Types.- Functions.- A ?-Calculus.- Algebras.- Mathematical Logic.- Simple RSL.- Atomic Types and Values in RSL.- Function Definitions in RSL.- Property-Oriented and Model-Oriented Abstraction.- Sets in RSL.- Cartesians in RSL.- Lists in RSL.- Maps in RSL.- Higher-Order Functions in RSL.- Specification Types.- Types in RSL.- Specification Programming.- Applicative Specification Programming.- Imperative Specification Programming.- Concurrent Specification Programming.- And So On!.- Etcetera!.
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 commonto 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.