The use of software interfaces is a fundamental means of developing durable and robust software architectures. Therefore, they should be established as early as possible in the architecture to stabilize it. This allows the software architect to quickly...