Multiprocessor systems are increasingly being used to handle large-scale scientific applications that demand high-performance. However, performance analysis is not as mature for multiprocessor systems as for uniprocessor systems, and improved ways of automatic performance analysis are needed to reduce the cost and complexity of developing distributed/parallel applications. Performance analysis is commonly a cyclic process of measuring and analyzing performance data, identifying and possibly eliminating performance bottlenecks in slow progression. Currently this process is controlled manually by the programmer. We believe that the implicit knowledge applied in this cyclic process should be formalized in order to provide automatic performance analysis for a wider class of programming paradigms and target architectures. This article describes the performance property specification language (ASL) developed in the APART Esprit IV working group which allows specifying performance-related da..