Requirements are fundamental to any engineered system. They capture the key stakeholder functional needs, constraints on the operation of the system, and often form a basis for contracting, testing and acceptance [1, 2]. Architecture captures the structuring of software solutions, incorporating not just functional properties of a system but design rationale, multi layer abstractions and architectural knowledge [3, 4]. One can not exist without the other. Requirements need to be realized in a software system, described in essence by appropriate software architectures. Architecture must deliver on specified functional and non-functional requirements in order for the software system to be at all useful.