Pure Java simulation environment to study the diversification of software architectures