Refinement of Pipe-and-Filter Architectures
Jan Philipps, Bernhard Rumpe⋆ · 1999
. Software and hardware architectures are prone to modifications. We demonstrate how a mathematically founded powerful refinement calculus for a class of architectures, namely pipe and filter architectures, can be used to modify a system in a provably correct way. The calculus consists of basic rules to add and to remove filters (components) and pipes (channels) to a system. A networking example demonstrates some of the features of our calculus. The calculus is simple, flexible and compositional. Thus it allows us to build more complex and specific rules that e.g. embed models of existing architectures or define design patterns as transformation rules. 1 Introduction Only in recent years, fueled through the survey [10] and greatly enhanced by [16], notations to define software architectures have been developed (see [12] for an overview). One specific kind of architecture description style --- the pipe and filter approach ---, is especially useful for asynchronously communica...