Analysis and Design of Next-Generation Software Architectures