docs: def optional_data_connections(self):
          '''Finds all data connections in which one or more components are not
          required.
  
          If all the components involved in a connection are required, that
          connection is also required. If one or more are not required, that
          connection is optional.
  
          Example:
          >>> s = RtsProfile(xml_spec=open('test/rtsystem.xml').read())
          >>> len(s.optional_data_connections())
          0
          '''
          result = []
          for conn in self._data_port_connectors:
              source_comp = self.find_comp_by_target(conn.source_data_port)
              target_comp = self.find_comp_by_target(conn.target_data_port)
              if not source_comp.is_required or not target_comp.is_required:
                  result.append(conn)
          return result