blob: 9573365d07f22f6cbf0452e129bb30fdbf807a63 [file] [log] [blame]
/**
* Copyright (c) 2019-2021 Robert Bosch GmbH and others
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Robert Bosch GmbH - initial API and implementation
*/
package org.eclipse.app4mc.amlt2systemc.m2t.transformers;
import java.util.Arrays;
import org.eclipse.app4mc.amalthea.model.ITimeDeviation;
import org.eclipse.app4mc.amalthea.model.SamplingType;
import org.eclipse.app4mc.amalthea.model.TimeBetaDistribution;
import org.eclipse.app4mc.amalthea.model.TimeBoundaries;
import org.eclipse.app4mc.amalthea.model.TimeConstant;
import org.eclipse.app4mc.amalthea.model.TimeGaussDistribution;
import org.eclipse.app4mc.amalthea.model.TimeUniformDistribution;
import org.eclipse.app4mc.amalthea.model.TimeUnit;
import org.eclipse.app4mc.amalthea.model.TimeWeibullEstimatorsDistribution;
import org.eclipse.app4mc.amalthea.model.util.FactoryUtil;
import org.eclipse.app4mc.amlt2systemc.m2t.utils.TimeUtil;
import org.eclipse.xtend2.lib.StringConcatenation;
@SuppressWarnings("all")
public class ITimeDeviationTransformer {
protected static String _getDeviation(final ITimeDeviation value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("WARNING:VALUE_FORMAT_NOT_SUPPORTED");
return _builder.toString();
}
protected static String _getDeviationTemplate(final ITimeDeviation value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("WARNING:VALUE_FORMAT_NOT_SUPPORTED");
return _builder.toString();
}
protected static String _getDeviationValue(final ITimeDeviation value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("WARNING:VALUE_FORMAT_NOT_SUPPORTED");
return _builder.toString();
}
protected static String _getDeviation(final TimeBetaDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeBetaDistribution value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeBetaDistribution");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeBetaDistribution value) {
StringConcatenation _builder = new StringConcatenation();
double _alpha = value.getAlpha();
_builder.append(_alpha);
_builder.append(",");
double _beta = value.getBeta();
_builder.append(_beta);
_builder.append(",");
String _transform = TimeUtil.transform(value.getLowerBound());
_builder.append(_transform);
_builder.append(",");
String _transform_1 = TimeUtil.transform(value.getUpperBound());
_builder.append(_transform_1);
return _builder.toString();
}
private static String stype(final TimeBoundaries value) {
SamplingType _samplingType = value.getSamplingType();
if (_samplingType != null) {
switch (_samplingType) {
case BEST_CASE:
return "BoundariesSamplingType::BestCase";
case WORST_CASE:
return "BoundariesSamplingType::WorstCase";
case AVERAGE_CASE:
return "BoundariesSamplingType::AverageCase";
case CORNER_CASE:
return "BoundariesSamplingType::CornerCase";
case UNIFORM:
return "BoundariesSamplingType::Uniform";
default:
return "BoundariesSamplingType::WorstCase";
}
} else {
return "BoundariesSamplingType::WorstCase";
}
}
protected static String _getDeviation(final TimeBoundaries value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeBoundaries value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeBoundaries");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeBoundaries value) {
StringConcatenation _builder = new StringConcatenation();
String _stype = ITimeDeviationTransformer.stype(value);
_builder.append(_stype);
_builder.append(",");
String _transform = TimeUtil.transform(value.getLowerBound());
_builder.append(_transform);
_builder.append(",");
String _transform_1 = TimeUtil.transform(value.getUpperBound());
_builder.append(_transform_1);
return _builder.toString();
}
protected static String _getDeviation(final TimeConstant value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeConstant value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeConstant");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeConstant value) {
StringConcatenation _builder = new StringConcatenation();
String _transform = TimeUtil.transform(value.getValue());
_builder.append(_transform);
return _builder.toString();
}
protected static String _getDeviation(final TimeGaussDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeGaussDistribution value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeGaussDistribution");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeGaussDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _transform = TimeUtil.transform(value.getMean());
_builder.append(_transform);
_builder.append(",");
String _transform_1 = TimeUtil.transform(value.getSd());
_builder.append(_transform_1);
_builder.append(",");
String _elvis = null;
String _transform_2 = TimeUtil.transform(value.getLowerBound());
if (_transform_2 != null) {
_elvis = _transform_2;
} else {
String _transform_3 = TimeUtil.transform(FactoryUtil.createTime(Long.MIN_VALUE, TimeUnit.PS));
_elvis = _transform_3;
}
_builder.append(_elvis);
_builder.append(",");
String _elvis_1 = null;
String _transform_4 = TimeUtil.transform(value.getUpperBound());
if (_transform_4 != null) {
_elvis_1 = _transform_4;
} else {
String _transform_5 = TimeUtil.transform(FactoryUtil.createTime(Long.MAX_VALUE, TimeUnit.PS));
_elvis_1 = _transform_5;
}
_builder.append(_elvis_1);
return _builder.toString();
}
protected static String _getDeviation(final TimeUniformDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeUniformDistribution value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeUniformDistribution");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeUniformDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _transform = TimeUtil.transform(value.getLowerBound());
_builder.append(_transform);
_builder.append(",");
String _transform_1 = TimeUtil.transform(value.getUpperBound());
_builder.append(_transform_1);
return _builder.toString();
}
protected static String _getDeviation(final TimeWeibullEstimatorsDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("(");
String _deviationValue = ITimeDeviationTransformer.getDeviationValue(value);
_builder.append(_deviationValue);
_builder.append(")");
return _builder.toString();
}
protected static String _getDeviationTemplate(final TimeWeibullEstimatorsDistribution value) {
StringConcatenation _builder = new StringConcatenation();
_builder.append("TimeWeibullEstimatorsDistribution");
return _builder.toString();
}
protected static String _getDeviationValue(final TimeWeibullEstimatorsDistribution value) {
StringConcatenation _builder = new StringConcatenation();
String _deviationTemplate = ITimeDeviationTransformer.getDeviationTemplate(value);
_builder.append(_deviationTemplate);
_builder.append("::findParameter(");
String _transform = TimeUtil.transform(value.getAverage());
_builder.append(_transform);
_builder.append(",");
double _pRemainPromille = value.getPRemainPromille();
_builder.append(_pRemainPromille);
_builder.append(",");
String _transform_1 = TimeUtil.transform(value.getLowerBound());
_builder.append(_transform_1);
_builder.append(",");
String _transform_2 = TimeUtil.transform(value.getUpperBound());
_builder.append(_transform_2);
_builder.append("),");
String _transform_3 = TimeUtil.transform(value.getLowerBound());
_builder.append(_transform_3);
_builder.append(",");
String _transform_4 = TimeUtil.transform(value.getUpperBound());
_builder.append(_transform_4);
return _builder.toString();
}
public static String getDeviation(final ITimeDeviation value) {
if (value instanceof TimeBetaDistribution) {
return _getDeviation((TimeBetaDistribution)value);
} else if (value instanceof TimeBoundaries) {
return _getDeviation((TimeBoundaries)value);
} else if (value instanceof TimeGaussDistribution) {
return _getDeviation((TimeGaussDistribution)value);
} else if (value instanceof TimeUniformDistribution) {
return _getDeviation((TimeUniformDistribution)value);
} else if (value instanceof TimeWeibullEstimatorsDistribution) {
return _getDeviation((TimeWeibullEstimatorsDistribution)value);
} else if (value instanceof TimeConstant) {
return _getDeviation((TimeConstant)value);
} else if (value != null) {
return _getDeviation(value);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(value).toString());
}
}
public static String getDeviationTemplate(final ITimeDeviation value) {
if (value instanceof TimeBetaDistribution) {
return _getDeviationTemplate((TimeBetaDistribution)value);
} else if (value instanceof TimeBoundaries) {
return _getDeviationTemplate((TimeBoundaries)value);
} else if (value instanceof TimeGaussDistribution) {
return _getDeviationTemplate((TimeGaussDistribution)value);
} else if (value instanceof TimeUniformDistribution) {
return _getDeviationTemplate((TimeUniformDistribution)value);
} else if (value instanceof TimeWeibullEstimatorsDistribution) {
return _getDeviationTemplate((TimeWeibullEstimatorsDistribution)value);
} else if (value instanceof TimeConstant) {
return _getDeviationTemplate((TimeConstant)value);
} else if (value != null) {
return _getDeviationTemplate(value);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(value).toString());
}
}
public static String getDeviationValue(final ITimeDeviation value) {
if (value instanceof TimeBetaDistribution) {
return _getDeviationValue((TimeBetaDistribution)value);
} else if (value instanceof TimeBoundaries) {
return _getDeviationValue((TimeBoundaries)value);
} else if (value instanceof TimeGaussDistribution) {
return _getDeviationValue((TimeGaussDistribution)value);
} else if (value instanceof TimeUniformDistribution) {
return _getDeviationValue((TimeUniformDistribution)value);
} else if (value instanceof TimeWeibullEstimatorsDistribution) {
return _getDeviationValue((TimeWeibullEstimatorsDistribution)value);
} else if (value instanceof TimeConstant) {
return _getDeviationValue((TimeConstant)value);
} else if (value != null) {
return _getDeviationValue(value);
} else {
throw new IllegalArgumentException("Unhandled parameter types: " +
Arrays.<Object>asList(value).toString());
}
}
}