public code v1

This commit is contained in:
2026-05-22 11:14:29 +02:00
parent 427197ec5a
commit b8141736eb
28859 changed files with 575079 additions and 0 deletions
@@ -0,0 +1,37 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Behavior changes</name>
<description></description>
<code>
var validBindings = function() {
return (att != null);
}
var getLabels = function(n) {
var result = [''];
if (validBindings()) {
for (var c = 0; c < n; c++) {
result[c] = '';
}
}
return result;
}
var getChanges = function(n) {
return validBindings() ? sBeh.getNChanges(n) : [0];
}
var create = function(composite) {
birt.createBarChart('Random changes', '', '', getLabels(25), BIRTChartManager.BIRTBehaviorChanges = getChanges(25));
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
birt.updateDataset(getLabels(25), BIRTChartManager.BIRTBehaviorChanges = getChanges(25), composite)
}
return BIRTChartManager.call(['att'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,43 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Cost metrics bar chart</name>
<description>Cost metrics bar chart</description>
<code>
var validBindings = function() {
return (sim != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues('Cost metric');
birt.createBarChart('Cost metric', '', '', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues('Cost metric');
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,41 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Cost metrics pie chart</name>
<description>Cost metrics pie chart</description>
<code>
var validBindings = function() {
return (sim != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues('Cost metric');
birt.createPieChart('Cost metric', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues('Cost metric');
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,41 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>GDMP consistency bar chart</name>
<description>GDMP consistency bar chart</description>
<code>
var validBindings = function() {
return (gdmp != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues(moduleBinding);
birt.createBarChart(moduleBinding, '', '', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues(moduleBinding);
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['gdmp', 'fpr', 'aNum','eNum','cNum','aPos','cPos','ePos'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,41 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>GDMP consistency pie chart</name>
<description>GDMP consistency pie chart</description>
<code>
var validBindings = function() {
return (gdmp != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues(moduleBinding);
birt.createPieChart(moduleBinding, values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues(moduleBinding);
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['gdmp', 'fpr', 'aNum','eNum','cNum','aPos','cPos','ePos'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,41 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Quality metrics bar chart</name>
<description>Quality metrics bar chart</description>
<code>
var validBindings = function() {
return (sim != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues('Quality metric');
birt.createBarChart('Quality metric', '', '', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues('Quality metric');
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,41 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Quality metrics pie chart</name>
<description>Quality metrics pie chart</description>
<code>
var validBindings = function() {
return (sim != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues('Quality metric');
birt.createPieChart('Quality metric', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues('Quality metric');
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,137 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Simulation consistency bar chart</name>
<description>Simulation consistency bar chart</description>
<code>
var validBindings = function() {
if ((frSim == null) || (irSim == null) || (mbSim == null)) {
return false;
} else {
var selections = mbSim.get(moduleBinding);
return (selections == null)
? false
: selections.size() > 0;
}
}
var getPreferences = function() {
var result = [];
var simulationResult = sim.getResult();
var numberOfExperts = simulationResult.get(EResultElements.number_of_experts);
var numberOfAlternatives = simulationResult.get(EResultElements.number_of_alternatives);
var numberOfCriteria = simulationResult.get(EResultElements.number_of_criteria);
var expertIndex = (eSim != null) ? sim.getGDMP().getExperts().indexOf(eSim) : -1;
var criterionIndex = (cSim != null) ? sim.getGDMP().getCriteria().indexOf(cSim): -1;
var rounds = simulationResult.get(EResultElements.rounds_results);
var round = rounds.get(irSim);
var preferences = round.get(ERoundResult.pre_preferences);
if(eSim != null && cSim != null) {
result[result.length] = preferences[numberOfCriteria * expertIndex + criterionIndex];
} else if(eSim != null && cSim == null) {
if(cNum>1){
var expertsPreferences = [];
for(var crit = 0; crit < numberOfCriteria; ++crit) {
expertsPreferences[crit] = preferences[expertIndex * numberOfCriteria + crit];
}
result[result.length] = preferences[0].groupPreferences(expertsPreferences.length, numberOfAlternatives, numberOfCriteria, expertsPreferences);
}else{
result[result.length] = preferences[expertIndex];
}
} else if(eSim == null && cSim != null) {
var criteriaPreferences = [];
for(var exp = 0; exp < numberOfExperts; ++exp) {
criteriaPreferences[exp] = preferences[exp * numberOfCriteria + criterionIndex];
}
result[result.length] = preferences[0].groupPreferences(criteriaPreferences.length, numberOfAlternatives, numberOfCriteria, criteriaPreferences);
} else {
result[result.length] = preferences[preferences.length - 1];
}
for (var pos = irSim; pos <= frSim; pos++) {
round = rounds.get(pos);
preferences = round.get(ERoundResult.pos_preferences);
if(eSim != null && cSim != null) {
result[result.length] = preferences[numberOfCriteria * expertIndex + criterionIndex];
} else if(eSim != null && cSim == null) {
if(cNum>1){
var expertsPreferences = [];
for(var crit = 0; crit < numberOfCriteria; ++crit) {
expertsPreferences[crit] = preferences[expertIndex * numberOfCriteria + crit];
}
result[result.length] = preferences[0].groupPreferences(expertsPreferences.length, numberOfAlternatives, numberOfCriteria, expertsPreferences);
}else{
result[result.length] = preferences[expertIndex];
}
} else if(eSim == null && cSim != null) {
var criteriaPreferences = [];
for(var exp = 0; exp < numberOfExperts; ++exp) {
criteriaPreferences[exp] = preferences[exp * numberOfCriteria + criterionIndex];
}
result[result.length] = preferences[0].groupPreferences(criteriaPreferences.length, numberOfAlternatives, numberOfCriteria, criteriaPreferences);
} else {
result[result.length] = preferences[preferences.length - 1];
}
}
return result;
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var preferences = getPreferences();
var functionName = mbSim.get(moduleBinding).get(0);
result.input = Java.from(
ase.createExecutionBuilder()
.setFunction(functionName)
.putVariable('preferences', preferences)
.execute());
result.labels[0] = 'I';
for (var pos = irSim; pos <= frSim; pos++) {
result.labels[result.labels.length] = 'R' + (irSim + 1);
}
}
return result;
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var functionName = mbSim.get(moduleBindingName).get(0);
var values = ase.createExecutionBuilder()
.setFunction(functionName)
.putVariable('preferences', getPreferences())
.execute()
.getResult();
for (var i = 0; i < values.length; i++) {
result.input[i] = values[i].doubleValue();
}
result.labels[0] = 'I';
for (var pos = irSim; pos <= frSim; pos++) {
result.labels[result.labels.length] = 'R' + (pos + 1);
}
}
return result;
}
var create = function(composite) {
var values = generateValues(moduleBinding);
birt.createBarChart(moduleBinding, '', '', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues(moduleBinding);
birt.updateChartTitle(moduleBinding, composite);
birt.updateDataset(values.labels, values.input, composite);
}
return BIRTChartManager.call(['frSim', 'irSim', 'eSim', 'cSim', 'sim', 'mbSim'], validBindings, create, update, method, composite);
</code>
</function>
@@ -0,0 +1,44 @@
<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Sorted behavior changes</name>
<description></description>
<code>
var validBindings = function() {
return (att != null);
}
var getLabels = function(n) {
var result = [''];
if (validBindings()) {
for (var c = 0; c < n; c++) {
result[c] = '';
}
}
return result;
}
var getChanges = function(n) {
var result = [0];
if (validBindings()) {
var changes = (typeof BIRTChartManager.BIRTBehaviorChanges !== "undefined")
? BIRTChartManager.BIRTBehaviorChanges
: sBeh.getNChanges(n);
result = Java.from(changes).sort(function(a,b) { return a - b; }).reverse();
}
return result;
}
var create = function(composite) {
birt.createBarChart('Sorted random changes', '', '', getLabels(25), getChanges(25));
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
birt.updateDataset(getLabels(25), getChanges(25), composite)
}
return BIRTChartManager.call(['att'], validBindings, create, update, method, composite);
</code>
</function>