code: def main(args=None):
      
      
      if args is None:
          args = process_args()
      
      print('Parsing and resolving model: '+args.lems_file)
      model = Model()
      if args.I is not None:
          for dir in args.I:
              model.add_include_directory(dir)
      model.import_from_file(args.lems_file)
      
      resolved_model = model.resolve()
      
      print('Building simulation')
      sim = SimulationBuilder(resolved_model).build()
      #sim.dump("Afterbuild:")
  
      if args.dlems:
          print('Exporting as: '+dlems_info)
          
          from lems.dlems.exportdlems import export_component
          
          target = model.targets[0]
  
          sim_comp = model.components[target]
  
          target_net = sim_comp.parameters['target']
  
          target_comp = model.components[target_net]
          
          dlems_file_name = args.lems_file.replace('.xml', '.json')
          if dlems_file_name == args.lems_file:
              dlems_file_name = args.lems_file + '.json'
  
          if target_comp.type == 'network':
  
              for child in target_comp.children:
  
                  if child.type == 'population':
  
                      comp =  model.components[child.parameters['component']]
  
                      export_component(model, comp, sim_comp, child.id, file_name=dlems_file_name)
          else:
              export_component(model, sim_comp, target_comp)
      
      else:
          print('Running simulation')
          sim.run()
          process_simulation_output(sim, model, args)
docs: Program entry point.