Table Of ContentSoftware 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 iango@syd.dit.csiro.au p.croll@dcs.shefac:.uk