ebook img

Algorithmic Languages and Calculi: IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi 17–22 February 1997, Alsace, France PDF

451 Pages·1997·38.95 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Algorithmic Languages and Calculi: IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi 17–22 February 1997, Alsace, France

Algorithmic Languages and Calculi Come and visit the a IT Applied Computing Resource Centre: www.IT-CH.com IFIP - The International Federation for Information Processing IFIP was founded in 1960 under the auspices of UNESCO, following the First World Computer Congress held in Paris the previous year. An umbrella organization for societies working in information processing, IFIP's aim is two-fold: to support information processing within its member countries and to encourage technology transfer to developing nations. As its mission statement clearly states, IFIP's mission is to be the leading, truly international, apolitical organization which encourages and assists in the development, exploitation and application of information technology for the benefit of all people. IFIP is a non-profitmaking organization, run almost solely by 2500 volunteers. It operates through a number of technical committees, which organize events and publications. IFIP's events range from an international congress to local .seminars, but the most important are: • the IFIP World Computer Congress, held every second year; • open conferences; • working conferences. The flagship event is the IFIP World Computer Congress, at which both invited and contributed papers are presented. Contributed papers are rigorously refereed and the rejection rate is high. As with the Congress, participation in the open conferences is open to all and papers may be invited or submitted. Again, submitted papers are stringently refereed. The working conferences are structured differently. They are usually run by a working group and attendance is small and by invitation only. Their purpose is to create an atmosphere conducive to innovation and development. Refereeing is less rigorous and papers are subjected to extensive group discussion. Publications arising from IFIP events vary. The papers presented at the IFIP World Computer Congress and at open conferences are published as conference proceedings, while the results of the working conferences are often published as collections of selected and edited papers. Any national society whose primary activity is in information may apply to become a full member of IFIP, although full membership is restricted to one society per country. Full members are entitled to vote at the annual General Assembly, National societies preferring a less committed involvement may apply for associate or corresponding membership. Associate members enjoy the same benefits as full members, but without voting rights. Corresponding members are not represented in IFIP bodies. Affiliated membership is open to non-national societies, and individual and honorary membership schemes are also offered. Algorithmic Languages and Calculi IFIP TC2 WG2.1 International Workshop on Algorithmic Languages and Calculi 17-22 February 1997, Alsace, France Edited by Richard S. Bird Computing Laboratory Oxford University Oxford UK and Lambert Meertens CWI Amsterdam The Netherlands /UII/ SPRINGER INTERNATIONAL PUBLISHING, CHAM First edition 1997 © 1997 IFIP International Federation for Information Processing Originally published by Chapman & Hall in 1997 Softcover reprint of the hardcover 1st edition 1997 978-0-41282050-2 ISBN 978-1-5041-2877-3 ISBN 978-0-387-35264-0 (eBook) DOI 10.1007/978-0-387-35264-0 Apart from any fair dealing for the purposes of research or private study. or criticism or review. as permined under the UK Copyright Designs and Patents Act. 1988. this publication may not be reproduced. stored. or transmitted, in any form or by any means. without the prior permission in writing of the publishers. or in the case of reprographic reproduction only in accordance with the terms of the licences issued by the Copyright Licensing Agency in the UK. or in accordance with the terms of licences issued by the appropriate Reproduction Rights Organization outside the UK. Enquiries concerning reproduction outside the terms stated here should be sent to the publishers at the London address printed on this page. The publisher makes no representation. express or implied. with regard to the accuracy of the information contained in this book and cannot accept any legal responsibility or liability for any errors or omissions that may be made. A catalogue record for this book is available from the British Library @ Printed on permanent acid-free text paper. manufactured in accordance with ANSIINISO Z39.48-1992 and ANSIINISO Z39.48-1984 (Permanence of Paper). CONTENTS Preface VII Programme Committee viii 1 Dynamic programming: a different perspective S. Curtis 1 2 Calculating with pointer structures B. Moller 24 3 Deriving a systolic regular language recognizer M. Vaccari and R. Backhouse 49 Discussion 73 4 A calculational fusion system HYLO Y. Onoue, Z. Hu, H. Iwasaki and M. Takeichi 76 5 Refinement of data parallel programs in PEl E. Violard, S. Genaud and G.-R. Perrin 107 6 Solving large systems of differential equations in parallel using covers and skeletons M. Siidholt, C. Piepenbrock, K. Obermayer and P. Pepper 132 Discussion 160 7 Refinement of parameterized algebraic specifications Y. V. Srinivas 164 8 Towards a compositional interpretation of object diagrams J.C. Bicarregui, K.C. Lano and T.S.E. Maibaum 187 9 Defining and detecting feature interactions M. Frappier; A. Mili and J. Desharnais 212 10 Synthesising interconnections J.L. Fiadeiro, A. Lopes and T.S.E. Maibaum 240 II A powerful transformation rule, its applications and variants K. Achatz and H. Partsch 265 12 Program derivation via list introduction A. Pettorossi and M. Proietti 296 13 Towards a calculus for abstract syntax trees D.S. Wile 324 Discussion 354 14 Principled strength reduction Y.A. Liu 357 vi Conte11ts 15 The fonna1 reconstruction and speedup of the linear time fragment of Willard's relational calculus subset D. Goyal and R. Paige 382 16 Predicative semantics of loops T.S. Norvell 415 Discussion 438 Index of contributors 441 Keyword index 443 PREFACE This book contains the papers presented at the IFIP Working Conference on Algorithmic Languages and Calculi, held in Bisschoffsheim, Alsace, on February 17-19, 1997. The conference was sponsored by IFIP Technical Com mittee 2 and organised in cooperation with Working Group 2.1 on Algorithmic Languages and Calculi, whose 50th meeting was held immediately afterwards. For a number of years the inspiration ofWG 2.1 has been to seek to develop a theory of algorithmics, comprising notations and calculi appropriate for rig orous yet elegant methods of program development. The following papers reflect this inspiration in a variety of ways. Together, they provide a state-of the-art overview of ongoing research in the field, as well as its application to the production of practical software. There are derivations both of individual programs and classes of algorithms, a number of which are conducted in a point-free style using equational and inequational reasoning in a relational calculus. There are presentations of general program-transformation schemes, descriptions of implemented systems for carrying out transformations auto matically (or semi-implemented systems for semi-automatic transformations), and explorations of the use of categorical concepts in the specification and de sign of general systems. Overall, the papers attest to continuing progress in our ability to improve conceptual clarity, to increase notational simplicity, and to tackle progressively harder problems. All this is made possible by striving for mathematical abstraction and unification. The papers are recorded in the order they were presented at the conference, and are interleaved with edited transcripts of four short discussion sessions. The editors are grateful to the members of the Program Committee and the reviewers for their careful work, and to the Organising Committee for providing a stimulating environment for the conference. They would also like to thank Doug Smith, chairman of WG 2.1, for providing much useful infor mation, and Aileen Parlane of Chapman & Hall for general support in the preparation of this book. Amsterdam, April 1997 Richard Bird Lambert Meertens PROGRAMME COMMITTEE D.R. Smith, Palo Alto, USA (Chair) J-P. Finance, Nancy, France (Co-Chair) R. Back, Turku, Finland R. Backhouse, Eindhoven, The Netherlands T. Coquand, Goteborg, Sweden H. Ehrig, Berlin, Germany M.S. Feather, Pasadena, USA J. Gibbons, Auckland, New Zealand D. Gries, Ithaca, USA A.M. Haeberer, Rio de Janeiro, Brazil R. Hebner, Toronto, Canada L.G.L.T. Meertens, Amsterdam, The Netherlands B. Moller, Augsburg, Germany C. Morgan, Oxford, UK F. Orejas, Barcelona, Spain R. Paige, New York, USA H. Partsch, Ulm, Germany P. Pepper, Berlin, Germany D. Sannella, Edinburgh, UK M. Sintzoff, Louvain-la-Neuve, Belgium W. Turski, Warsaw, Poland 1 Dynamic programming: a different perspective Sharon Curtis Oxford University Computing Laboratory Parks Road, Oxford, UK. OX1 3QD sharon~comlab.ox.ac.uk Abstract Dynamic programming has long been used as an algorithm design technique, with various mathematical theories proposed to model it. Here we take a different per spective, using a relational calculus to model both. problems and their solutions obtained from dynamic programming. This approach serves to shed new light on the different styles of dynamic programming, representing them by different search strategies of the tree-like space of partial solutions. Keywords dynamic programming, optimization problems, relational calculus 1 INTRODUCTION AND HISTORY Dynamic programming is an algorithm design technique for solving many differ ent types of optimization problem, applicable to such diverse fields as operations research (Ecker and Kupferschmid, 1988) and ileutron transport theory (Bellman, Kagiwada and Kalaba, 1967). The mathematical theory of the subject dates back to 1957, when Richard Bell man (Bellman, 1957) first popularized the idea, producing a mathematical theory to model multi-stage decision processes and to solve related optimization problems. He was also the first to introduce the idea of the Principle of Optimality: "An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions must constitute an optimal policy with regard to the state resulting from the first decision." This he presented as the essential condition that such an optimization problem had to satisfy for the dynamic programming technique to be applicable. (Morin (1982) subsequently showed that this is a sufficient but not necessary condition.) The early standard formalizations of dynamic programming as applied to com binatorial optimization problems concerned discrete decision processes, which are a set of strings of decisions (or policies) and a cost function on policies. These were modelled as automata by Shreider (1961), and further extended to sequen tial decision processes (discrete decision processes with an added cost structure imposed) by Karp, Held and others (Karp and Held, 1962 and 1967; Elmaghraby, 1970; lbaraki, 1973). These structures model the problem itself, then the solution is obtained by checking that the principle of optimality applies, and producing the relevant functional equation, a recursion equation giving a recipe for the actual computer program. The method of solution was either via tabulation of' the values of the function concerned, or by direct application of the functional equation, using the technique of memoization to avoid computing the same subproblem twice. ©lAP 1997. Published by Chapman & Hall

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.