Map
Index
Random
Help
Topics
th

Topic: specification and design of distributed systems

topics > computer science > Group: distributed systems



Group:
distributed database
Group:
parallel processing
Group:
program design
Group:
requirement specification

Topic:
a single system image
Topic:
automated tests of specifications and designs
Topic:
client-server model for distributed systems
Topic:
communicating sequential processes
Topic:
design for change
Topic:
design languages
Topic:
formal methods and languages
Topic:
implementing distributed systems and applications
Topic:
model checker
Topic:
object-oriented modelling language
Topic:
open systems
Topic:
parallel algorithms
Topic:
Petri net
Topic:
calculus of communicating processes
Topic:
proving concurrent programs
Topic:
reliability of distributed systems
Topic:
requirement specification by behaviors
Topic:
safety, liveness, and system properties

Summary

A distributed system consists of multiple processes running on connected computers. Substantial work occurs at each node. Communication between nodes may be sporatic.

The design of a distributed system may be specified in advance. More likely, it will grow incrementally as the system becomes useful.

For tightly coupled systems, process composition may help organize the design.

The Internet has demonstrated the effectiveness of simple communication protocols.

Database backed web sites are often distributed. A server farm will manage requests. Databases may be partitioned across multiple servers. Backup and recovery may be distributed. Load balancing and caching are important. (cbb 2/07)

Subtopic: design up

Quote: naturally design processes by message passing, blocking semantics, servers, proprietors, administrators, notifiers, and couriers; anthropomorphize [»gentWM5_1981]
Quote: multi-programming needs meta-instructions for parallel processing, naming, and protection [»dennJB3_1966]

Subtopic: formal specification up

Quote: systems programmers find formal specifications of concurrent programs helpful

Subtopic: diagram up

Quote: dual diagrams for entity behavior in terms of events and events in terms of affected entities and messages exchanged [»robiKA8_1979]
Quote: combine Petri net theory with a compositional view of systems; like combining Turing machines with lambda-calculus [»milnR1_1993]

Subtopic: process composition up

Quote: input and output are basic programming primitives and parallel composition is a fundamental program structure method; use guarded commands [»hoarCA8_1978]
Quote: in function-oriented programming, a process is a composition of functions on an input producing an output [»nygaK10_1986]
Quote: combine occam process by sequence, conditional, parallel, or alternative [»mayD_1987]
Quote: P||Q is a process composed of synchronous, interacting processes P and Q; same as Q||P [»hoarCA_1985]

Subtopic: process network up

Quote: specify system by step-wise refinement of predicate transition nets and regular expressions; tested with model of an automated warehouse [»bellF6_1991]
Quote: use predicate transition nets for modeling concurrency; use regular expressions to model sequential behavior
Quote: model the world as a network of processes, one for each entity, communicating and synchronizing by serial data streams [»jackMA5_1976]
Quote: interaction is the atom of behavior of the calculus of communication systems; i.e., passing a datum between processes [»milnR1_1993]

Subtopic: problem of designing distributed systems up

Quote: difficult to disentangle a concurrent program's behavior from the desired behavior for all implementations; requirement writers need the original designers
[»birrAD_1991a]

Related Topics up

Group: distributed database   (6 topics, 194 quotes)
Group: parallel processing   (41 topics, 1125 quotes)
Group: program design   (13 topics, 454 quotes)
Group: requirement specification   (11 topics, 307 quotes)

Topic: a single system image (30 items)
Topic: automated tests of specifications and designs (12 items)
Topic: client-server model for distributed systems (25 items)
Topic: communicating sequential processes (33 items)
Topic: design for change (76 items)
Topic: design languages (12 items)
Topic: formal methods and languages (53 items)
Topic: implementing distributed systems and applications (41 items)
Topic: model checker (49 items)
Topic: object-oriented modelling language (6 items)
Topic: open systems (33 items)
Topic: parallel algorithms (15 items)
Topic: Petri net (44 items)
Topic: calculus of communicating processes (13 items)
Topic: proving concurrent programs (37 items)
Topic: reliability of distributed systems (35 items)
Topic: requirement specification by behaviors (16 items)
Topic: safety, liveness, and system properties
(22 items)


Updated barberCB 2/05
Copyright © 2002-2008 by C. Bradford Barber. All rights reserved.
Thesa is a trademark of C. Bradford Barber.