def __init__(self, kernel, machine, args=None, parser=None, asm_block='<STR_LIT>',<EOL>pointer_increment='<STR_LIT>', verbose=<NUM_LIT:0>):
self.kernel = kernel<EOL>self.machine = machine<EOL>self._args = args<EOL>self._parser = parser<EOL>self.results = {}<EOL>if args:<EOL><INDENT>self.asm_block = self._args.asm_block<EOL>self.pointer_increment = self._args.pointer_increment<EOL>self.verbose = self._args.verbose<EOL><DEDENT>else:<EOL><INDENT>self.asm_block = asm_block<EOL>self.pointer_increment = pointer_increment<EOL>self.verbose = verbose<EOL><DEDENT>if self.asm_block not in ['<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>try:<EOL><INDENT>self.asm_block = int(args.asm_block)<EOL><DEDENT>except ValueError:<EOL><INDENT>parser.error('<STR_LIT>')<EOL><DEDENT><DEDENT>if self.pointer_increment not in ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>']:<EOL><INDENT>try:<EOL><INDENT>self.pointer_increment = int(args.pointer_increment)<EOL><DEDENT>except ValueError:<EOL><INDENT>parser.error('<STR_LIT>'<EOL>'<STR_LIT>')<EOL><DEDENT><DEDENT>
Create Execution-Cache-Memory model from kernel and machine objects.

*kernel* is a Kernel object
*machine* describes the machine (cpu, cache and memory) characteristics
*args* (optional) are the parsed arguments from the comand line
if *args* is given also *parser* has to be provided

If *args* is None, *asm_block*, *pointer_increment* and *verbose* will be used, otherwise
*args* takes precedence.