Patent ID: 8046733

Claim:
A method performed by one or more processors, the method comprising: accessing a business process model defined by a plurality of tasks; identifying a plurality of available executable elements capable of implementing the plurality of tasks, each of the plurality of available executable elements capable of providing functionality to implement a part of the business process model and annotated with a semantic description describing functionality, and at least one non-functional property, of each respective available executable element; selecting one or more executable elements among the plurality of available executable elements for each of the plurality of tasks, the selection based on functionality of an available executable elements and compatibility among the selected executable elements based on the at least one non-functional property of each of the selected executable elements, the selection further comprising: determining an order of operations for the selected executable elements based on the functionality of each the selected executable elements; composing the selected executable elements according to the order of operations for each of the plurality of tasks; ranking the composed selected executable elements based on the non-functional property of each respective selected executable element; selecting the composed executable elements based on the ranking; checking consistency of the composed selected executable elements for each of the plurality of tasks; and combining the selected executable elements for the plurality of tasks to create an executable process for the business process model.