 m = mf.zero.Model;
 profileName = 'Calibration';
 dataProfile = sl.data.annotation.profile.DataProfile.createProfile(m, profileName);
 stereotype1 = dataProfile.addPrototype('Measurement', "", {'Inports','Outports',...
     'SharedLocalDataStores', 'GlobalDataStores','InternalData', 'Constants'});
 stereotype1.friendlyName = "Measurement";
 stereotype1.addProperty('DisplayIdentifier', 'string');
 stereotype1.addProperty('Format', 'string');
 prop = stereotype1.addProperty('ReadWrite', 'boolean');
 prop.setDefaultPropertyValue('false');

 stereotype2 = dataProfile.addPrototype('Characteristic', "", {'ModelParameters','ModelParameterArguments',...
     'ParameterArguments','LocalParameters','ExternalParameterObjects', 'GlobalParameters'});
 stereotype2.friendlyName = "Characteristic";

 prop = stereotype2.addProperty('MaxDiff', 'double');
 prop.setDefaultPropertyValue('0');
 stereotype2.addEnumProperty('CalibrationAccess', 'AsamCalibrationAccessEnum');
 stereotype2.addProperty('DisplayIdentifier', 'string');
 stereotype2.addProperty('Format', 'string');
 dataProfile.saveToFile();
 
%  resultStr = sl.data.annotation.api.Api.getPrototypesDefinitionByModelingElement('Inports', profileName);
%  systemcomposer.internal.profile.Profile.unload(profileName);