You will not be shocked to be reminded that I’m a software engineer of some four decades standing.
I don’t envisage exactly the kind of decomposition you describe, though. My needs are limited to gluing together digital and analogue components so that they work together seamlessly at the patch cord level. As I remark on the fast prototyping thread, the function of these “Lego brick” circuits is broadly limited to signal conditioning.
In modern software engineering parlance, the analogue modular is a façade erected to ease interfacing with the wetware. Sometimes the modules themselves are implemented in software. It’s not exactly a new idea, but my decompositional approach doesn’t seem to have been tried at this level, reusable circuitry included.