%0 Journal Article %T Synthesizing Control Software from Boolean Relations %A Mari, Federico %A Melatti, Igor %A Salvo, Ivano %A Tronci, Enrico %J International Journal on Advances in Software %D 2012 %V vol. 5, nr 3&4 %I Iaria %@ 1942-2628 %F Mari_etal2012 %O exported from refbase (show.php?record=26), last updated on Thu, 07 Nov 2013 15:07:03 +0100 %X Many software as well digital hardware automaticsynthesis methods define the set ofimplementations meeting the given systemspecifications with a boolean relation K. Insuch a context a fundamental step in the software(hardware) synthesis process is finding effectivesolutions to the functional equation defined byK. This entails finding a (set of) booleanfunction(s) F (typically represented usingOBDDs, Ordered Binary Decision Diagrams)such that: 1) for all x for which K issatisfiable, K(x, F(x)) = 1 holds; 2) theimplementation of F is efficient with respectto given implementation parameters such as codesize or execution time. While this problem hasbeen widely studied in digital hardware synthesis,little has been done in a software synthesiscontext. Unfortunately, the approaches developedfor hardware synthesis cannot be directly used ina software context. This motivates investigationof effective methods to solve the above problemwhen F has to be implemented with software. Inthis paper, we present an algorithm that, from anOBDD representation for K, generates a C codeimplementation for F that has the same size asthe OBDD for F and a worst case execution timelinear in nr, being n = |x| the number ofinput arguments for functions in F and r thenumber of functions in F. Moreover, a formalproof of the proposed algorithm correctness isalso shown. Finally, we present experimentalresults showing effectiveness of the proposedalgorithm. %K Control Software Synthesis %K Embedded Systems %K Model Checking %U papers/federicomari/2012/26_FedericoMari_etal2012.pdf %P 212-223