What software systems are suitable for what problem architectures.