  Rewriting logic is naturally concurrent: several subterms of the state term
can be rewritten simultaneously. But state terms are global, which makes
compositionality difficult to achieve. Compositionality here means being able
to decompose a complex system into its functional components and code each as
an isolated and encapsulated system. Our goal is to help bringing
compositionality to system specification in rewriting logic. The base of our
proposal is the operation that we call synchronous composition. We discuss the
motivations and implications of our proposal, formalize it for rewriting logic
and also for transition structures, to be used as semantics, and show the power
of our approach with some examples. This paper is under consideration in Theory
and Practice of Logic Programming (TPLP).
