Peter Pepper
Technische Universität München
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Peter Pepper.
Acta Informatica | 1983
Martin Wirsing; Peter Pepper; Helmut Partsch; Walter Dosch; Manfred Broy
SummaryHierarchical abstract data types are algebraic specifications of computation structures where certain sorts, function symbols, and axioms are designated as being primitive. On hierarchical abstract data types additional structure is imposed. An algebraic specification is thus decomposed into several well-separated levels, such that both the understanding and the independent implementation of the levels is supported. This paper provides both model-theoretic and deduction-oriented conditions guaranteeing the soundness of a hierarchical specification. Furthermore necessary and sufficient conditions for the existence of initial and terminal models are investigated, and their close connection to the soundness of a hierarchy is demonstrated. In order to provide freedom and flexibility for specifications a wide class of axioms — namely universal-existential formulas — are admitted.
IEEE Transactions on Software Engineering | 1981
Manfred Broy; Peter Pepper
A methodology of program development by transformations is outlined. In particular, ways of representing the transformation rules are discussed, and the relationship between notions of their correctness and the semantic definition of programming languages is studied. How transformation techniques are complemented by the use of abstract data types and assertions is described. In the resulting calculus of transformations, the single rules not only represent design or optimization techniques, but they also incorporate verification principles. To illustrate this approach, the Warshall algorithm is developed by successive applications of transformations.
international colloquium on automata, languages and programming | 1979
Manfred Broy; Walter Dosch; Helmuth Partsch; Peter Pepper; Martin Wirsing
Hierarchies of abstract data types are specified by axioms which are positive formulas consisting of universally and existentially quantified disjunctions and conjunctions of equations. Necessary and sufficient conditions for the existence of terminal algebras are investigated. Furthermore, some advantages of disjunctions and existential quantifiers within the laws are discussed and the usefulness of terminal algebras is demonstrated by a few examples.
Science of Computer Programming | 1981
Friedrich L. Bauer; Manfred Broy; Walter Dosch; Rupert Gnatz; Bernd Krieg-Brückner; Alfred Laut; M. Luckmann; Thomas Matzner; Bernhard Möller; Helmuth Partsch; Peter Pepper; Klaus Samelson; Ralf Steinbrüggen; Martin Wirsing; Hans Wössner
Abstract The paper exemplifies programming in a wide spectrum language by presenting styles which range from non-operative specifications—using abstract types and tools from predicate logic as well as set theory—over recursive functions, to procedural program with variables. Besides a number of basic types, we develop an interpreter for parts of the language itself, an algorithm for applying transformation rules to program representations, a text editor, and a simulation of Backus functional programming language.
Program Construction, International Summer Schoo | 1978
Peter Pepper
The semantics of a programming language is specified — relative to a kernel language — by reducing certain constructs of the language to more elementary ones by means of definitional transformations. Parallels to the algebraic specification of abstract data types are discussed. This approach of transformational semantics is illustrated by explaining program variables in terms of purely applicative constructs.
ACM Transactions on Programming Languages and Systems | 1982
Manfred Broy; Peter Pepper
The basic idea of the Schorr-Waite graph-marking algorithm can be precisely formulated, explained, and verified in a completely applicative (functional) programming style. Graphs are specified algebraically as objects of an abstract data type. When formulating recursive programs over such types, one can combine algebraic and algorithmic reasoning: An applicative depth-first-search algorithm is derived from a mathematical specification by applying properties of reflexive, transitive closures of relations. This program is then transformed in several steps into a fmal procedural version with the help of both algebraic properties of graphs and algorithmic properties reflected in the recursion structure of the program.
Program Construction, International Summer Schoo | 1978
Friedrich L. Bauer; Manfred Broy; Helmuth Partsch; Peter Pepper; Hans Wössner
There are essentially two ways to attack the problem of the correctness of program transformations: transformation rules can be given as axioms — thus determining (parts of) the semantics of the language — or they can be verified with respect to a particular definition of the semantics. This classification is taken here as a guide-line for a systematic survey of transformation rules.
Proceedings of the Fourth 'Colloque International sur la Programmation' on International Symposium on Programming | 1980
Manfred Broy; Peter Pepper; Martin Wirsing
Equivalence relations between programs are strongly connected to the formal definition of the semantics of programming languages. In addition they provide a basis for the formal justification of the development of programs by transformations. Besides equivalences there are various other relations on programs and computational structures, which help to get a better understanding of both programming languages and the programming activity. In particular, the study of relations between nondeterministic programs allows to compare different concepts of nondeterminism.
Program Construction, International Summer Schoo | 1978
Hans Wössner; Peter Pepper; Helmuth Partsch; Friedrich L. Bauer
There are certain simple types of recursion allowing to be transformed immediately into usual iterative language constructs. On the other hand there are also routines which can only be implemented in full generality by using a stack mechanism. One of the great advantages of methods for program development is the individual and thus adequate treatment of routines — especially of recursive ones — by means of a repertory of transformation techniques. Some of the techniques based on the fundamental method of function inversion are presented in this paper.
Archive | 1984
Peter Pepper
The principles and potentials of transformational program development are outlined by a few simple examples. It is demonstrated that this programming technique may be used to produce software for various kinds of hardware architectures. Based on observations made with these examples, the theoretical fundamentals of a “transformational calculus” are developed. The considerations aim at the clarification of notions such as “transformation rule”, “applicability condition”, or “axiomatic rule”. Some brief comments on transformation systems and rule bases round off the discussion.