CLIPS is a non-algorithmic language designed especially for developing expert systems. To address the problem that CLIPS suffers from long execution time because of the characteristics of rule-based language, previously we have proposed a Grid-enabled parallel CLIPS language and a dynamic load balancing programming model that can parallelize the execution of a CLIPS program automatically if the data can be inferred independently. In this paper, we investigate how to apply the idea of automatic parallelization to other kinds of applications. For instance, a rule usually requires choosing multiple data items from the knowledge base to match with. This kind of matching is a permutation problem. All the different permutations must be divided into partitions and assigned to slaves for independent inferences. A programmer only needs to use three simple directives to provide necessary information to automatically parallelize the execution of an application. Experiment results show that the best speedup is 10.38 when executing a knowledge management system in a heterogeneous cluster system with 12 processor cores.