Patent ID: 8752006

Claim:
A computer-implemented method comprising: receiving files comprising source code and a profile for the source code; determining whether the source code in the received files contains instructions for a procedure that is performable, at least in part, by at least one of one or more devices; and responsive to determining that the source code in the received files contains instructions for a procedure that is performable, at least in part, by at least one of one or more devices: generating a new profile comprising profile information from the profile that relates to the procedure, generating a first set of code for at least one of the one or more devices that can perform the procedure, the first set of code calling the procedure in response to a first command, generating a second set of code for a gateway that enables the gateway to receive a second command and that enables the gateway to, in response to receiving the second command, provide the first command to at least one of the one or more devices that can perform the procedure, the gateway being configured to enable communications between the one or more devices, generating a description according to the new profile, the description specifying a means by which the second command can be received by the gateway, and storing, by one or more computers, the first set of code, the second set of code, and the description.