SOSS: a Stream-Oriented Software Synthesizer
What is SOSS?
The idea is to drastically reduce the amount of communications boilerplate and hand crafting in firmware, and to provide some tools to handle scheduling communications over low-bandwidth links such as CANbus or RS-485.
I often find myself hand-crafting the same code and data structures in various firmware projects, with the differences usually amounting to pin or port assignments for this or that embedded system. I'd like to have a reasonable way to specify hardware connections in and between embedded systems, and then have a code generator synthesize a set of C files from that specification. This is now modern ASIC and FPGA design is done using hardware description languages such as Verilog or VHDL, and in systems built upon it such as the Xilinx EDK, et. al. It seems that a similar system can be built to output C files to the many C cross-compilers available for just about every embedded processor in existence.