A method for assisted provisioning of an end to end network, comprising: automatically providing a first interface menu for enabling an initial user input of at least one of configuration information and application logic information for devices of the end to end network; in response to the initial user input of the at least one of the configuration information and application logic information for at least one of the devices of the end to end network, automatically providing a second interface menu for enabling a subsequent user input of at least one of configuration information and application logic information for at least one other one of the devices of the end to end network; and continuing to automatically provide subsequent interface menus for receiving at least one of configuration information and application logic information for all devices and interconnections required to establish the end to end network; wherein a subsequent interface menu provided for input can be dependent upon an input made to a previously provided interface menu, and an order of interface menus automatically provided guides a user through a provisioning of the end to end network without the need to enter programming code; automatically generating programming code from the input configuration information and application logic information for each of the devices required to establilsh the end to end network; analyzing operating data of at least one of the devices of the end to end network; and predicting a future behavior of the at least one of the devices of the end to end network and the end to end network using the analyzed operating data. automatically providing a first interface menu for enabling an initial user input of at least one of configuration information and application logic information for devices of the end to end network; in response to the initial user input of the at least one of the configuration information and application logic information for at least one of the devices of the end to end network, automatically providing a second interface menu for enabling a subsequent user input of at least one of configuration information and application logic information for at least one other one of the devices of the end to end network; and continuing to automatically provide subsequent interface menus for receiving at least one of configuration information and application logic information for all devices and interconnections required to establish the end to end network; wherein a subsequent interface menu provided for input can be dependent upon an input made to a previously provided interface menu, and an order of interface menus automatically provided guides a user through a provisioning of the end to end network without the need to enter programming code; automatically generating programming code from the input configuration information and application logic information for each of the devices required to establilsh the end to end network; analyzing operating data of at least one of the devices of the end to end network; and predicting a future behavior of the at least one of the devices of the end to end network and the end to end network using the analyzed operating data.