1. A method of programming embedded system applications in a high-level language comprising: under control of one or more processors configured with executable instructions: accessing a framework comprising class libraries including at least one class; utilizing at least one class to build an embedded system application assembly to be stored on an embedded system, wherein building the embedded system application assembly comprises generating at least one embedded system application and extracting a description of properties of the application using a tool provided in the framework, and wherein the description of the properties of the application being generated by a binarizer; identifying an embedded system functionality in native code, the native code being a low level language on the embedded system; requesting a new class in the high-level language to be provided in the framework, the new class allowing the embedded system functionality to be utilized; generating the new class in the high-level language independent of the native code; and inserting the new class into the framework.