Abstract. We consider the question of composition in system design, a fundamental issue in engineering. More precisely, we are interested in deducing system properties from components properties and vice-versa. This requires system and component specifications to be "compositional " in some sense. Depending on what systems are and how they are composed, this problem is satisfactorily solved (e.g., sequential composition of terminating programs) or remains a hot research topic (e.g., concurrent composition of reactive systems). In this paper, we aim at providing a logical framework in which composition issues can be reasoned about independently from the kind of systems and the laws of composition under consideration. We show that many composition related statements can be expressed in terms of predicate transformers in a way that presents interesting similarities with program semantics descriptions based on weakest precondition calculus.
MotivationSystem designers, whether those systems are software, hardware, planes or buildings, are all faced with a common issue: How to compose systems from components and how to partition systems into components. Compositional design offers the hope of managing complexity by avoiding unnecessary details: Systems designers prove properties of systems given properties, but not detailed implementations, of components.As fundamental as it is, the question of composition is far from being solved in a fully satisfactory way. What does it mean for a formal framework to be "compositional "? Are there "good " and "bad " compositional frameworks? What characterizes "good " compositional specifications? Should system designers and components providers use the same kind of specifications? Are there fundamental laws of composition that are common to most areas of engineering? How are composition and reuse issues related? We believe these to be important questions one must (at least partially) answer before suitable solutions to the composition problem are found.In this paper, we aim at providing a basis that can be used to reason about composition. We seek a logical framework in which many of the questions mentioned above can be formulated and reasoned about. We try to keep the context of our approach as general as possible. Especially, we don't want to decide from