code: def make_repository_component(self):
          
          component = etree.Element('component')
  
          comp_name = etree.Element('comp_name')
          comp_name.text = self.model.name
          component.append(comp_name)
  
          mod_path = etree.Element('module_path')
          mod_path.text = os.getcwd()
          component.append(mod_path)
  
          mod_name = etree.Element('module_name')
          mod_name.text = self.model.name
          component.append(mod_name)
  
          class_name = etree.Element('class_name')
          class_name.text = 'model_class'
          component.append(class_name)
  
          model_name = etree.Element('model_name')
          model_name.text = self.model.name
          component.append(model_name)
  
          lang = etree.Element('language')
          lang.text = 'python'
          component.append(lang)
  
          ver = etree.Element('version')
          ver.text = self.get_attribute('version')
          component.append(ver)
  
          au = etree.Element('author')
          au.text = self.get_attribute('author_name')
          component.append(au)
  
          hu = etree.Element('help_url')
          hu.text = 'http://github.com/sorgerlab/indra'
          component.append(hu)
  
          for tag in ('cfg_template', 'time_step_type', 'time_units',
                      'grid_type', 'description', 'comp_type', 'uses_types'):
              elem = etree.Element(tag)
              elem.text = tag
              component.append(elem)
  
          return etree.tounicode(component, pretty_print=True)
docs: Return an XML string representing this BMI in a workflow.
  
          This description is required by EMELI to discover and load models.
  
          Returns
          -------
          xml : str
              String serialized XML representation of the component in the
              model repository.