For all the services we currently model, the preconditions and postconditions can be expressed as conjunction of negation free
facts. Further, we also avoid the use of function symbols or arithmetic predicates. (Some of these limitations can be overcome
through a run time filter mechanism that will be explained later.) For this class of services, plan generation can be achieved
efficiently using a rule-based expert system [24]. (Given a set of initial facts and a set of if-then rules, an expert system provides
a mechanism of obtaining the facts that can be derived from the initial facts and rules. We use a rule-based engine implemented in
Java, called Jess [15].)