A methodology for specifying concurrent systems is presented. A model
of computation for concurrent systems is presented first. The syntax and
semantics of the language CRYSTAL are introduced. The specification of
a system is called a space-time algorithm since space and time are explicit
parameters in the description. Fixed-point semantics is used for abstracting
the behavior of a system from its implementation. The consistency between
an implementation and its description can therefore be ensured using this
method. Formal semantics for an arbitrary transistor network is given. An
"interpreter" for space-time algorithms - a hierarchical simulator - for
VLSI systems is presented. The framework can be viewed as a concurrent
programming notation when describing communicating processes and as a
hardware description notation when specifying integrated circuits