Псевдокод не определяет, как выбрать соответствующий процесс объединения объективов в [RB.1.5].Вместо этого, раздел 4.6.5.книги SN говорится, как это сделать.
Вот краткое изложение раздела, переведенного в псевдокод Ruby:
if activity.rolled_up_objective.objective_satisfied_by_measure == true
apply_objective_rollup_process_using_measure
elsif activity.rollup_rules.any? { |rollup_rule| [:satisfied, :not_satisfied].include?(rollup_rule.action) }
apply_objective_rollup_process_using_rules
else
apply_objective_rollup_process_using_default_rules
end
В версии 1.1 SCORM 2004 4th Edition, обаОбъективный процесс объединения с использованием правил и Объективный процесс объединения с использованием правил по умолчанию включены в [RB.1.2 b], поэтому строка 3.2.[RB.1.5],
Apply the appropriate Objective Rollup Process to the activity
должно быть:
For each objective associated with the activity
If Objective Contributes to Rollup for the objective is True Then
Set the rolled-up objective to the objective
Break For
End If
End For
If (the rolled-up objective is Defined) And (Objective Satisfied By Measure for the rolled-up objective is True)
Apply the Objective Rollup Using Measure Process [RB.1.2 a] to the activity
Else
Apply the Objective Rollup Using Rules Process [RB.1.2 b] to the activity
End