1. A method of traversing a directed graph for selecting services of a business process for execution, the method comprising the computer implemented steps of: reading a directed graph comprising a plurality of nodes each representative of a business service and a plurality of links that each respectively link two related nodes and that have respective weights assigned thereto; responsive to reading the directed graph, selecting a first subset of the plurality of nodes, wherein the first subset includes a first start node; responsive to selecting the first subset, traversing edges that link the start node with nodes of the first subset by evaluating weights of the edges; selecting another node of the other nodes; responsive to selecting the another node, repeating the traversing step and selecting step from the another node until a predefined number of nodes including a last node have been selected; selecting a second subset of the plurality of nodes, wherein the second subset includes the last node; and repeating the steps of traversing and selecting another node beginning from the last node.