In this paper, we consider vulnerable systems which can have different states corresponding to different combinations of available elements composing the system. Each state can be characterized by a performance rate, which is the quantitative measure of a system's ability to perform its task. Both the impact of external factors (attack) and internal causes (failures) affect system survivability, which is determined as the probability of meeting a given demand. In order to increase the system's survivability a multilevel protection can be applied to its subsystems. In such systems, the protected subsystems are destroyed by external impacts only if all of the levels of their protection are destroyed. The paper describes an algorithm for evaluating the survivability of series-parallel systems with arbitrary configuration of multilevel protection. The algorithm is based on a composition of Boolean and the Universal Generating Function techniques. The adaptation of the algorithm for numerical implementation is suggested. Illustrative examples are presented. (C) 2004 Elsevier Ltd. All rights reserved.