Here are three small application configuration domain encoded in.
Please let me know if you are using these problem files and/or if you
find any mistakes (my system accepts problems in different format).
My email is
Webcast domain is an example of a PSF-style component placement problem. The goal is to find a snapshot configuration of a component based application that satisfies client's quality-of-service requirements and conditions on component linkages.
This particular application consists of a Client and Server components with possible addition of Splitter, Merger, Zip, and Unzip. The additional components may be necessary to ensure sufficient bandwidth of the data stream at the client side. All configurations of this application, except for the direct connection, are thin DAGs with 2 parallel data streams.
It turns out that the data transfers (the cross actions) are the hardest for modern planners to deal with, because they create logical loops in configurations. To check this idea further, three domain files are included with the only difference in the number of cross actions. oneCross contains only the action used in the optimal configuration, twoCross contains two cross actions, and allCross contains four.Here are the files:
The model accepted by my GridPlanner is that the availability of resources may change over time, and several actions can be executed on the same resources in parallel whenever possible. I decided to encode these two features in two separate examples.
(Note to PDDL authors: I wish timed numeric values were allowed in addition to literals, e.g. (at 10.5 (= (cpu n0) 100)))
The first problem requires execution of three jobs. For each of the jobs, network hosts have time windows during which the jobs can be executed. This is encoded using timed initial literals of PDDL 2.2. Because of this limited host availability, the execution of components is pushed further in time, thus increasing the duration of the plan.
In the second problem, network resources can be shared. This problem involves only one job type, but files need to be transfered over the network. To produce the fastest execution plan, several data transfers should be scheduled in parallel over the same network link (the bandwidth permits it).Here are the files: