12. A task orchestration system for a network of interconnected devices, comprising: a task-driven controller that obtains device function descriptions which describe functions that the devices can perform, obtains 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 the task descriptions describe the device functionalities that tasks require, and generates task suggestions based on the obtained device function descriptions, task descriptions and user preferences, wherein each task suggestion represents a user task as an abstraction of one or more of the obtained device descriptions and task descriptions; and a user interface device that displays-the task suggestions in rank order based on the user preferences 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 available devices.
12. A task orchestration system for a network of interconnected devices, comprising: a task-driven controller that obtains device function descriptions which describe functions that the devices can perform, obtains 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 the task descriptions describe the device functionalities that tasks require, and generates task suggestions based on the obtained device function descriptions, task descriptions and user preferences, wherein each task suggestion represents a user task as an abstraction of one or more of the obtained device descriptions and task descriptions; and a user interface device that displays-the task suggestions in rank order based on the user preferences 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 available devices. 13. The system of claim 12 , wherein a task suggestion is represented using a language structure organized as a set of terms to describe user tasks as abstractions of device functions descriptions and task descriptions.