ebook img

Software Engineering for Parallel and Distributed Systems: Proceedings of the First IFIP TC10 International Workshop on Parallel and Distributed Software Engineering, March 1996 PDF

331 Pages·1996·32.914 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 Software Engineering for Parallel and Distributed Systems: Proceedings of the First IFIP TC10 International Workshop on Parallel and Distributed Software Engineering, March 1996

Software Engineering for Parallel and Distributed Systems 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. Software Engineering for Parallel and Distributed Systems Proceedings of the First IFIP TC1 0 International Workshop on Parallel and Distributed Software Engineering, March 1996 Edited by Innes Jelly Sheffield Hallam University Sheffield UK lan Gorton CSJRO Division ofI nformation Technology Australia and Peter Croll University of Sheffield Sheffield UK ~~~11 SPRINGER INTERNATIONAL PUBLISHING, CHAM First edition 1996 © 1996 IFIP International Federation for Information Processing Originally published by Chapman & Hall in 1996 Softcover reprint of the hardcover l st edition 1996 ISBN 978-1-5041-2948-0 ISBN 978-0-387-34984-8 (eBook) DOI 10.1007/978-0-387-34984-8 Apart from any fair dealing for the purposes of research or private study, or criticism or review, as permitted 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 !he 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 ANSI/NISO Z39.48-1984 and ANSI/NISO Z39.48-1984 (Permanence of Paper). CONTENTS Preface ix Part One Research Papers 1 Infrastructural software for model driven distributed manufacturing systems 1 I. Coutts, M. Aguiar and J. Edwards 2 Methodology and tools for the development of high performance parallel systems with SDL/MSCs 15 A. Mitschele-Thiel 3 Designing and implementing complex systems with agents 27 P. Marcenac, S. Giroux and J.R. Grasso 4 Communications are everything: a design methodology for fault-tolerant concurrent systems 39 A.M. 7.Yrrell 5 Designing distributed multimedia systems using PARSE 50 A. Y. Liu, T.S. Chan and I. Gorton 6 Hypersequential programming-a novel paradigm for concurrent programming 62 N. Uchihira, S. Honiden and T. Seki 7 Efficient composition and automatic initialization of arbitrary structured PVM programs 74 J. Y. Cotronis 8 Arcadia: a platform for the study of dynamic scheduling of communicating processes 86 C. Bernon, C. B~tourn~ and A. Sayah 9 Interactive testing tool for parallel programs 98 H. Krawczyk and B. Wiszniewski vi Contents 10 Cerberus - a tool for debugging distributed algorithms 110 F. Carter and A. Fekete 11 Debugging parallel programs using temporal logic specifications 122 M. Frey 12 OPERA: a toolbox for loop parallelization 134 V. Loechner and C. Mongenet 13 Program comprehension engines for automatic parallelization: a comparative study 146 B. di Martino and C. W. Kessler 14 Concurrent semantics for structured design methods 158 P. A. Nixon and L. Shi 15 Towards a theory of shared data in distributed systems 170 S. Dobson and C.P. Wadsworth 16 Using concurrency and formal methods for the design of safe process control 183 T. Cattel 17 Using data flow algebra to analyse the alternating bit protocol 195 A.J. CowlingandM.C. Nike 18 A hierarchical classification of overheads in parallel programs 208 J. M. Bull 19 Periodicity in an asynchronous algorithm for parallel processing 220 L.R. Fletcher and M. Santini 20 Performance indices to characterise concurrent applications: experimenting GSPN evaluation techniques in plant automation 232 0. Botti and L. Capra 21 Reverse profiling 244 F.W. Howell Part Two Project Reviews 22 SEMPA: software engineering methods for parallel scientific applications 259 P. Luksch, U. Maier, S. Rathmayer and M. Weidmann Contents vii 23 EPOCA: status and prospects 265 S. Donatelli, N. Mazzocca and S. Russo 24 The PARSE project 271 I.E. Jelly and I. Gorton 25 The AL++ Project: object-oriented parallel programming on multicomputers 277 M. Di Santo, F. Frattolillo, :W. Russo and E. Zimeo 26 The Basel Tool Suite for parallel processing 283 H. Burkhart, N. Fang, R. Frank, G. Hiiclzler, :W. Kuhn and G. Pretot Part Three Demonstrations 27 Development framework for real-time control system design 291 J.M. Bass, A.R. Browne, M.S. Hajji, P.R. Croll and P.J. Fleming 28 A knowledge based approach to parallel software engineering 297 P. Milligan, P.P. Sage, P.J.P. McMullan and P.H. Co" 29 Problem-solving on scalable parallel systems using application specification and reusable software components 303 KM.Decker, J.J. Dvorak and R.M. Rehmann 30 The PS project: development of a simulator of PVM applications for heterogeneous and network computing 310 P. Aversa, A. Mazzeo, N. Mazzocca and U. Villano 31 Supporting integrated modelling of parallel hybrid systems 316 C.l. Birkinshaw and P.R. Croll Index of contributors 323 Keyword index 324 PREFACE In March 1996, the First IFIP Workshop on Software Engineering for Parallel and Distributed Systems was held in Berlin, Germany. The workshop was co-sponsored by the German Computer Society GI (Gesellschaft fur Informatik), and organised in association with the International Software Engineering Conference (ICSE 18). This publication is based on the proceedings of the workshop. The aim of the workshop was to provide a forum for exchange of information and publication of the latest technological and theoretical advances in software engineering for parallel and distributed systems. Our previous experience of running short workshops on this topic in Aachen, Germany (1993), Como, Italy (1994) and Hawaii, USA (1995) had indicated that there was a growing need for this specialised event. The International Programme Committee was formed from a group of experts in different countries and application areas, all of whom were enthusiastic to explore and publicise contemporary research in parallel and distributed software engineering. Many software applications require the use of explicit parallel programming techniques in order to meet their specification. Parallelism is needed to exploit the processing power of multi-processor systems in order to achieve high performance, to provide fault-tolerance and reliability in safety critical and real-time systems, and to deal with physically distributed computing resources. While the range of existing software and hardware technology that can be employed in parallel and distributed systems development is massive, a set of underlying problems concerned solely with the use of parallelism can be identified. These include: • identification of problem-domain and solution-domain parallelism • incorporation of concurrent activities in specification and design • architectural influences on design and implementation, including use of virtual machines • correctness and testing of systems • performance prediction, monitoring and evaluation of systems • systems heterogeneity Importantly, software engineers must deal with these issues in addition to tackling the more conunonly identified problems which occur in all software projects. Within a number of different application areas, issues regarding the integration of good software engineering practice into the production process are increasing seen as highly relevant. These include science and engineering applications, real time control and distributed systems. Thus the emerging community of researchers involved in parallel software engineering is concerned with the impact that the specific requirement to handle concurrency has on the software development process. Topics for investigation include the requirements analysis and specification, design, implementation and verification of parallel and distributed software. Over sixty papers were submitted to the workshop. Of these, twenty one were accepted as full technical papers, and presented at the workshop. All papers were fully reviewed, and we are very grateful to all the referees for their careful and knowledgeable evaluation of each paper. X Preface Contributions based on the application of new techniques to real software systems were encouraged as well as those describing advances in theory or methods. As well as technical paper presentations, two special review sessions were included in the workshop. The first of these involved demonstrations of a number of software support tools: these were documented as short papers and included within these proceedings. In order to encourage dissemination of infonnation on current collaborative projects, five project review papers were provided. The papers cover a wide range of topics, and represent some of the most recent work in the area of parallel and distributed software development. New methods, tools and theories are described and offer solutions for some of the problems identified above. Together they constitute a view on the state-of-the-art in parallel and distributed software engineering. Several papers address high level design approaches for parallel and distributed software. Themes emerging from these include the necessity to model communications, the use of object based methods and the role of CASE technology. At the implementation stage, work on automatic parallelisation is reported in two papers, and issues of configuration and scheduling are also explored. The verification of parallel and distributed software fonns the topic of three papers: these explore tool support for early verification and testing, and, more formally, the role of temporal logic in model checking. Within the fonnal modelling area, papers describe new theoretical work as well as the application of techniques to different systems, and the role of process algebras is clearly demonstrated in these. Perfonnance prediction and analysis is of crucial concern within many parallel and distributed software projects. Four papers present new work on the classification of perfonnance issues, perfonnance modelling techniques and analysis of algorithms. For the future, we believe that this book has highlighted a number of issues. There is a need for rigorous design methods which encompass the range of abstractions required to specify and implement concurrent software. The parallel and distributed software community has recognised that good tool support is an essential a~pect of the engineering process but there ha~ been insufficient emphasis on inter-operability between different tools. Better integration of tools and techniques would offer practitioners a more robust approach to software development. Perfonnance is a key issue for the majority of parallel and distributed systems, and further work on temporal representations is thus required to support formal specification and analysis. Also, within the fonnal modelling area, greater emphasis should be given to increasing the accessibility of existing techniques to allow software developers to use these in a coherent manner. This will involve both the provision of automated support and better levels of abstraction in modelling methods. We would like to thank all members of the International Programme Committee not only for their work in organising the review process but for all the helpful and good humoured contributions towards the setting up of the workshop. Thanks are also due to the organisers of ICSE-18 for their support for the workshop, including provision of administrative and registration facilities. Innes Jelly Ian Gorton Peter Croll (Programme Chair) (Co-Chair) (Co-Editor) i.je/ly@ shu.ac. uk [email protected] [email protected]:.uk

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.