Entity: CorrelationCalculator 122 8 null * meanx double 3 false false false meany double 3 false false false sumprods double 3 false false false sumdiffxsq double 3 false false false sumdiffysq double 3 false false false correlation double 3 false false false Entity: DataPoint 444 176 null * x double 3 false false false y double 3 false false false prodxy double 3 false false false diffxsq double 3 false false false diffysq double 3 false false false Association: CorrelationCalculator DataPoint 1 317 91 446 181 0 datapoints null ordered GeneralUseCase: calc false Constraint: null true meanx = ( datapoints->collect(x)->sum() ) / datapoints.size & meany = ( datapoints->collect(y)->sum() ) / datapoints.size CorrelationCalculator calc false Constraint: d : datapoints null d.prodxy = ( d.x - meanx ) * ( d.y - meany ) & d.diffxsq = ( d.x - meanx ) * ( d.x - meanx ) & d.diffysq = ( d.y - meany ) * ( d.y - meany ) CorrelationCalculator calc false Constraint: null true sumprods = datapoints->collect(prodxy)->sum() & sumdiffxsq = datapoints->collect(diffxsq)->sum() & sumdiffysq = datapoints->collect(diffysq)->sum() CorrelationCalculator calc false Constraint: sumdiffxsq > 0 sumdiffysq > 0 correlation = sumprods / ( sumdiffxsq * sumdiffysq )->sqrt() CorrelationCalculator calc false