1. A method performed by a product data management (PDM) data processing system, comprising: receiving a functional model; identifying a plurality of elements of the functional model, each element corresponding to one or more machine operations; identifying concurrencies between elements to determine at least one set of elements; creating an execution thread for each of the sets of elements; and generating a programmable logic controller (PLC) program corresponding to the functional model, based on the execution threads.