Formal Specification Level


Book Description

This book introduces a new level of abstraction that closes the gap between the textual specification of embedded systems and the executable model at the Electronic System Level (ESL). Readers will be enabled to operate at this new, Formal Specification Level (FSL), using models which not only allow significant verification tasks in this early stage of the design flow, but also can be extracted semi-automatically from the textual specification in an interactive manner. The authors explain how to use these verification tasks to check conceptual properties, e.g. whether requirements are in conflict, as well as dynamic behavior, in terms of execution traces.




Hardware/Software Co-Design


Book Description

Introduction to Hardware-Software Co-Design presents a number of issues of fundamental importance for the design of integrated hardware software products such as embedded, communication, and multimedia systems. This book is a comprehensive introduction to the fundamentals of hardware/software co-design. Co-design is still a new field but one which has substantially matured over the past few years. This book, written by leading international experts, covers all the major topics including: fundamental issues in co-design; hardware/software co-synthesis algorithms; prototyping and emulation; target architectures; compiler techniques; specification and verification; system-level specification. Special chapters describe in detail several leading-edge co-design systems including Cosyma, LYCOS, and Cosmos. Introduction to Hardware-Software Co-Design contains sufficient material for use by teachers and students in an advanced course of hardware/software co-design. It also contains extensive explanation of the fundamental concepts of the subject and the necessary background to bring practitioners up-to-date on this increasingly important topic.




Formal Specification


Book Description

Formal Specification provides the reader with a practical and versatile approach to constructing program specifications. It includes both model-based (Z/VDM) and algebraic (CLEAR) paradigms of specification and emphasizes the range of languages and approaches available. Its main advantage over other specification books is that is offers an unrivaled breadth of coverage of the area, encompassing all the recent important advances.




ZUM '95: The Z Formal Specification Notation


Book Description

This book presents the proceedings of the 9th International Conference of Z Users, ZUM '95, held in Limerick, Ireland in September 1995. The book contains 34 carefully selected papers on Z, using Z, applications of Z, proof, testing, industrial usage, object orientation, animation of specification, method integration, and teaching formal methods. Of particular interest is the inclusion of an annotated Z bibliography listing 544 entries. While focussing on Z, by far the most commonly used "formal method" both in industry and application, the volume is of high relevance for the whole formal methods community.




Algorithms in C.


Book Description

This text aims to provide an introduction to graph algorithms and data structures and an understanding of the basic properties of a broad range of fundamental graph algorithms. It is suitable for anyone with some basic programming concepts. It covers graph properties and types, graph search, directed graphs, minimal spanning trees, shortest paths, and networks.




Specification and Transformation of Programs


Book Description

"Specification and transformation of programs" is short for a methodology of software development where, from a formal specification of a problem to be solved, programs correctly solving that problem are constructed by stepwise application of formal, semantics-preserving transformation rules. The approach considers programming as a formal activity. Consequently, it requires some mathematical maturity and, above all, the will to try something new. A somewhat experienced programmer or a third- or fourth-year student in computer science should be able to master most of this material - at least, this is the level I have aimed at. This book is primarily intended as a general introductory textbook on transformational methodology. As with any methodology, reading and understanding is necessary but not sufficient. Therefore, most of the chapters contain a set of exercises for practising as homework. Solutions to these exercises exist and can, in principle, be obtained at nominal cost from the author upon request on appropriate letterhead. In addition, the book also can be seen as a comprehensive account of the particular transformational methodology developed within the Munich CIP project.




Larch: Languages and Tools for Formal Specification


Book Description

Building software often seems harder than it ought to be. It takes longer than expected, the software's functionality and performance are not as wonderful as hoped, and the software is not particularly malleable or easy to maintain. It does not have to be that way. This book is about programming, and the role that formal specifications can play in making programming easier and programs better. The intended audience is practicing programmers and students in undergraduate or basic graduate courses in software engineering or formal methods. To make the book accessible to such an audience, we have not presumed that the reader has formal training in mathematics or computer science. We have, however, presumed some programming experience. The roles of fonnal specifications Designing software is largely a matter of combining, inventing, and planning the implementation of abstractions. The goal of design is to describe a set of modules that interact with one another in simple, well defined ways. If this is achieved, people will be able to work independently on different modules, and yet the modules will fit together to accomplish the larger purpose. In addition, during program maintenance it will be possible to modify a module without affecting many others. Abstractions are intangible. But they must somehow be captured and communicated. That is what specifications are for. Specification gives us a way to say what an abstraction is, independent of any of its implementations.




ZUM '98: The Z Formal Specification Notation


Book Description

1 In a number of recent presentations – most notably at FME’96 –oneofthe foremost scientists in the ?eld of formal methods, C.A.R. Hoare,has highlighted the fact that formal methods are not the only technique for producing reliable software. This seems to have caused some controversy,not least amongst formal methods practitioners. How can one of the founding fathers of formal methods seemingly denounce the ?eld of research after over a quarter of a century of support? This is a question that has been posed recently by some formal methods skeptics. However, Prof. Hoare has not abandoned formal methods. He is reiterating, 2 albeitmoreradically,his1987view thatmorethanonetoolandnotationwillbe requiredinthepractical,industrialdevelopmentoflarge-scalecomplexcomputer systems; and not all of these tools and notations will be, or even need be, formal in nature. Formalmethods arenotasolution,butratheroneofaselectionoftechniques that have proven to be useful in the development of reliable complex systems, and to result in hardware and software systems that can be produced on-time and within a budget, while satisfying the stated requirements. After almostthree decades,the time has come to view formalmethods in the context of overall industrial-scale system development, and their relationship to othertechniquesandmethods.Weshouldnolongerconsidertheissueofwhether we are “pro-formal” or “anti-formal”, but rather the degree of formality (if any) that we need to support in system development. This is a goal of ZUM’98, the 11th International Conference of Z Users, held for the ?rst time within continental Europe in the city of Berlin, Germany.




ZUM'97: The Z Formal Specification Notation


Book Description

This book constitutes the refereed proceedings of the 10th International Conference of Z Users, ZUM'97, held in Reading, UK, in April 1997. The volume presents 18 revised full papers together with three invited presentations by internationally leading experts. The papers are organized into topical sections on real-time systems, tools, logic, system development, reactive systems, refinement, and applications. Also a select Z bibliography by Jonathan Bowen is added. All in all, the book competently reports the state-of-the-art in research and advanced applications of the Z notation.