<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

async def parse_target(self, runtime, target_str):
        '''A target is a pipeline of a module into zero or more rules, and each
        module and rule can itself be scoped with zero or more module names.'''
        pipeline_parts = target_str.split(RULE_SEPARATOR)
        module = await self.resolve_module(runtime, pipeline_parts[0],
                                           target_str)
        rules = []
        for part in pipeline_parts[1:]:
            rule = await self.resolve_rule(runtime, part)
            rules.append(rule)
        return module, tuple(rules)