published in Computing and Systems Technology Division 2016 Core Programming Area at the 2016 Aiche Annual Meeting Journal