Foundations of Algebraic Specification and Formal Software Development


Book Description

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 mathematical foundations; 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.




Software Engineering Mathematics


Book Description




Mathematical Foundations of Software Engineering


Book Description

This textbook presents an introduction to the mathematical foundations of software engineering. It presents the rich applications of mathematics in areas such as error-correcting codes, cryptography, the safety and security critical fields, the banking and insurance fields, as well as traditional engineering applications. Topics and features: Addresses core mathematics for critical thinking and problem solving Discusses propositional and predicate logic and various proof techniques to demonstrate the correctness of a logical argument. Examines number theory and its applications to cryptography Considers the underlying mathematics of error-correcting codes Discusses graph theory and its applications to modelling networks Reviews tools to support software engineering mathematics, including automated and interactive theorem provers and model checking Discusses financial software engineering, including simple and compound interest, probability and statistics, and operations research Discusses software reliability and dependability and explains formal methods used to derive a program from its specification Discusses calculus, matrices, vectors, complex numbers, and quaternions, as well as applications to graphics and robotics Includes key learning topics, summaries, and review questions in each chapter, together with a useful glossary This practical and easy-to-follow textbook/reference is ideal for computer science students seeking to learn how mathematics can assist them in building high-quality and reliable software on time and on budget. The text also serves as an excellent self-study primer for software engineers, quality professionals, and software managers.




Guide to the Software Engineering Body of Knowledge (Swebok(r))


Book Description

In the Guide to the Software Engineering Body of Knowledge (SWEBOK(R) Guide), the IEEE Computer Society establishes a baseline for the body of knowledge for the field of software engineering, and the work supports the Society's responsibility to promote the advancement of both theory and practice in this field. It should be noted that the Guide does not purport to define the body of knowledge but rather to serve as a compendium and guide to the knowledge that has been developing and evolving over the past four decades. Now in Version 3.0, the Guide's 15 knowledge areas summarize generally accepted topics and list references for detailed information. The editors for Version 3.0 of the SWEBOK(R) Guide are Pierre Bourque (Ecole de technologie superieure (ETS), Universite du Quebec) and Richard E. (Dick) Fairley (Software and Systems Engineering Associates (S2EA)).




Software Engineering Foundations


Book Description

A groundbreaking book in this field, Software Engineering Foundations: A Software Science Perspective integrates the latest research, methodologies, and their applications into a unified theoretical framework. Based on the author's 30 years of experience, it examines a wide range of underlying theories from philosophy, cognitive informatics, denota




Mathematical Foundation of Computer Science


Book Description

The Interesting Feature Of This Book Is Its Organization And Structure. That Consists Of Systematizing Of The Definitions, Methods, And Results That Something Resembling A Theory. Simplicity, Clarity, And Precision Of Mathematical Language Makes Theoretical Topics More Appealing To The Readers Who Are Of Mathematical Or Non-Mathematical Background. For Quick References And Immediate Attentions3⁄4Concepts And Definitions, Methods And Theorems, And Key Notes Are Presented Through Highlighted Points From Beginning To End. Whenever, Necessary And Probable A Visual Approach Of Presentation Is Used. The Amalgamation Of Text And Figures Make Mathematical Rigors Easier To Understand. Each Chapter Begins With The Detailed Contents, Which Are Discussed Inside The Chapter And Conclude With A Summary Of The Material Covered In The Chapter. Summary Provides A Brief Overview Of All The Topics Covered In The Chapter. To Demonstrate The Principles Better, The Applicability Of The Concepts Discussed In Each Topic Are Illustrated By Several Examples Followed By The Practice Sets Or Exercises.







Concrete Mathematics


Book Description

This book introduces the mathematics that supports advanced computer programming and the analysis of algorithms. The primary aim of its well-known authors is to provide a solid and relevant base of mathematical skills - the skills needed to solve complex problems, to evaluate horrendous sums, and to discover subtle patterns in data. It is an indispensable text and reference not only for computer scientists - the authors themselves rely heavily on it! - but for serious users of mathematics in virtually every discipline. Concrete Mathematics is a blending of CONtinuous and disCRETE mathematics. "More concretely," the authors explain, "it is the controlled manipulation of mathematical formulas, using a collection of techniques for solving problems." The subject matter is primarily an expansion of the Mathematical Preliminaries section in Knuth's classic Art of Computer Programming, but the style of presentation is more leisurely, and individual topics are covered more deeply. Several new topics have been added, and the most significant ideas have been traced to their historical roots. The book includes more than 500 exercises, divided into six categories. Complete answers are provided for all exercises, except research problems, making the book particularly valuable for self-study. Major topics include: Sums Recurrences Integer functions Elementary number theory Binomial coefficients Generating functions Discrete probability Asymptotic methods This second edition includes important new material about mechanical summation. In response to the widespread use of the first edition as a reference book, the bibliography and index have also been expanded, and additional nontrivial improvements can be found on almost every page. Readers will appreciate the informal style of Concrete Mathematics. Particularly enjoyable are the marginal graffiti contributed by students who have taken courses based on this material. The authors want to convey not only the importance of the techniques presented, but some of the fun in learning and using them.




Mathematical Foundations of Computer Networking


Book Description

Mathematical techniques pervade current research in computer networking, yet are not taught to most computer science undergraduates. This self-contained, highly-accessible book bridges the gap, providing the mathematical grounding students and professionals need to successfully design or evaluate networking systems. The only book of its kind, it brings together information previously scattered amongst multiple texts. It first provides crucial background in basic mathematical tools, and then illuminates the specific theories that underlie computer networking. Coverage includes: * Basic probability * Statistics * Linear Algebra * Optimization * Signals, Systems, and Transforms, including Fourier series and transforms, Laplace transforms, DFT, FFT, and Z transforms * Queuing theory * Game Theory * Control theory * Information theory




Theoretical and Mathematical Foundations of Computer Science


Book Description

This book constitutes the refereed post-proceedings of the Second International Conference on Theoretical and Mathematical Foundations of Computer Science, ICTMF 2011, held in Singapore in May 2011. The conference was held together with the Second International Conference on High Performance Networking, Computing, and Communication systems, ICHCC 2011, which proceedings are published in CCIS 163. The 84 revised selected papers presented were carefully reviewed and selected for inclusion in the book. The topics covered range from computational science, engineering and technology to digital signal processing, and computational biology to game theory, and other related topices.