  Layered architecture represents the software structure in the form of layers.
Every element in the software is assigned to one of the layers such that the
relationship amongst the elements is maintained. A set of design principles
rules the process of construction of the layered architecture. Various
statistical measures have been defined to check whether the layered
architecture of a given software is following these design principles or not.
In this paper, we redefine the measures of layered architecture based on the
relationship between the software components. The measures check for the
violations committed regarding the back calls, skip calls, and cyclic
structures. Further, we also introduce a new measure to verify the logical
separation amongst the layers. The system's current architecture is extracted
from the source code and represented using a three-tier layered structure,
which is the defacto standard architecture of Java applications. The redefined
measures are applied to determine the conformance of layering principles in the
system. We evaluate five different software systems for their architecture
consistency. The results obtained on our redefined measures are compared to
those obtained by applying the standard set of measures. A quantitative
analysis of the proposed measures is performed, and we conclude that they can
determine the consideration of layering principles followed during the
development of a software system.
