1. A method of task orchestration of user tasks to be performed by one or more of a plurality of electronic devices in a task orchestration system, comprising: employing a controller device for: obtaining device function descriptions, wherein each device function description describes a function that a device can perform; obtaining task descriptions from multiple electronic devices of a plurality of electronic devices, wherein the task descriptions are dynamically determined at run-time of the task orchestration system, wherein each task description describes the device functionality a certain task requires; generating task suggestions based on the obtained task descriptions and device function descriptions, wherein each task suggestion represents a user task as an abstraction of one or more of the obtained device functions descriptions and task descriptions; displaying task suggestions on a display for the user to select from, wherein the user selected task suggestion is to be performed by one or more of the device; and using the task and device function descriptions to infer the tasks that can be performed by the devices and the device combinations that can perform the selected task suggestion.
50. The method of claim 1 , further comprising: applying user preferences over the generated task suggestions to determine a rank order for the generated task suggestions; and displaying task suggestions in the rank order on a display for the user to select from.