CONDUITS+ offers basic elements that helps programmers to build protocol layers. The use of design patterns is motivated by the fact that traditional layered architecture do not allow code reuse across layers, which is precisely what CONDUITS+ aims at. Protocols can then be composed with CONDUIT+, but at lower-level than BAST, i.e., through the assembling of conduits and information chunks, which are elementary blocks used to build protocol layers. In other words, the CONDUIT+ framework does not allow to manipulate protocol layers as objects, but only pieces of protocol layers. Compared to BAST, protocol algorithms are further decomposed in CONDUIT+: conduits and information chunks are finer grain objects than BAST's strategies. Indeed, the latter represent protocol layers, while the former are internal components of protocol layers. CONDUIT+ goes one step further in the process of objectifying protocol algorithms.
This approach makes it easy for CONDUIT+ to be a pure black-box framework, while BAST combines features of both black-box and white-box frameworks. With BAST, we are considering to definitively get rid of inheritance but this issue has to be carefully studied, because it would have important consequences on the way BAST can be used by application programmers, i.e., those who have very limited skills in fault-tolerant distributed algorithms.