Pushouts in software architecture design
Taylor L. Riché, Rui C. Gonçalves, B. Marker, Don S. Batory · 2012
A classical approach to program derivation is to progressively extend a simple specification and then incrementally refine it to an implementation. We claim this approach is hard or impractical when reverse engineering legacy software architectures. We present a case study that shows optimizations and pushouts---in addition to refinements and extensions---are essential for practical stepwise development of complex software architectures.