A classical paper of Parnas in software engineering studies criteria
to be used in decomposing systems into modules [1]}.
Parnas's framework, however, assumes that the starting point for
decomposition consists of an architectural specification of the system,
while our starting point is quite more abstract, as we assume that
we are provided with a relational specification.
Another related work is that of [2]}, which
describes an approach for extracting sequential components from a system
specification. Unlike, however, our work here, which starts from a highly
abstract relational specification, the approach
of [2]} assumes that the system's specification is provided by means of an
interface specification of the components. Thus, this approach is more in the sense of a factorization rather then a decomposition.
