A key aspect of the design of any software system is its architecture. An architecture description, from a runtime perspective, provides a formal representation of the architecture in terms of its components and connectors, their ports and behaviours, and how they are composed together. In the past decade, several Architecture Description Languages (ADLs) have been defined for representing the structure and behaviour of software architectures. However, describing the structure and behaviour of an architecture in terms of a configuration of components and connectors is needed, but it is not enough. Indeed, in addition to representing software architectures, we need to rigorously specify their required and desired architectural properties, in particular related to completeness, consistency and correctness. This article presents π-AAL, a novel Architecture Analysis Language (AAL) that has been designed in the ArchWare European Project to address formal analysis of software architectures. It is a formal, well-founded theoretically language based on the modal μ-calculus designed to enable the specification of structural and behavioural properties and their verification using an analytical toolset based on theorem proving and model checking techniques.