def METHOD_NAME(self):
    def random_simple_value(type_name):
        if type_name == 'byte':
            return random.randint(0, 255)
        elif type_name == 'int32':
            return random.randint(-2 ** 31, 2 ** 31 - 1)
        elif type_name == 'int64':
            return random.randint(-2 ** 63, 2 ** 63 - 1)
        elif type_name == 'uint16':
            return random.randint(0, 2 ** 16 - 1)
        elif type_name == 'uint32':
            return random.randint(0, 2 ** 31 - 1)
        elif type_name == 'bool':
            return {0: False, 1: True}[random.randint(0, 1)]
        elif type_name == 'string':
            return "Hello"
        elif type_name == 'real32':
            return struct.unpack_from(
                '>f',
                struct.pack('>f', random.random()))[0]
        elif type_name == 'real64':
            return struct.unpack_from(
                '>d',
                struct.pack('>d', random.random()))[0]
        elif type_name in self.model_db.types:
            model = self.model_db.types[type_name]
            if isinstance(model, EnumModel):
                return 0
            else:
                from pylmcp import Object
                return Object(class_name=model, randomize=True)
        else:
            raise Exception("%s not implemented" % type_name)
    if self.is_array:
        if self.is_static_array:
            return [random_simple_value(self.attr_type)] * \
                self.max_array_length
        else:
            return [random_simple_value(self.attr_type),
                    random_simple_value(self.attr_type)]
    else:
        return random_simple_value(self.attr_type)