  The necessity of an explicit architecture description has been continuously
emphasized to communicate the system functionality and for system maintenance
activities. This paper presents an approach to extract architecture
descriptions using the {\em centrality measures} from the theory of Social
Network Analysis. The architecture recovery approach presented in this paper
works in two phases. The first phase aims to calculate centrality measures for
each program element in the system. The second phase assumes that the system
has been designed around the layered architecture style and assigns layers to
each program element. Two techniques to assign program elements are presented.
The first technique of layer assignment uses a set of pre-defined rules, while
the second technique learns the rules of assignment from a pre-labelled data
set. The paper presents the evaluation of both approaches.
