A computer program product tangibly stored on a computer readable hardware storage device, the computer program product being a real-time operating system for managing constrained sensor devices on a network, the computer program product comprising instructions to cause a processor to: - manage a dynamic set of user-defined independent executable functions or tasks that are either built into a loaded image or downloaded during normal operation of a constrained sensor device , and that further cause the processor to: - add new executable functions, loaded into the constrained sensor device via a communications link, to a management structure that comprises a linked list of function pointers, effectively changing an old code the constrained sensor device contains; - update readiness and priority information in scheduler variables; - produce links between the old code and new code; and - schedule functions that are referenced through the management structure to execute on the constrained sensor device according to availability based on the readiness information and priority of the scheduled functions obtained from the management structure and being relative to other functions, without saving context of a prior function, which context includes register values of registers in the processor executing in the constrained sensor device , if a function is found that is of higher priority than the function currently running or of equal priority if the current function has pended execution waiting for data. - manage a dynamic set of user-defined independent executable functions or tasks that are either built into a loaded image or downloaded during normal operation of a constrained sensor device , and that further cause the processor to: - add new executable functions, loaded into the constrained sensor device via a communications link, to a management structure that comprises a linked list of function pointers, effectively changing an old code the constrained sensor device contains; - update readiness and priority information in scheduler variables; - produce links between the old code and new code; and - schedule functions that are referenced through the management structure to execute on the constrained sensor device according to availability based on the readiness information and priority of the scheduled functions obtained from the management structure and being relative to other functions, without saving context of a prior function, which context includes register values of registers in the processor executing in the constrained sensor device , if a function is found that is of higher priority than the function currently running or of equal priority if the current function has pended execution waiting for data. - add new executable functions, loaded into the constrained sensor device via a communications link, to a management structure that comprises a linked list of function pointers, effectively changing an old code the constrained sensor device contains; - update readiness and priority information in scheduler variables; - produce links between the old code and new code; and - schedule functions that are referenced through the management structure to execute on the constrained sensor device according to availability based on the readiness information and priority of the scheduled functions obtained from the management structure and being relative to other functions, without saving context of a prior function, which context includes register values of registers in the processor executing in the constrained sensor device , if a function is found that is of higher priority than the function currently running or of equal priority if the current function has pended execution waiting for data. <EOS>