|
Showing 1 - 5 of
5 matches in All Departments
In computing science design plays an eminently important role. By
now, it is quite clear that the issue of proper design of programs
within a formal calculus is one of the most interesting and most
difficult parts of computing science. Many demanding problems have
to be envisaged here such as notations, rules and calculi, and the
study of semantic models. We are 'far away from comprehensive and
widely accepted solutions in these areas. Discussions at the summer
school have clearly shown that people have quite different
perspectives and priorities with respect to these three main areas.
There is a general agreement that notation is very important. Here,
notation is not so much used in the sense of "syntactic sugar," but
rather in the sense of abstract syntax, in the sense of language
constructs. Proper notation can significantly improve our
understanding of the nature of the objects that we are dealing with
and simplify the formal manipulation of these objects. However,
influenced by educational background, habits, and schools of
thought there are quite different tastes with respect to notation.
The papers in these proceedings show very clearly how different
those notations can be even when talking about quite similar
objects.
The Summer School in Marktoberdorf 1990 had as its overall theme
the development of programs as an activity that can be carried out
based on and supported by a mathematical method. In particular
mathematical methods for the development of programs as parts of
distributed systems were included. Mathematical programming methods
are a very important topic for which a lot of research in recent
years has been carried out. In the Marktoberdorf Summer School
outstanding scientists lectured on mathematical programming
methods. The lectures centred around logical and functional calculi
for the * specification, * refinement, * verification of programs
and program systems. Some extremely remarkable examples were given.
Looking at these examples it becomes clear that proper research and
teaching in the area of program methodology should always show its
value by being applied at least to small examples or case studies.
It is one of the problems of computing science that examples and
case studies have to be short and small to be lJresentable in
lectures and papers of moderate size. However, even small examples
can tell a lot about the tractability and adequacy of methods and
being able to treat small examples does at least prove that the
method can be applied in modest ways. Furthermore it demonstrates
to some extent the notational and calculational overhead of
applying formal methods.
Computing Science is a science of constructive methods. The
solution of a problem has to be described formally by constructive
techniques, if it is to be evaluated on a computer. The
Marktoberdorf Advanced Study Institute 1988 presented a
comprehensive survey of the recent research in constructive methods
in Computing Science. Some approaches to a methodological framework
and to supporting tools for specification, development and
verification of software systems were discussed in detail. Other
lectures dealt with the relevance of the foundations of logic for
questions of program construction and with new programming
paradigms and formalisms which have proven to be useful for a
constructive approach to software development. The construction,
specification, design and verification especially of distributed
and communicating systems was discussed in a number of
complementary lectures. Examples for those approaches were given on
several levels such as semaphores, nondeterministic state
transition systems with fairness assumptions, decomposition of
specifications for concurrent systems in liveness and safety
properties and functional specifications of distributed systems.
Construction methods in programming that were presented range from
type theory, the theory of evidence, theorem provers for proving
properties of functional programs to category theory as an abstract
and general concept for the description of programming paradigms.
In a time of multiprocessor machines, message switching networks
and process control programming tasks, the foundations of
programming distributed systems are among the central challenges
for computing sci enti sts. The foundati ons of di stributed
programming compri se all the fasci nating questions of computing
science: the development of adequate com putational , conceptual
and semantic model s for distributed systems, specification
methods, verification techniques, transformation rules, the
development of suitable representations by programming languages,
evaluation and execution of programs describing distributed
systems. Being the 7th in a series of ASI Summer Schools at
Marktoberdorf, these lectures concentrated on distributed systems.
Already during the previous Summer School s at Marktoberdorf
aspects of di stributed systems were important periodical topics.
The rising interest in distributed systems, their design and
implementation led to a considerable amount of research in this
area. This is impressively demonstrated by the broad spectrum of
the topics of the papers in this vol ume, although they are far
from being comprehensive for the work done in the area of
distributed systems. Distributed systems are extraordinarily
complex and allow many distinct viewpoints. Therefore the
literature on distributed systems sometimes may look rather
confusing to people not working in the field. Nevertheless there is
no reason for resignation: the Summer School was able to show
considerable convergence in ideas, approaches and concepts for
distributed systems.
|
|