Parallel and Distributed Systems (PDSE Editorial)

June 8, 2017 | Autor: Bernd Krämer | Categoria: Distributed Systems
Share Embed


Descrição do Produto

Parallel and Distributed Systems (PDSE) Bernd J. Kramer

Naoshi Uchihira

Chair of Distributed Software Engineering FernUniversitat Feithstr. 140 58084 Hagen, Germany +49 2331 987 371 [email protected] ABSTRACT

Systems and Software Research Laboratories Toshiba Corporation 70, Yanagi-cho, Saisai-ku Kawasaki 210, Japan +81-44-548-5690 [email protected] embedded control computers, sensors, actuators and communicationchannels. Even complete manufacturing systems have moved towards automation, thus putting critical emphasis on the design phase { which is mainly about designing distributed software architectures. Most process control software must continuously react to actions in its physical environment and should not terminate under normal operation. This requires a shift from relational to process-oriented specication models. The typical behavior of these control systems also delimits the value of traditional testing techniques due to the huge number of possible computation threads and the diculty to provide realistic test conditions with repeatable test cases. Concurrency and distribution are inherent to the physical or logical nature of these applications. But these characteristics are also needed to exploit the processing power of multiprocessor and multicomputer systems to achieve high performance. Examples include the parallelization of computation intensive programs occurring in the elds of simulation of uid dynamics systems, molecular synthesis, discrete event simulation, or analysis of medical data. Other objectives underlying the move towards parallel and distributed applications are to provide improved fault-tolerance and reliability in safetycritical and real-time systems or to deal with physically distributed computing resources. The price for this gain are, however, additional complexities and new demands imposed on development methods, on modeling, description and analysis techniques, on tools and on software development environments. Parallel and distributing computing is about structuring large applications into individual components that can be distributed on a network of processors or computers and run concurrently. To make these components jointly perform cooperative tasks, the application developer needs to manage the interaction among concurrent program components, optimize the use of computing resources, and meet overall safety, liveness, performance, real-time or other non-functional application requirements.

This third symposium in a series represents another outstanding collection of up-to-date research papers and experience reports addressing burning problems associated with the development, validation, and evolution of parallel and distributed applications. The contributions of the symposium span several dimensions including the organization and support of individual process activities, a diversity of application types, infra-structural support for distributed application engineering, and novel or enhanced modeling and description techniques.

KEYWORDS

distributed application engineering, parallel processing, distributed software architecture, testing and verication, CASE tools for distributed applications

1 CHALLENGES OF PARALLEL AND DISTRIBUTED SOFTWARE

IT experts expect parallel and distributed processing to become the predominant computing infrastructure in the late nineties. All computer supported workplaces of large enterprises and organizations will then be networked via local, metropolitan and wide area networks and they will employ cross-regional and cross-sector business and information processes. Growth areas include distributed information systems, client/server intranet and internet applications, networked multimedia systems, collaboration software, high-performance computing, and distributed simulation. Likewise, in technical applications the role of software for process and control tasks steadily increases and spreads over a growing number application areas. Micro-electronics, software and telecommunications systems are more and more integrated into functional units consisting of heterogeneous technical systems with

1

If a distributed application is open to the addition of new components and the deactivation of existing components as execution proceeds, the interaction patterns designed need to build on communication and binding mechanisms that are able to cope with open name spaces, registration and trading services, and dynamic software architectures. In the past, organizations have invested large sums of money and training in islands of computing infrastructure and application components. Often these legacy components are irreplaceable for the daily business operation and they are mature because long-tested in practice. Hence, there is an increasing need to provide techniques and mechanisms that allow the application developer to interconnect these legacy systems, support their interoperation, and integrate them in today's distributed system solutions. This leads us to heterogeneous computing environments with components that may be implemented in di erent programming languages. They also rely on a diversity of operating systems with incompatible data formats and address spaces, different storage organization, and communication protocols. Other issues of concern in this context are re-use libraries and integration platforms. Conventional requirements engineering methods, specication, design and programming languages, exception handling, debugging, testing and verication techniques that have been developed for sequential applications need to be revisited, enhanced and supplemented to be suitable for the additional challenges of parallel and distributed applications. Concurrency, non-determinism and non-termination of computations, synchronization and coordination constraints, heterogeneity and interoperability, and evolving software architectures have been mentioned before. In addition remote operation invocations, stream interaction, safety and liveness requirements, fairness issues, and transparent component failures are eventually to be considered by the application developer.

2 FOCUS OF THIS SYMPOSIUM

To date, many of the scientic papers and experience reports addressing parallel and distributed software engineering issues have appeared in journals and conferences that focus on specic technology or application types such as middleware technology or distributed realtime applications, respectively. This fragmentation was prohibitive to the formation of a forum allowing the exploration of common engineering and distributed software evolution issues. This symposium series attempts to ll this gap by providing a "one-stop" coverage of the area. The symposium associated with ICSE'20 is the third event in the PDSE series. Previous events were were

co-located with ICSE'18 in Berlin in March 1996 1, 2], and with ICSE'19 in Boston in May 1997 3]. The Symposium attracted lead developers and researchers in software for parallel and distributed systems from both industry and academia from ve continents. The papers presented during the Symposium span several dimensions of parallel and distributed software engineering including languages, methods and tools, and application types. A few well-known modeling and specication techniques such as Z, SDL, Petri nets, and process algebras are critically revisited and enhanced to support a non-interleaving specication semantics, serve as a basis for generating optimized code, facilitate object coordination, or enable cooperation abstraction and renement, respectively. Recurring themes in the methodology dimension are novel testing and analysis techniques, performance evaluation, code optimization for parallel programs, and invariant analysis. Tool support for specication development, distributed simulation, and test case generation is covered in the methodology dimension. Among others, distributed information systems and networked multimedia applications, which represent a growing domain of distributed applications exhibiting some specic engineering characteristics, are subjects of discussion in the application type dimension. Several case studies nally report on engineering experiences gained from industrial practice.

REFERENCES

1] I. .E. Jelly, I. Gorton and P. Croll (Eds.). Software Engineering for Parallel and Distributed Systems, Chapman & Hall, 1996 2] I. .E. Jelly and I. Gorton (Eds.). Software Engineering for Parallel and Distributed Systems: Challenges and Opportunities, IEEE Concurrency, Vol. 5, No. 3, July/September 1997 3] G. Agha, S. Russo, and P. Croll (Eds.). Software Engineering for Parallel and Distributed Systems. IEEE Computer Society Press, 1997

Lihat lebih banyak...

Comentários

Copyright © 2017 DADOSPDF Inc.