input: Write a function to generate a BPMN diagram for FOMDES process 1 using Python and the bpmn_pgv library. The function should create clusters for Secretaría Ejecutiva, Presidencia, and Presupuesto/Administración, including specific tasks and edges within each cluster. Additionally, include nodes for SIGEFOMDES Administración and SISAC, and connect them to the appropriate clusters using dashed edges. Finally, save the diagram as a PNG file named "proc4.png" and a DOT file named "proc4.dot".
  assert create_bpmn_diagram() is None
output: def create_bpmn_diagram():
      import bpmn_pgv as bpmn
      
      g = bpmn.BPMNGraph(name="FOMDES_Process_1")
      
      # Secretaría Ejecutiva cluster
      g.add_cluster(bpmn.BPMNCluster(id="cluster_se", name="Secretaría Ejecutiva"))
      g.add_node(bpmn.BPMNTask(id="task_se1", name="Task SE1"), cluster="cluster_se")
      g.add_node(bpmn.BPMNTask(id="task_se2", name="Task SE2"), cluster="cluster_se")
      g.add_edge(bpmn.BPMNEdge(source="task_se1", target="task_se2"))
      
      # Presidencia cluster
      g.add_cluster(bpmn.BPMNCluster(id="cluster_presidencia", name="Presidencia"))
      g.add_node(bpmn.BPMNTask(id="task_presidencia1", name="Task Presidencia1"), cluster="cluster_presidencia")
      g.add_node(bpmn.BPMNTask(id="task_presidencia2", name="Task Presidencia2"), cluster="cluster_presidencia")
      g.add_edge(bpmn.BPMNEdge(source="task_presidencia1", target="task_presidencia2"))
      
      # Presupuesto/Administración cluster
      g.add_cluster(bpmn.BPMNCluster(id="cluster_presupuesto", name="Presupuesto/Administración"))
      g.add_node(bpmn.BPMNTask(id="task_presupuesto1", name="Task Presupuesto1"), cluster="cluster_presupuesto")
      g.add_node(bpmn.BPMNTask(id="task_presupuesto2", name="Task Presupuesto2"), cluster="cluster_presupuesto")
      g.add_edge(bpmn.BPMNEdge(source="task_presupuesto1", target="task_presupuesto2"))
      
      # Nodes for SIGEFOMDES Administración and SISAC
      g.add_node(bpmn.BPMNTask(id="task_sigefomdes", name="SIGEFOMDES Administración"))
      g.add_node(bpmn.BPMNTask(id="task_sisac", name="SISAC"))
      
      # Dashed edges connecting SIGEFOMDES Administración and SISAC to clusters
      g.add_edge(bpmn.BPMNEdge(source="task_sigefomdes", target="task_se1", style="dashed"))
      g.add_edge(bpmn.BPMNEdge(source="task_sisac", target="task_presidencia1", style="dashed"))
      
      # Save the diagram as PNG and DOT files
      g.write_png("proc4.png")
      g.write_dot("proc4.dot")