<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def update(self, global_size=None, lower_extent=None, upper_extent=None, description=None):
 """ Update the dimension properties Parameters global_size : int Global dimension size (Default value = None) lower_extent : int Lower dimension extent (Default value = None) upper_extent : int Upper dimension extent (Default value = None) description : str Dimension description (Default value = None) """


        if global_size is not None: self._global_size = global_size
        if lower_extent is not None: self._lower_extent = lower_extent
        if upper_extent is not None: self._upper_extent = upper_extent
        if description is not None: self._description = description

        # Check that we've been given valid values
        self.validate()