def get_output_parameters_of_execute(taskFile):
    """Get the set of output parameters of an execute method within a program"""

    # get the invocation of the execute method to extract the output parameters
    invokeExecuteNode = taskFile.find('assign', recursive=True,
                                      value=lambda value: value.type == 'atomtrailers'
                                                          and len(value.value) == 2
                                                          and value.value[0].value == 'execute')

    # generation has to be aborted if retrieval of output parameters fails
    if not invokeExecuteNode:
        return None

    # only one output parameter
    if invokeExecuteNode.target.type == 'name':
        return [invokeExecuteNode.target.value]
    else:
        # set of output parameters
        return [parameter.value for parameter in invokeExecuteNode.target.value]