A formal approach to component-based software engineering: education and evaluation | IEEE Conference Publication | IEEE Xplore