The evolution of automated component-based software development tools: From structural synthesis of programs to behavioral types | IEEE Conference Publication | IEEE Xplore