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, by the PDM data processing system, each element corresponding to one or more machine operations; identifying concurrencies between elements, by the PDM data processing system, to determine a plurality of sets of elements, each set of elements including elements that are dependent on each other and each set being independent of each other set; creating an execution thread for each of the sets of elements, by the PDM data processing system, based on the identified concurrencies; and generating a programmable logic controller (PLC) program corresponding to the functional model, based on the execution threads.