"Software Synthesis for Embedded Systems"
Embedded Systems Programming (02/05) Vol. 18, No. 2, P. 36; Zeidman, Bob
Zeidman Technologies founder Bob Zeidman suggests that now is the time to take an evolutionary step in embedded systems software design by automatically generating or synthesizing software. He recommends that software engineers take a cue from hardware engineers, who expedited chip design by developing hardware-description languages in which high-level description that conceals much of the hardware's complexity from the designer is written, after which low-level description that can be directly mapped to the hardware is synthesized. To make a similar breakthrough in software design, Zeidman calls for the creation of primitives, which are higher-level constructs that describe what kind of code an automatic code generation tool must produce. Applications of software synthesis include the creation of complex functions in which the programmer does not need to understand the underlying code; the construction of portable programs that can be tuned for different processors, hardware platforms, and operating systems; and the automation of operating system creation. This last application supports the synthesis of operating systems free of superfluous functions and thus able to run on smaller, cheaper, and more power-efficient processors. However, Zeidman notes that this application depends on the compiler optimizing the low-level machine code. Field-programmable gate arrays could also benefit from software synthesis, which can support the creation of small, reliable, and relatively simple operating systems for every processor on the chip. Zeidman concludes that analysis and optimization of embedded systems, as well as experimentation with such systems, could be dramatically expanded via software synthesis.
http://www.embedded.com/showArticle.jhtml?articleID=57702593
Ok, I wrote a paper about this for my Formal Anaylsis class. The only change here is that instead of writing the program with a specific language like C, C++, etc.. It stays in the machine level programming environment, which makes more sense. One of the problems was the developement of the code could be either too complicated or too simplisitc. This I believe could liminate this problem, but as I also noted there were other problems at the time I wrote my paper. The storage of information that is needed is huge. Not a huge problem, as long as you use a super computer with super storage, I guess. I'm glad this concept isn't dead yet, I think the concept of writing down your post requirements and having a program write a perfect code with no bugs is reachable and computatable today. My paper: http://www.cs.sunyit.edu/~andrusw/Project/progsynth.doc
No comments:
Post a Comment