code: def execute(self, timeSeries):
          
          windowsize    = self._parameters["windowsize"]
  
          if len (timeSeries) < windowsize:
              raise ValueError("windowsize is larger than the number of elements in timeSeries.")
  
          tsLength      = len(timeSeries)
          nbrOfLoopRuns = tsLength - windowsize + 1
  
          res = TimeSeries()
          for idx in xrange(nbrOfLoopRuns):
              end = idx + windowsize
              data = timeSeries[idx:end]
  
              timestamp = data[windowsize//2][0]
              value     = sum([i[1] for i in data])/windowsize
  
              res.add_entry(timestamp, value)
  
          res.sort_timeseries()
          return res
docs: Creates a new TimeSeries containing the SMA values for the predefined windowsize.
  
          :param TimeSeries timeSeries:    The TimeSeries used to calculate the simple moving average values.
  
          :return:    TimeSeries object containing the smooth moving average.
          :rtype:     TimeSeries
  
          :raise:   Raises a :py:exc:`ValueError` wif the defined windowsize is larger than the number of elements
              in timeSeries
  
          :note:    This implementation aims to support independent for loop execution.