def METHOD_NAME(self, client_ips, server_ips, templates):
    ip_gen = self.ip_gen('16.0.0.1', '48.0.0.1', client_ips, server_ips)
    prog_c, prog_s = self.progs_gen()
    templates_arr = []
    for i in range(templates):
        temp_c = ASTFTCPClientTemplate(program = prog_c, ip_gen = ip_gen, cps = i + 1)
        temp_s = ASTFTCPServerTemplate(program = prog_s, assoc = ASTFAssociationRule(port = 80 + i))
        template = ASTFTemplate(client_template = temp_c, server_template = temp_s)
        templates_arr.append(template)
    return ASTFProfile(default_ip_gen = ip_gen, templates = templates_arr)