@techreport{R-88-22, TITLE = {Design and Test of Distributed Applications}, AUTHOR = {Johan Fagerstr{\"o}m}, YEAR = {1988}, NUMBER = {R-88-22}, INSTITUTION = ida, ADDRESS = idaaddr, ABSTRACTURL = {/publications/cgi-bin/tr-fetch.pl?r-88-22+abstr}, ABSTRACT = {It is well known that programming and testing distributed systems can be extremely difficult. Reasons for this include non-deterministic behaviour, non-reproducibility of events, complex timing of events, and complex states. This paper presents a paradigm and a system that will support a programmer when designing, programming, and testing a distributed application. Our main point is that the structure introduced by the paradigm must be kept and exploited during design, programming, and testing. One is not helped by a programming method which introduces a structure just to break it down again. We have developed a structural model based on common structures in distributed systems. This structural model is used to describe the logical relationships between components in a system. It is also integrated into the programming environment.}, IDANR = {LiTH-IDA-R-88-22}, NOTE = {Also in Proc. of the International Conference on Software Engineering, ICSE, Singapore, April 1988}