16. A task orchestration system for a network of interconnected devices, comprising: a task-driven controller that obtains device function descriptions that describe functions that the devices can perform and obtains task descriptions that describe device functionalities that tasks require 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, and generates task suggestions based on the obtained device function, and task descriptions, wherein each task suggestion represents a user task as an abstraction of one or more of the obtained device function and task descriptions; and a user interface device that displays the task suggestion on a display for the user to select from, wherein the user task represented by the selected task suggestion is to be performed by one or more of the devices; wherein the controller further uses 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 user task suggestion.
16. A task orchestration system for a network of interconnected devices, comprising: a task-driven controller that obtains device function descriptions that describe functions that the devices can perform and obtains task descriptions that describe device functionalities that tasks require 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, and generates task suggestions based on the obtained device function, and task descriptions, wherein each task suggestion represents a user task as an abstraction of one or more of the obtained device function and task descriptions; and a user interface device that displays the task suggestion on a display for the user to select from, wherein the user task represented by the selected task suggestion is to be performed by one or more of the devices; wherein the controller further uses 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 user task suggestion. 18. The system of claim 16 , wherein the controller further: frames device function descriptions as device ontologies; frames task descriptions as task ontologies; and uses the device and task ontologies to map the user selected task suggestion to tasks that can be performed by the available devices.