Architectural styles play an important role in software engineering as they convey codified principles and experience which help the construction of software systems with high levels of efficiency and confidence. We address the problem of formalizing and analyzing architectural styles in an operational setting by introducing the intermediate abstraction of architectural type. The concept of architectural type is developed in a process algebraic framework because of its modeling adequacy and the availability of means, such as Milner's weak bisimulation equivalence, which allow us to reason compositionally and efficiently about properties like the well formedness of architectural types and the conformity of a given architecture to a certain architectural type. The process algebra based architectural description language for specifying architectural types comes equipped with a graphical notation and allows both functional and performance properties to be analyzed.