Program Development by Specification and Transformation


Book Description

This volume gives a coherent presentation of the outcome of the project PROSPECTRA (PROgram development by SPECification and TRAnsformation) that aims to provide a rigorous methodology for developing correct software and a comprehensive support system. The results are substantial: a theoretically well-founded methodology covering the whole development cycle, a very high-level specification and transformation language family allowing meta-program development and formalization of the development process itself, and a prototype development system supporting structure editing, incremental static-semantic checking, interactive context-sensitivetransformation and verification, development of transformation (meta-) programs, version management, and so on, with an initial libraryof specifications and a sizeable collection of implemented transformations. The intended audience for this documentation is the academic community working in this and related areas and those members of the industrial community interested in the use of formal methods.




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.




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.




Methods of Programming


Book Description

The systematic development of software systems is a central task of computing science. A software system is the result of putting together knowledge about the application, the requirements and the structures of computing science. Under the heading CIP (Computer-aided Intuition-guided Programming), a group of researchers led by Prof. F.L. Bauer and Prof. K. Samelson started work in 1975 in the direction of formal program specification, transformational programming, and tool supportfor program development. The collection of papers in this volume presents examples of a formal approach to programming language concepts and program development based on algebraic specifications and program transformations. Examples are also presented of evolutions and modificationsof the original ideas of the CIP project. The topics range from descriptionsof the program development process to derivations of algorithms from specifications. The volume is dedicated to Prof. F.L. Bauer.




ESOP '88


Book Description

The volume contains the 23 papers selected for presentation at the ESOP '88 Conference, Nancy 1988. The theme of the ESOP conferences is the design, specification and implementation of programming languages and systems. Particular emphasis is placed on work in which an implemented system embodies an important concept or formal model of programming in such a way that its usefulness is demonstrated. Among the five sections of the volume, the one on language implementation contains the most papers. Here a rather wide spectrum of aspects, ranging from language implementation problems on parallel architectures and optimization of functional programs to new concepts for programming environments is covered. Another large section consists of papers in the area of algebraic specification and type concepts. The papers in this section are devoted to issues such as polymorphism, subtypes and notions of implementation and reuse for algebraic specifications. Two further sections are devoted to new language concepts and novel approaches to program development and verification.




Algebraic System Specification and Development


Book Description

Methods for the algebraic specification of abstract data types were proposed in the early 1970s in the USA and Canada and became a major research issue in Europe shortly afterwards. Since then the algebraic approach has come to play a central role in research on formal specification and development, as its range of applications was extended to the specification of complete software systems, to the formal description of the program development process, and to the uniform definition of syntax and semantics of programming languages. Today this approach extends beyond just software to the development of integrated hardware and software systems. These flourishing activities in the area of algebraic specifications have led to an abundance of approaches, theories and concepts, which have universal algebra, category theory and logic as a common mathematical basis. This volume is an annotated bibliography which provides an up-to-date overview of past and present work on algebraic specification. No attempt is made to provide a coherent introduction to the topic for beginners; the intention is rather to provide a guide to the current literature for researchers in algebraic specification and neighboring fields. Some indications of how the different approaches are related are included, together with some ideas concerning possible future directions.




Program Transformation and Programming Environments


Book Description

Proceedings of the NATO Advanced Research Workshop on Program Transformation and Programming Environments




System Development and Ada


Book Description

The collection of papers published in this book was initially presented at the Workshop on Software Factories and Ada, held on Capri, May 26-30, 1986. The subject of the book is software development environments. Software development is treated from three viewpoints: methodologies, language issues and mechanisms. Of particular interest are the discussions of automation of the development process and the formalization of software development specifications. Several new methodologies are described, many of which are available on the commercial market. New is in particular the formalization of the design and development process. Interesting ideas are presented on planning the design process and on supporting project management by formal tools. The reader will find a variety of interesting methodologies and mechanisms that are operational. The book is suitable for readers interested in knowing in which direction programming environment research is moving.




A Theory and Practice of Program Development


Book Description

A Theory and Practice of Program Development provides a comprehensive introduction to a software development method based on VDM-SL. Each development step is rigorously justified, and the strategies and transformations used are justified and explained ma thematically. The approach provides the formal semantics of a simple, but powerful, wide-spectrum programming language and gives a formal definition of both algorithmic and data refinement. Unlike other texts, it covers both the theory and practice of program development. Although based on VDM-SL, no knowledge of this language is assumed, thus making it widely accessible. A Theory and Practice of Program Development is intended for 3rd/4th year undergraduate and postgraduate students taking formal methods and software engineering; software developers involved in the production of provably correct computer systems and reusa ble design and the problems of reusable code.




Programming from Specifications


Book Description

Providing a thorough treatment of most elementary program development techniques, this revised edition covers topics such as procedures, parameters, recursion and data refinement, with the integration of specification, development and coding, based on ordinary (classical) logic.