Author: Donald Sannella
Publisher: Springer Science & Business Media
ISBN: 3642173365
Category : Computers
Languages : en
Pages : 594
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.
Foundations of Algebraic Specification and Formal Software Development
Author: Donald Sannella
Publisher: Springer Science & Business Media
ISBN: 3642173365
Category : Computers
Languages : en
Pages : 594
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.
Publisher: Springer Science & Business Media
ISBN: 3642173365
Category : Computers
Languages : en
Pages : 594
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.
Algebraic Specifications in Software Engineering
Author: Ivo Van Horebeek
Publisher: Springer Science & Business Media
ISBN: 3642750303
Category : Computers
Languages : en
Pages : 362
Book Description
"I prefer to view formal methods as tools. the use of which might be helpful." E. W. Dijkstra Algebraic specifications are about to be accepted by industry. Many projects in which algebraic specifications have been used as a design tool have been carried out. What prevents algebraic specifications from breaking through is the absence of introductory descriptions and tools supporting the construction of algebraic specifications. On the one hand. interest from industry will stimulate people to make introductions and tools. whereas on the other hand the existence of introductions and tools will stimulate industry to use algebraic specifications. This book should be seen as a contribution towards creating this virtuous circle. The book will be of interest to software designers and programmers. It can also be used as material for an introductory course on algebraic specifications and software engineering at undergraduate or graduate level. Nowadays. there is general agreement that in large software projects appropriate specifications are a must in order to obtain quality software. Informal specifications alone are certainly not appropriate because they are incomplete. inconsistent. inaccurate and ambiguous and they rapidly become bulky and therefore useless. The only way to overcome this problem is to use formal specifications. An important remark here is that a specification formalism (language) alone is not sufficient. What is also needed is a design method to write specifications in that formalism.
Publisher: Springer Science & Business Media
ISBN: 3642750303
Category : Computers
Languages : en
Pages : 362
Book Description
"I prefer to view formal methods as tools. the use of which might be helpful." E. W. Dijkstra Algebraic specifications are about to be accepted by industry. Many projects in which algebraic specifications have been used as a design tool have been carried out. What prevents algebraic specifications from breaking through is the absence of introductory descriptions and tools supporting the construction of algebraic specifications. On the one hand. interest from industry will stimulate people to make introductions and tools. whereas on the other hand the existence of introductions and tools will stimulate industry to use algebraic specifications. This book should be seen as a contribution towards creating this virtuous circle. The book will be of interest to software designers and programmers. It can also be used as material for an introductory course on algebraic specifications and software engineering at undergraduate or graduate level. Nowadays. there is general agreement that in large software projects appropriate specifications are a must in order to obtain quality software. Informal specifications alone are certainly not appropriate because they are incomplete. inconsistent. inaccurate and ambiguous and they rapidly become bulky and therefore useless. The only way to overcome this problem is to use formal specifications. An important remark here is that a specification formalism (language) alone is not sufficient. What is also needed is a design method to write specifications in that formalism.
Software Engineering with OBJ
Author: Joseph A. Goguen
Publisher: Taylor & Francis US
ISBN: 9780792377573
Category : Computers
Languages : en
Pages : 448
Book Description
Software Engineering with OBJ: Algebraic Specification in Action is a comprehensive introduction to OBJ, the most widely used algebraic specification system. As a formal specification language, OBJ makes specifications and designs more precise and easier to read, as well as making maintenance easier and more accurate. OBJ differs from most other specification languages not just in having a formal semantics, but in being executable, either through symbolic execution with term rewriting, or more generally through theorem proving. One problem with specifications is that they are often wrong. OBJ can help validate specifications by executing test cases, and by proving properties. As well as providing a detailed introduction to the language and the OBJ system that implements it, Software Engineering with OBJ: Algebraic Specification in Action provides case studies by leading practitioners in the field, in areas such as computer graphics standards, hardware design, and parallel computation. The case studies demonstrate that OBJ can be used in a wide variety of ways to achieve a wide variety of practical aims in the system development process. The papers on various OBJ systems also demonstrate that the language is relatively easy to understand, implement, and use, and that it supports formal reasoning in a straightforward but powerful way. Software Engineering with OBJ: Algebraic Specification in Action will be of interest to students and teachers in the areas of data types, programming languages, semantics, theorem proving, and algebra, as well as to researchers and practitioners in software engineering.
Publisher: Taylor & Francis US
ISBN: 9780792377573
Category : Computers
Languages : en
Pages : 448
Book Description
Software Engineering with OBJ: Algebraic Specification in Action is a comprehensive introduction to OBJ, the most widely used algebraic specification system. As a formal specification language, OBJ makes specifications and designs more precise and easier to read, as well as making maintenance easier and more accurate. OBJ differs from most other specification languages not just in having a formal semantics, but in being executable, either through symbolic execution with term rewriting, or more generally through theorem proving. One problem with specifications is that they are often wrong. OBJ can help validate specifications by executing test cases, and by proving properties. As well as providing a detailed introduction to the language and the OBJ system that implements it, Software Engineering with OBJ: Algebraic Specification in Action provides case studies by leading practitioners in the field, in areas such as computer graphics standards, hardware design, and parallel computation. The case studies demonstrate that OBJ can be used in a wide variety of ways to achieve a wide variety of practical aims in the system development process. The papers on various OBJ systems also demonstrate that the language is relatively easy to understand, implement, and use, and that it supports formal reasoning in a straightforward but powerful way. Software Engineering with OBJ: Algebraic Specification in Action will be of interest to students and teachers in the areas of data types, programming languages, semantics, theorem proving, and algebra, as well as to researchers and practitioners in software engineering.
Fundamentals of Algebraic Specification 1
Author: Hartmut Ehrig
Publisher: Springer Science & Business Media
ISBN: 3642699626
Category : Computers
Languages : en
Pages : 333
Book Description
The aim of this book is to present fundamentals of algebraic specifications with respect to the following three aspects: fundamentals in the sense of a carefully motivated introduction to algebraic specifications, which is easy to understand for computer scientists and mathematicians; fundamentals in the sense of mathematical theories which are the basis for precise definitions, constructions, results, and correctness proofs; and fundamentals in the sense of concepts, which are introduced on a conceptual level and formalized in mathematical terms. The book is equally suitableas a text book for graduate courses and as a reference for researchers and system developers.
Publisher: Springer Science & Business Media
ISBN: 3642699626
Category : Computers
Languages : en
Pages : 333
Book Description
The aim of this book is to present fundamentals of algebraic specifications with respect to the following three aspects: fundamentals in the sense of a carefully motivated introduction to algebraic specifications, which is easy to understand for computer scientists and mathematicians; fundamentals in the sense of mathematical theories which are the basis for precise definitions, constructions, results, and correctness proofs; and fundamentals in the sense of concepts, which are introduced on a conceptual level and formalized in mathematical terms. The book is equally suitableas a text book for graduate courses and as a reference for researchers and system developers.
Algebraic Specification Techniques in Object Oriented Programming Environments
Author: Ruth Breu
Publisher: Springer Verlag
ISBN: 9780387549729
Category : Computers
Languages : en
Pages : 228
Book Description
"The main aim of this monograph is to provide a framework for the integrated design of object-oriented programs with algebraic specification techniques. The design method pursued relies fundamentally on the structuring of systems based on the notion of data types. Depending on the level of abstraction, data types are described in an object-oriented way by algebraic specifications or by machine-executable object-oriented programs. The treatment involves two main aspects. First, object-oriented programs have to be related by a notion of correctness that models the transition from specifications to program implementations. The author presents a notion of correctness which relies on the idea of abstraction functions. Second, in order to obtain an integrated design environment, a uniform structuring concept for object oriented programs and algebraic specifications has to be provided. Inheritance, subtyping and clientship are three central notions of object-oriented structuring. Theauthor uses them to develop the kernel of a typed object- oriented programming language. The monograph provides the formal foundation for a unified framework of algebraic specifications and object-oriented programs. A major guideline is the development of a design method supporting the structured design and reuse of software in this environment."--PUBLISHER'S WEBSITE.
Publisher: Springer Verlag
ISBN: 9780387549729
Category : Computers
Languages : en
Pages : 228
Book Description
"The main aim of this monograph is to provide a framework for the integrated design of object-oriented programs with algebraic specification techniques. The design method pursued relies fundamentally on the structuring of systems based on the notion of data types. Depending on the level of abstraction, data types are described in an object-oriented way by algebraic specifications or by machine-executable object-oriented programs. The treatment involves two main aspects. First, object-oriented programs have to be related by a notion of correctness that models the transition from specifications to program implementations. The author presents a notion of correctness which relies on the idea of abstraction functions. Second, in order to obtain an integrated design environment, a uniform structuring concept for object oriented programs and algebraic specifications has to be provided. Inheritance, subtyping and clientship are three central notions of object-oriented structuring. Theauthor uses them to develop the kernel of a typed object- oriented programming language. The monograph provides the formal foundation for a unified framework of algebraic specifications and object-oriented programs. A major guideline is the development of a design method supporting the structured design and reuse of software in this environment."--PUBLISHER'S WEBSITE.
Software Engineering Mathematics
Author: Jim Woodcock
Publisher: Addison Wesley Publishing Company
ISBN:
Category : Computers
Languages : en
Pages : 296
Book Description
Publisher: Addison Wesley Publishing Company
ISBN:
Category : Computers
Languages : en
Pages : 296
Book Description
CafeOBJ Report
Author: Razvan Diaconescu
Publisher: World Scientific
ISBN: 9789810235130
Category : Computers
Languages : en
Pages : 204
Book Description
This is a report on the formal definition of the CafeOBJ algebraic specification language, which is a modern successor to the famous algebraic language OBJ. While the equational core of CafeOBJ is just a reshaping of OBJ, CafeOBJ significantly extends OBJ by incorporating several recent major developments in the area of algebraic specification, such as behavioural specification and rewriting logic. The definition of the language parallels its logical semantics based on the so-called institutions, which also provide a methodological framework for structuring the presentation of the basic constructs of the language and their semantics. This report presents all the basic constructs of the language together with their semantics and addresses both the programming in-the-small and in-the-large levels. However, it also discusses proof systems and technologies, as well as methodologies. Examples are provided throughout the report as intuitive support for the definitions of the constructs and for illustrating proof techniques and methodologies.
Publisher: World Scientific
ISBN: 9789810235130
Category : Computers
Languages : en
Pages : 204
Book Description
This is a report on the formal definition of the CafeOBJ algebraic specification language, which is a modern successor to the famous algebraic language OBJ. While the equational core of CafeOBJ is just a reshaping of OBJ, CafeOBJ significantly extends OBJ by incorporating several recent major developments in the area of algebraic specification, such as behavioural specification and rewriting logic. The definition of the language parallels its logical semantics based on the so-called institutions, which also provide a methodological framework for structuring the presentation of the basic constructs of the language and their semantics. This report presents all the basic constructs of the language together with their semantics and addresses both the programming in-the-small and in-the-large levels. However, it also discusses proof systems and technologies, as well as methodologies. Examples are provided throughout the report as intuitive support for the definitions of the constructs and for illustrating proof techniques and methodologies.
Handbook of Process Algebra
Author: J.A. Bergstra
Publisher: Elsevier
ISBN: 0080533671
Category : Computers
Languages : en
Pages : 1357
Book Description
Process Algebra is a formal description technique for complex computer systems, especially those involving communicating, concurrently executing components. It is a subject that concurrently touches many topic areas of computer science and discrete math, including system design notations, logic, concurrency theory, specification and verification, operational semantics, algorithms, complexity theory, and, of course, algebra.This Handbook documents the fate of process algebra since its inception in the late 1970's to the present. It is intended to serve as a reference source for researchers, students, and system designers and engineers interested in either the theory of process algebra or in learning what process algebra brings to the table as a formal system description and verification technique. The Handbook is divided into six parts spanning a total of 19 self-contained Chapters. The organization is as follows. Part 1, consisting of four chapters, covers a broad swath of the basic theory of process algebra. Part 2 contains two chapters devoted to the sub-specialization of process algebra known as finite-state processes, while the three chapters of Part 3 look at infinite-state processes, value-passing processes and mobile processes in particular. Part 4, also three chapters in length, explores several extensions to process algebra including real-time, probability and priority. The four chapters of Part 5 examine non-interleaving process algebras, while Part 6's three chapters address process-algebra tools and applications.
Publisher: Elsevier
ISBN: 0080533671
Category : Computers
Languages : en
Pages : 1357
Book Description
Process Algebra is a formal description technique for complex computer systems, especially those involving communicating, concurrently executing components. It is a subject that concurrently touches many topic areas of computer science and discrete math, including system design notations, logic, concurrency theory, specification and verification, operational semantics, algorithms, complexity theory, and, of course, algebra.This Handbook documents the fate of process algebra since its inception in the late 1970's to the present. It is intended to serve as a reference source for researchers, students, and system designers and engineers interested in either the theory of process algebra or in learning what process algebra brings to the table as a formal system description and verification technique. The Handbook is divided into six parts spanning a total of 19 self-contained Chapters. The organization is as follows. Part 1, consisting of four chapters, covers a broad swath of the basic theory of process algebra. Part 2 contains two chapters devoted to the sub-specialization of process algebra known as finite-state processes, while the three chapters of Part 3 look at infinite-state processes, value-passing processes and mobile processes in particular. Part 4, also three chapters in length, explores several extensions to process algebra including real-time, probability and priority. The four chapters of Part 5 examine non-interleaving process algebras, while Part 6's three chapters address process-algebra tools and applications.
CASL User Manual
Author: Michel Bidoit
Publisher: Springer Science & Business Media
ISBN: 354020766X
Category : Computers
Languages : en
Pages : 239
Book Description
CASL, the Common Algebraic Specification Language, was designed by the members of CoFI, the Common Framework Initiative for algebraic specification and development, and is a general-purpose language for practical use in software development for specifying both requirements and design. CASL is already regarded as a de facto standard, and various sublanguages and extensions are available for specific tasks. This book illustrates and discusses how to write CASL specifications. The authors first describe the origins, aims and scope of CoFI, and review the main concepts of algebraic specification languages. The main part of the book explains CASL specifications, with chapters on loose, generated and free specifications, partial functions, sub- and supersorts, structuring specifications, genericity and reusability, architectural specifications, and version control. The final chapters deal with tool support and libraries, and present a realistic case study involving the standard benchmark for comparing specification frameworks. The book is aimed at software researchers and professionals, and follows a tutorial style with highlighted points, illustrative examples, and a full specification and library index. A separate, complementary LNCS volume contains the CASL Reference Manual.
Publisher: Springer Science & Business Media
ISBN: 354020766X
Category : Computers
Languages : en
Pages : 239
Book Description
CASL, the Common Algebraic Specification Language, was designed by the members of CoFI, the Common Framework Initiative for algebraic specification and development, and is a general-purpose language for practical use in software development for specifying both requirements and design. CASL is already regarded as a de facto standard, and various sublanguages and extensions are available for specific tasks. This book illustrates and discusses how to write CASL specifications. The authors first describe the origins, aims and scope of CoFI, and review the main concepts of algebraic specification languages. The main part of the book explains CASL specifications, with chapters on loose, generated and free specifications, partial functions, sub- and supersorts, structuring specifications, genericity and reusability, architectural specifications, and version control. The final chapters deal with tool support and libraries, and present a realistic case study involving the standard benchmark for comparing specification frameworks. The book is aimed at software researchers and professionals, and follows a tutorial style with highlighted points, illustrative examples, and a full specification and library index. A separate, complementary LNCS volume contains the CASL Reference Manual.
Specification of Software Systems
Author: V.S. Alagar
Publisher: Springer
ISBN: 9780857292766
Category : Computers
Languages : en
Pages : 646
Book Description
This extensively revised and updated new edition of Specification of Software Systems builds upon the original focus on software specification with added emphasis on the practice of formal methods for specification and verification activities for different types of software systems and at different stages of developing software systems. Topics and features: provides a wide coverage of formal specification techniques and a clear writing style, supported by end-of-chapter bibliographic notes for further reading; presents a logical structure, with sections devoted to specification fundamentals, basics of formalism, logic, set theory and relations, property-oriented specification methods, and model-based specification techniques; contains end-of-chapter exercises and numerous case studies, with potential course outlines suggested in the Preface; covers Object-Z, B-Method, and Calculus of Communicating Systems; offers material that can be taught with tool-supported laboratory projects.
Publisher: Springer
ISBN: 9780857292766
Category : Computers
Languages : en
Pages : 646
Book Description
This extensively revised and updated new edition of Specification of Software Systems builds upon the original focus on software specification with added emphasis on the practice of formal methods for specification and verification activities for different types of software systems and at different stages of developing software systems. Topics and features: provides a wide coverage of formal specification techniques and a clear writing style, supported by end-of-chapter bibliographic notes for further reading; presents a logical structure, with sections devoted to specification fundamentals, basics of formalism, logic, set theory and relations, property-oriented specification methods, and model-based specification techniques; contains end-of-chapter exercises and numerous case studies, with potential course outlines suggested in the Preface; covers Object-Z, B-Method, and Calculus of Communicating Systems; offers material that can be taught with tool-supported laboratory projects.