This book constitutes the refereed proceedings of the 7th International Joint Conference CAAP/FASE on Theory and Practice of Software Development (TAPSOFT'97), held in Lille, France, in April 1997. The volume is organized in three parts: The first presents invited contributions, the second is devoted to trees in algebra in programming (CAAP) and the third to formal approaches in software engineering (FASE). The 30 revised full papers presented in the CAAP section were selected from 77 submissions; the 23 revised full papers presented in the FASE section were selected from 79 submissions.
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.
This book constitutes the strictly refereed post-workshop proceedings of the International Workshop on Requirements Targeting Software and Systems Engineering, RTSE '97, held in Bernried, Germany in October 1997. The 15 revised full papers presented in the book were carefully revised and reviewed for inclusion in the book. Among the authors are internationally leading researchers. The book is divided in sections on foundations of software engineering, methodology, evaluation and case studies, and tool support and prototyping.
The correct development of large / com plex pieces of software demands a thorough structuring of the design process. In a first phase the requirements engineering is relevant for capturing the relevant functionality and its adequate formalization in precise mathematical definitions. Prototyping can can be used as a means for checking the functional behaviour at this early stage of development. The ade quate specification resulting from the first phase is then the basis for the second phase which comprises the derivation of an implementation. This phase requires the use of formal methods and tools to verify/validate the implementation. A prerequisite for applying this approach is to have a suitable mechanical support. This volume contains the proceedings of the International Workshop Tool Support for System Specification, Development and Verification organized June 1 - 4, 1998, in Malente, Germany. This workshop is the third in a series of events devoted to this topic. The first two workshops were held in 1994 in Kiel and 1996 in Bremen, Germany. The aim of this workshop is to provide a forum for researchers interested in the use and development of tools which support the use of mathematical techniques for the specification, development and verification of systems. The workshop covers the spectrum from verification tools to graphical editors and compilers. The program of the workshop included an invited lecture and 26 talks. The invited lecture was given by F.W. von Henke (University ofUlm) on Mechanized formal methods and system design.
Term rewriting systems developed out of mathematical logic and are an important part of theoretical computer science. They consist of sequences of discrete transformation steps where one term is replaced with another and have applications in many areas, from functional programming to automatic theorem proving and computer algebra. This 2003 book starts at an elementary level with the earlier chapters providing a foundation for the rest of the work. Much of the advanced material appeared here for the first time in book form. Subjects treated include orthogonality, termination, completion, lambda calculus, higher-order rewriting, infinitary rewriting and term graph rewriting. Many exercises are included with selected solutions provided on the web. A comprehensive bibliography makes this book ideal both for teaching and research. A chapter is included presenting applications of term rewriting systems, with many pointers to actual implementations.
We are invited to deal with mathematical activity in a sys tematic way [ ... ] one does expect and look for pleasant surprises in this requirement of a novel combination of psy chology, logic, mathematics and technology. Hao Wang, 1970, quoted from(Wang, 1970). The field of mathematics has been a key application area for automated theorem proving from the start, in fact the very first automatically found the orem was that the sum of two even numbers is even (Davis, 1983). The field of automated deduction has witnessed considerable progress and in the last decade, automated deduction methods have made their way into many areas of research and product development in computer science. For instance, deduction systems are increasingly used in software and hardware verification to ensure the correctness of computer hardware and computer programs with respect to a given specification. Logic programming, while still falling somewhat short of its expectations, is now widely used, deduc tive databases are well-developed and logic-based description and analysis of hard-and software is commonplace today.