The model-based product agent: A control oriented architecture for intelligent products in multi-agent manufacturing systems. (May 2019)