Adapting Software Design Patterns To Develop Reusable IEC 61499 Function Block Applications | IEEE Conference Publication | IEEE Xplore