------------------------------------------------------------------------
-- Actor Prolog, (c) 2002 Written by Alexei A. Morozov                --
--                                                                    --
-- File C:\WINDOWS\TEMP\A-PROLOG.LOG                                  --
-- created 10-06-2003 00:49:18                                        --
-- Source no_source_file                                              --
-- Library C:\WINDOWS\TEMP\A-PROLOG.BIN                               --
------------------------------------------------------------------------

package "D:\\MOROZOV\\Z\\DEMO\\EXE\\EXAMPLES\\SADT\\JAM-E\\JAM-E":

project:

        (('MODEL',
                project_name = "Actor Prolog",
                creation_date = "19/3/1999",
                author = "Alexei A. Morozov",
                title = "JAM-MAKING",
                language_version = "1.2.8"))

------------------------------------------------------------------------
class 'CHOOSE_BERRIES_AND_FRUITS' specializing 'DIALOG':
value_o1;
identifier = "ChooseFruits";
[
]
------------------------------------------------------------------------
class 'WASH_UP_JARS_AND_LIDS' specializing 'SIMPLE_BLOCK': []
------------------------------------------------------------------------
class 'BOIL_SOME_WATER_IN_A_KETTLE'
specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A kettle".
]
------------------------------------------------------------------------
class 'CLEANSE_LIDS_BY_BOILING_WATER'
specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A saucepan for boiling water".
]
------------------------------------------------------------------------
class 'CLEANSE_JAM-JARS_BY_BOILED_WATER'
specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A kettle".
]
------------------------------------------------------------------------
class 'DRY_JAM-JARS_AND_LIDS' specializing 'SIMPLE_BLOCK': []
------------------------------------------------------------------------
class 'WASH_BERRIES_AND_FRUITS' specializing 'SIMPLE_BLOCK':
value_i1;
protecting: value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A colander".
]
------------------------------------------------------------------------
class 'PREPARE_SOME_MIXTURE_OF_HARD_BERRIES_AND_SUGAR'
specializing 'COMPOUND_BLOCK':
value_i1;
[
--
goal:-!,
        check_fruits(value_i1).
check_fruits("Black rowan").
]
------------------------------------------------------------------------
class 'PREPARE_SOME_MIXTURE_OF_LARGE_FRUITS_AND_SUGAR'
specializing 'COMPOUND_BLOCK':
value_i1;
[
--
goal:-!,
        check_fruits(value_i1).
check_fruits("The \"Antonovka\" apples").
]
------------------------------------------------------------------------
class 'PREPARE_SOME_MIXTURE_OF_SOFT_BERRIES_AND_SUGAR'
specializing 'COMPOUND_BLOCK':
value_i1;
[
--
goal:-!,
        check_fruits(value_i1).
check_fruits("Strawberry").
]
------------------------------------------------------------------------
class 'BOIL_SOME_WATER_IN_THE_SAUCEPAN'
specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A saucepan for boiling water".
]
------------------------------------------------------------------------
class 'PREPARE_SOME_SYRUP' specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A saucepan or copper basin".
instrument
        = "Wooden spoon".
]
------------------------------------------------------------------------
class 'BLANCH_BERRIES' specializing 'SIMPLE_BLOCK':
value_i2;
value_o1;
[
--
goal:-!,
        value_o1 == value_i2.
instrument
        = "A colander".
instrument
        = "A saucepan for boiling water".
]
------------------------------------------------------------------------
class 'PUT_BERRIES_IN_SYRUP' specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'CUT_FRUITS_INTO_LOBULES' specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A knife of stainless steel".
]
------------------------------------------------------------------------
class 'SPRINKLE_WITH_SUGAR' specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'SUSPEND_THE_PROCESS_FOR_6-8_HOURS'
specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'ADD_SOME_WATER_IN_THE_MIXTURE'
specializing 'SIMPLE_BLOCK':
value_i1;
value_o1;
[
--
goal:-!,
        value_o1 == value_i1.
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'BOILING_CYCLE_FOR_HARD_BERRIES_AND_FRUITS'
specializing 'COMPOUND_BLOCK':
value_i1;
[
--
goal:-!,
        check_fruits(value_i1).
check_fruits("Black rowan").
check_fruits("The \"Antonovka\" apples").
]
------------------------------------------------------------------------
class 'BOILING_CYCLE_FOR_SOFT_BERRIES_AND_FRUITS'
specializing 'COMPOUND_BLOCK':
value_i1;
[
--
goal:-!,
        check_fruits(value_i1).
check_fruits("Strawberry").
]
------------------------------------------------------------------------
class 'HEAT_THE_MIXTURE' specializing 'DIALOG':
value_i2;
time;
identifier = "HeatUpMixture";
fruits = value_i2;
[
--
goal:-!,
        set_time(value_i2,time).
set_time(#,"3-5"):-!.
set_time("Black rowan","3"):-!.
set_time("The \"Antonovka\" apples",5):-!.
set_time("Strawberry","---"):-!.
set_time(_,"3-5"):-!.
instrument
        = "A saucepan or copper basin".
instrument
        = "Wooden spoon".
]
------------------------------------------------------------------------
class 'SUSPEND_THE_PROCESS' specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'CHECK_IF_JAM_IS_READY' specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "Wooden spoon".
instrument
        = "A saucer".
]
------------------------------------------------------------------------
class 'MAIN_PHASE_OF_BOILING' specializing 'DIALOG':
value_i1;
time;
identifier = "HeatUpMixture";
fruits = value_i1;
[
--
goal:-!,
        set_time(value_i1,time).
set_time(#,"---"):-!.
set_time("Strawberry","10"):-!.
set_time(_,"---"):-!.
instrument
        = "A saucepan or copper basin".
instrument
        = "Wooden spoon".
]
------------------------------------------------------------------------
class 'SUPPLEMENTARY_PHASE_OF_BOILING'
specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A saucepan or copper basin".
instrument
        = "Wooden spoon".
]
------------------------------------------------------------------------
class 'COOL_JAM' specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "A saucepan or copper basin".
]
------------------------------------------------------------------------
class 'POUR_JAM_INTO_JARS' specializing 'SIMPLE_BLOCK':
[
--
instrument
        = "Wooden spoon".
instrument
        = "Canning equipment".
]
------------------------------------------------------------------------
class 'SIMPLE_BLOCK':
[
--
goal.
show(_).
]
------------------------------------------------------------------------
class 'ANALYSIS_OF_MODEL:_WHAT_KITCHEN_UTENSILS_ARE_WE_NEED?'
specializing 'DIALOG':
identifier = "ListOfInstruments";
title;
name;
number;
model;
x;
y;
text_color;
container;
con;
result;
instruments;
agent = (('FINDINSTRUMENTS',
        container = container,
        protecting: result = result));
[
--
goal:-
        refine_list(result,[],instruments),!.
goal:-!,
        [result].
refine_list([],LIST,LIST):-!.
refine_list([#|REST],LIST1,LIST2):-!,
        refine_list(REST,LIST1,LIST2).
refine_list([ITEM|REST],LIST1,LIST3):-
        is_list(ITEM),!,
        refine_list(ITEM,LIST1,LIST2),
        refine_list(REST,LIST2,LIST3).
refine_list([ITEM|REST],LIST1,LIST2):-
        is_not_element(ITEM,LIST1),!,
        refine_list(REST,[ITEM|LIST1],LIST2).
refine_list([_|REST],LIST1,LIST2):-!,
        refine_list(REST,LIST1,LIST2).
refine_list(_,LIST,LIST).
is_list([]):-!.
is_list([_|_]).
is_not_element(_,[]):-!.
is_not_element(ITEM,[ITEM|_]):-!,
        fail.
is_not_element(ITEM,[_|LIST]):-
        is_not_element(ITEM,LIST).
show(_):-
        show.
]
------------------------------------------------------------------------
class 'FINDINSTRUMENTS' specializing 'ALPHA':
container;
result;
agent = (('INSTRUMENTS',
        suspending: source_list = [],
        target_list = container,
        protecting: result = result));
[
--
goal:-!.
]
------------------------------------------------------------------------
class 'INSTRUMENTS' specializing 'ALPHA':
source_list;
target_list;
result;
tail_list;
tail_result;
tail = (('INSTRUMENTS',
        suspending: source_list = tail_list,
        target_list = target_list ?? instrument(),
        protecting: result = tail_result));
con = ('CONSOLE');
[
--
goal:-
        source_list == target_list,!,
        result == target_list.
goal:-
        tail_list == target_list,
        result == tail_result.
]
------------------------------------------------------------------------
class 'COMPOUND_BLOCK' specializing 'ALPHA':
c = ('CONSOLE');
[
--
instrument
        = BLOCK
        :-
        !,
        component(BLOCK).
]
------------------------------------------------------------------------
class 'MODEL' specializing 'ALPHA':
box = (('DIAGRAM-ROOT'));
project_name = "Actor Prolog";
author = "Alexei A. Morozov";
[
]
------------------------------------------------------------------------
class 'DIAGRAM-ROOT' specializing 'A-0':
link_1;
box_0 = (('DIAGRAM-A0',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "0i1",
                value = link_1),
        value_i1 = link_1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "0i2",
                value = link_1),
        value_i2 = link_1,
        entry_i3 = ('ARROW',
                host = self,
                entry = "0i3",
                value = link_1),
        value_i3 = link_1,
        entry_i4 = ('ARROW',
                host = self,
                entry = "0i4",
                value = link_1),
        value_i4 = link_1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "0m1",
                value = link_1),
        value_m1 = link_1,
        entry_m2 = ('ARROW',
                host = self,
                entry = "0m2",
                value = link_1),
        value_m2 = link_1,
        entry_c1 = ('ARROW',
                host = self,
                entry = "0c1",
                value = link_1),
        value_c1 = link_1,
        entry_m3 = ('ARROW',
                host = self,
                entry = "0m3",
                value = link_1),
        value_m3 = link_1,
        entry_m4 = ('ARROW',
                host = self,
                entry = "0m4",
                value = link_1),
        value_m4 = link_1,
        entry_c2 = ('ARROW',
                host = self,
                entry = "0c2",
                value = link_1),
        value_c2 = link_1,
        entry_m5 = ('ARROW',
                host = self,
                entry = "0m5",
                value = link_1),
        value_m5 = link_1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "0o1",
                value = link_1),
        value_o1 = link_1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "19/3/1999";
author = "Alexei A. Morozov";
title = "A-0";
name = "A-0";
number = 'root';
model;
x = 54.0;
y = 6.0;
container;
con = ('REPORT',
        title = "A-0",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'A-0' specializing 'COMPOUND_BLOCK':
box_0;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A0' specializing 'JAM-MAKING':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_i4;
value_i4;
entry_m4;
value_m4;
entry_m3;
value_m3;
entry_m1;
value_m1;
entry_m5;
value_m5;
entry_o1;
value_o1;
link_1;
link_2;
link_3;
box_1 = (('DIAGRAM-A1',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_3),
        value_o1 = link_3));
box_2 = (('DIAGRAM-A2',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "2i2",
                value = value_i4),
        value_i2 = value_i4,
        entry_m1 = ('ARROW',
                host = self,
                entry = "2m1",
                value = value_m4),
        value_m1 = value_m4,
        entry_m3 = ('ARROW',
                host = self,
                entry = "2m3",
                value = value_m3),
        value_m3 = value_m3,
        entry_m2 = ('ARROW',
                host = self,
                entry = "2m2",
                value = value_m1),
        value_m2 = value_m1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = value_i3),
        value_i1 = value_i3,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = link_1),
        value_o1 = link_1));
box_3 = (('DIAGRAM-A3',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "3i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_3),
        value_i1 = link_3,
        entry_i3 = ('ARROW',
                host = self,
                entry = "3i3",
                value = value_i3),
        value_i3 = value_i3,
        entry_m1 = ('ARROW',
                host = self,
                entry = "3m1",
                value = value_m3),
        value_m1 = value_m3,
        entry_m2 = ('ARROW',
                host = self,
                entry = "3m2",
                value = value_m1),
        value_m2 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = link_2),
        value_o1 = link_2));
box_4 = (('DIAGRAM-A4',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "4i1",
                value = link_2),
        value_i1 = link_2,
        entry_m1 = ('ARROW',
                host = self,
                entry = "4m1",
                value = value_m3),
        value_m1 = value_m3,
        entry_o1 = ('ARROW',
                host = self,
                entry = "4o1",
                value = value_m1),
        value_o1 = value_m1));
box_5 = (('DIAGRAM-A5',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "5i1",
                value = value_m1),
        value_i1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "5o1",
                value = value_m1),
        value_o1 = value_m1));
box_6 = (('DIAGRAM-A6',
        container = self));
box_7 = (('DIAGRAM-A7',
        container = self,
        entry_m1 = ('ARROW',
                host = self,
                entry = "7m1",
                value = value_m5),
        value_m1 = value_m5,
        entry_i2 = ('ARROW',
                host = self,
                entry = "7i2",
                value = link_1),
        value_i2 = link_1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "7i1",
                value = value_m1),
        value_i1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "7o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "19/3/1999";
author = "Alexei A. Morozov";
title = "A0: JAM-MAKING";
name = "JAM-MAKING";
number = 0;
model;
x = 26.20667;
y = 15.79944;
container;
con = ('REPORT',
        title = "A0: JAM-MAKING",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3).
component(box_4).
component(box_5).
component(box_6).
component(box_7):-!.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"3i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"2i2"{|REST}:-!,
        entry_i4 ? 'message'{|REST}.
"2m1"{|REST}:-!,
        entry_m4 ? 'message'{|REST}.
"7m1"{|REST}:-!,
        entry_m5 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_3 << "i1"{|REST}.
"3i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"3o1"{|REST}:-!,
        box_4 << "i1"{|REST}.
"4i1"{|REST}:-!,
        box_3 << "o1"{|REST}.
"4o1"{|REST}:-!,
        box_5 << "i1"{|REST},
        box_7 << "i1"{|REST}.
"2o1"{|REST}:-!,
        box_7 << "i2"{|REST}.
"7i2"{|REST}:-!,
        box_2 << "o1"{|REST}.
"5o1"{|REST}:-!,
        box_7 << "i1"{|REST}.
"7o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"5i1"{|REST}:-!,
        box_4 << "o1"{|REST}.
"4m1"{|REST}:-!,
        entry_m3 ? 'message'{|REST}.
"2m3"{|REST}:-!,
        entry_m3 ? 'message'{|REST}.
"7i1"{|REST}:-!,
        entry_m1 ? 'message'{|REST},
        box_5 << "o1"{|REST},
        box_4 << "o1"{|REST}.
"2m2"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"2i1"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"3i3"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"3m1"{|REST}:-!,
        entry_m3 ? 'message'{|REST}.
"3m2"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"i2"{|REST}:-!,
        box_3 << "i2"{|REST}.
"i3"{|REST}:-!,
        box_2 << "i1"{|REST},
        box_3 << "i3"{|REST}.
"i4"{|REST}:-!,
        box_2 << "i2"{|REST}.
"m4"{|REST}:-!,
        box_2 << "m1"{|REST}.
"m3"{|REST}:-!,
        box_4 << "m1"{|REST},
        box_2 << "m3"{|REST},
        box_3 << "m1"{|REST}.
"m1"{|REST}:-!,
        box_7 << "i1"{|REST},
        box_2 << "m2"{|REST},
        box_3 << "m2"{|REST}.
"m5"{|REST}:-!,
        box_7 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_7 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("3i2",REST*):-!,
        entry_i2 ? P(REST*).
P("2i2",REST*):-!,
        entry_i4 ? P(REST*).
P("2m1",REST*):-!,
        entry_m4 ? P(REST*).
P("7m1",REST*):-!,
        entry_m5 ? P(REST*).
P("1o1",REST*):-!,
        box_3 << P("i1",REST*).
P("3i1",REST*):-!,
        box_1 << P("o1",REST*).
P("3o1",REST*):-!,
        box_4 << P("i1",REST*).
P("4i1",REST*):-!,
        box_3 << P("o1",REST*).
P("4o1",REST*):-!,
        box_5 << P("i1",REST*),
        box_7 << P("i1",REST*).
P("2o1",REST*):-!,
        box_7 << P("i2",REST*).
P("7i2",REST*):-!,
        box_2 << P("o1",REST*).
P("5o1",REST*):-!,
        box_7 << P("i1",REST*).
P("7o1",REST*):-!,
        entry_o1 ? P(REST*).
P("5i1",REST*):-!,
        box_4 << P("o1",REST*).
P("4m1",REST*):-!,
        entry_m3 ? P(REST*).
P("2m3",REST*):-!,
        entry_m3 ? P(REST*).
P("7i1",REST*):-!,
        entry_m1 ? P(REST*),
        box_5 << P("o1",REST*),
        box_4 << P("o1",REST*).
P("2m2",REST*):-!,
        entry_m1 ? P(REST*).
P("2i1",REST*):-!,
        entry_i3 ? P(REST*).
P("3i3",REST*):-!,
        entry_i3 ? P(REST*).
P("3m1",REST*):-!,
        entry_m3 ? P(REST*).
P("3m2",REST*):-!,
        entry_m1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*).
P("i2",REST*):-!,
        box_3 << P("i2",REST*).
P("i3",REST*):-!,
        box_2 << P("i1",REST*),
        box_3 << P("i3",REST*).
P("i4",REST*):-!,
        box_2 << P("i2",REST*).
P("m4",REST*):-!,
        box_2 << P("m1",REST*).
P("m3",REST*):-!,
        box_4 << P("m1",REST*),
        box_2 << P("m3",REST*),
        box_3 << P("m1",REST*).
P("m1",REST*):-!,
        box_7 << P("i1",REST*),
        box_2 << P("m2",REST*),
        box_3 << P("m2",REST*).
P("m5",REST*):-!,
        box_7 << P("m1",REST*).
P("o1",REST*):-!,
        box_7 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'JAM-MAKING' specializing 'COMPOUND_BLOCK':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_i4;
value_i4;
entry_m4;
value_m4;
entry_m3;
value_m3;
entry_m1;
value_m1;
entry_m5;
value_m5;
entry_o1;
value_o1;
box_1;
box_2;
box_3;
box_4;
box_5;
box_6;
box_7;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A2' specializing 'STERILIZE_JARS_AND_LIDS':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_m2;
value_m2;
entry_m3;
value_m3;
entry_o1;
value_o1;
link_1;
link_2;
link_3;
link_4;
box_1 = (('DIAGRAM-A21',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i2),
        value_i1 = value_i2,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_m2 = ('ARROW',
                host = self,
                entry = "1m2",
                value = value_m2),
        value_m2 = value_m2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_4),
        value_o1 = link_4));
box_2 = (('DIAGRAM-A22',
        container = self,
        entry_m1 = ('ARROW',
                host = self,
                entry = "2m1",
                value = value_m2),
        value_m1 = value_m2,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = link_3),
        value_o1 = link_3));
box_3 = (('DIAGRAM-A23',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_4),
        value_i1 = link_4,
        entry_i2 = ('ARROW',
                host = self,
                entry = "3i2",
                value = value_i1),
        value_i2 = value_i1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "3m1",
                value = value_m2),
        value_m1 = value_m2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = link_1),
        value_o1 = link_1));
box_4 = (('DIAGRAM-A24',
        container = self,
        entry_m1 = ('ARROW',
                host = self,
                entry = "4m1",
                value = link_3),
        value_m1 = link_3,
        entry_i1 = ('ARROW',
                host = self,
                entry = "4i1",
                value = link_4),
        value_i1 = link_4,
        entry_o1 = ('ARROW',
                host = self,
                entry = "4o1",
                value = link_2),
        value_o1 = link_2));
box_5 = (('DIAGRAM-A25',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "5i1",
                value = link_1),
        value_i1 = link_1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "5i2",
                value = link_2),
        value_i2 = link_2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "5o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "19/3/1999";
title = "A2: Sterilize jars and lids";
name = "Sterilize jars and lids";
number = 2;
model;
x = 14.43251;
y = 13.54224;
container;
con = ('REPORT',
        title = "A2: STERILIZE_JARS_AND_LIDS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3).
component(box_4).
component(box_5):-!.
"1i1"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"1m2"{|REST}:-!,
        entry_m2 ? 'message'{|REST},
        entry_m3 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_3 << "i1"{|REST},
        box_4 << "i1"{|REST}.
"3o1"{|REST}:-!,
        box_5 << "i1"{|REST}.
"5i1"{|REST}:-!,
        box_3 << "o1"{|REST}.
"4o1"{|REST}:-!,
        box_5 << "i2"{|REST}.
"5i2"{|REST}:-!,
        box_4 << "o1"{|REST}.
"2o1"{|REST}:-!,
        box_4 << "m1"{|REST}.
"4m1"{|REST}:-!,
        box_2 << "o1"{|REST}.
"5o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"3i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"3i2"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2m1"{|REST}:-!,
        entry_m3 ? 'message'{|REST}.
"2i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"4i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"3m1"{|REST}:-!,
        entry_m3 ? 'message'{|REST}.
"i2"{|REST}:-!,
        box_1 << "i1"{|REST}.
"i1"{|REST}:-!,
        box_3 << "i2"{|REST},
        box_2 << "i1"{|REST}.
"m1"{|REST}:-!,
        box_1 << "m1"{|REST}.
"m2"{|REST}:-!,
        box_1 << "m2"{|REST}.
"m3"{|REST}:-!,
        box_1 << "m2"{|REST},
        box_2 << "m1"{|REST},
        box_3 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_5 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i2 ? P(REST*).
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("1m2",REST*):-!,
        entry_m2 ? P(REST*),
        entry_m3 ? P(REST*).
P("1o1",REST*):-!,
        box_3 << P("i1",REST*),
        box_4 << P("i1",REST*).
P("3o1",REST*):-!,
        box_5 << P("i1",REST*).
P("5i1",REST*):-!,
        box_3 << P("o1",REST*).
P("4o1",REST*):-!,
        box_5 << P("i2",REST*).
P("5i2",REST*):-!,
        box_4 << P("o1",REST*).
P("2o1",REST*):-!,
        box_4 << P("m1",REST*).
P("4m1",REST*):-!,
        box_2 << P("o1",REST*).
P("5o1",REST*):-!,
        entry_o1 ? P(REST*).
P("3i1",REST*):-!,
        box_1 << P("o1",REST*).
P("3i2",REST*):-!,
        entry_i1 ? P(REST*).
P("2m1",REST*):-!,
        entry_m3 ? P(REST*).
P("2i1",REST*):-!,
        entry_i1 ? P(REST*).
P("4i1",REST*):-!,
        box_1 << P("o1",REST*).
P("3m1",REST*):-!,
        entry_m3 ? P(REST*).
P("i2",REST*):-!,
        box_1 << P("i1",REST*).
P("i1",REST*):-!,
        box_3 << P("i2",REST*),
        box_2 << P("i1",REST*).
P("m1",REST*):-!,
        box_1 << P("m1",REST*).
P("m2",REST*):-!,
        box_1 << P("m2",REST*).
P("m3",REST*):-!,
        box_1 << P("m2",REST*),
        box_2 << P("m1",REST*),
        box_3 << P("m1",REST*).
P("o1",REST*):-!,
        box_5 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'STERILIZE_JARS_AND_LIDS' specializing 'COMPOUND_BLOCK':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_m2;
value_m2;
entry_m3;
value_m3;
entry_o1;
value_o1;
box_1;
box_2;
box_3;
box_4;
box_5;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A4'
specializing 'BOIL_BERRIES_AND_FRUITS_WITH_SUGAR':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
value_o1;
box_1 = (('DIAGRAM-A41',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = value_o1),
        value_o1 = value_o1));
box_2 = (('DIAGRAM-A42',
        container = self,
        entry_m1 = ('ARROW',
                host = self,
                entry = "2m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "27/1/2003";
creation_date = "19/3/1999";
title = "A4: Boil berries and fruits with sugar";
name = "Boil berries and fruits with sugar";
number = 4;
model;
x = 35.32248;
y = 12.03768;
container;
con = ('REPORT',
        title = "A4: BOIL_BERRIES_AND_FRUITS_WITH_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2):-!.
"1o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"2o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"2i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST},
        box_2 << "i1"{|REST}.
"m1"{|REST}:-!,
        box_2 << "m1"{|REST},
        box_1 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_1 << "o1"{|REST},
        box_2 << "o1"{|REST}.
P("1o1",REST*):-!,
        entry_o1 ? P(REST*).
P("2o1",REST*):-!,
        entry_o1 ? P(REST*).
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("2m1",REST*):-!,
        entry_m1 ? P(REST*).
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("2i1",REST*):-!,
        entry_i1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*),
        box_2 << P("i1",REST*).
P("m1",REST*):-!,
        box_2 << P("m1",REST*),
        box_1 << P("m1",REST*).
P("o1",REST*):-!,
        box_1 << P("o1",REST*),
        box_2 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'BOIL_BERRIES_AND_FRUITS_WITH_SUGAR'
specializing 'COMPOUND_BLOCK':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
value_o1;
box_1;
box_2;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A41'
specializing 'BOILING_CYCLE_FOR_HARD_BERRIES_AND_FRUITS':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
value_o1;
link_1;
link_2;
link_3;
box_1 = (('DIAGRAM-A411',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "1i2",
                value = value_i1),
        value_i2 = value_i1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = link_1),
        value_i1 = link_1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_3),
        value_o1 = link_3,
        entry_o2 = ('ARROW',
                host = self,
                entry = "1o2",
                value = link_2),
        value_o2 = link_2));
box_2 = (('DIAGRAM-A412',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = link_3),
        value_i1 = link_3,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = link_1),
        value_o1 = link_1));
box_3 = (('DIAGRAM-A413',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_2),
        value_i1 = link_2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = link_1),
        value_o1 = link_1,
        entry_o2 = ('ARROW',
                host = self,
                entry = "3o2",
                value = value_o1),
        value_o2 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A41: Boiling cycle for hard berries and fruits";
name = "Boiling cycle for hard berries and fruits";
number = 1;
model;
x = 22.02915;
y = 10.34472;
container;
con = ('REPORT',
        title = "A41: BOILING_CYCLE_FOR_HARD_BERRIES_AND_FRUITS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3):-!.
"1i2"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_2 << "i1"{|REST}.
"2i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"1o2"{|REST}:-!,
        box_3 << "i1"{|REST}.
"3i1"{|REST}:-!,
        box_1 << "o2"{|REST}.
"2o1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"3o1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"3o2"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"1i1"{|REST}:-!,
        box_2 << "o1"{|REST},
        box_3 << "o1"{|REST}.
"i1"{|REST}:-!,
        box_1 << "i2"{|REST}.
"m1"{|REST}:-!,
        box_1 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_3 << "o2"{|REST}.
P("1i2",REST*):-!,
        entry_i1 ? P(REST*).
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("1o1",REST*):-!,
        box_2 << P("i1",REST*).
P("2i1",REST*):-!,
        box_1 << P("o1",REST*).
P("1o2",REST*):-!,
        box_3 << P("i1",REST*).
P("3i1",REST*):-!,
        box_1 << P("o2",REST*).
P("2o1",REST*):-!,
        box_1 << P("i1",REST*).
P("3o1",REST*):-!,
        box_1 << P("i1",REST*).
P("3o2",REST*):-!,
        entry_o1 ? P(REST*).
P("1i1",REST*):-!,
        box_2 << P("o1",REST*),
        box_3 << P("o1",REST*).
P("i1",REST*):-!,
        box_1 << P("i2",REST*).
P("m1",REST*):-!,
        box_1 << P("m1",REST*).
P("o1",REST*):-!,
        box_3 << P("o2",REST*).
]
------------------------------------------------------------------------
class 'DIAGRAM-A3' specializing 'PREPARE_BERRIES_AND_FRUITS':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_m2;
value_m2;
entry_m1;
value_m1;
entry_o1;
value_o1;
link_1;
box_1 = (('DIAGRAM-A31',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m2),
        value_m1 = value_m2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_1),
        value_o1 = link_1));
box_2 = (('DIAGRAM-A32',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "2i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i3 = ('ARROW',
                host = self,
                entry = "2i3",
                value = value_i3),
        value_i3 = value_i3,
        entry_m1 = ('ARROW',
                host = self,
                entry = "2m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = link_1),
        value_i1 = link_1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A3: Prepare berries and fruits";
name = "Prepare berries and fruits";
number = 3;
model;
x = 23.92752;
y = 7.71168;
container;
con = ('REPORT',
        title = "A3: PREPARE_BERRIES_AND_FRUITS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2):-!.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"2i3"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m2 ? 'message'{|REST}.
"2m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_2 << "i1"{|REST}.
"2i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"2o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"i2"{|REST}:-!,
        box_2 << "i2"{|REST}.
"i3"{|REST}:-!,
        box_2 << "i3"{|REST}.
"m2"{|REST}:-!,
        box_1 << "m1"{|REST}.
"m1"{|REST}:-!,
        box_2 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_2 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("2i2",REST*):-!,
        entry_i2 ? P(REST*).
P("2i3",REST*):-!,
        entry_i3 ? P(REST*).
P("1m1",REST*):-!,
        entry_m2 ? P(REST*).
P("2m1",REST*):-!,
        entry_m1 ? P(REST*).
P("1o1",REST*):-!,
        box_2 << P("i1",REST*).
P("2i1",REST*):-!,
        box_1 << P("o1",REST*).
P("2o1",REST*):-!,
        entry_o1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*).
P("i2",REST*):-!,
        box_2 << P("i2",REST*).
P("i3",REST*):-!,
        box_2 << P("i3",REST*).
P("m2",REST*):-!,
        box_1 << P("m1",REST*).
P("m1",REST*):-!,
        box_2 << P("m1",REST*).
P("o1",REST*):-!,
        box_2 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'PREPARE_BERRIES_AND_FRUITS'
specializing 'COMPOUND_BLOCK':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_m2;
value_m2;
entry_m1;
value_m1;
entry_o1;
value_o1;
box_1;
box_2;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A32' specializing 'PREPARE_SUGAR_MIXTURE':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_m1;
value_m1;
entry_o1;
value_o1;
box_1 = (('DIAGRAM-A321',
        container = self,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "1i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i3 = ('ARROW',
                host = self,
                entry = "1i3",
                value = value_o1),
        value_i3 = value_o1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = value_o1),
        value_o1 = value_o1));
box_2 = (('DIAGRAM-A322',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "2i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i3 = ('ARROW',
                host = self,
                entry = "2i3",
                value = value_o1),
        value_i3 = value_o1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = value_o1),
        value_o1 = value_o1));
box_3 = (('DIAGRAM-A323',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "3i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A32: Prepare sugar mixture";
name = "Prepare sugar mixture";
number = 2;
model;
x = 42.53834;
y = 17.49216;
container;
con = ('REPORT',
        title = "A32: PREPARE_SUGAR_MIXTURE",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3):-!.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"2o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"3o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"1i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"1i3"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"2i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"2i3"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"3i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"3i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST},
        box_2 << "i1"{|REST},
        box_3 << "i1"{|REST}.
"i2"{|REST}:-!,
        box_1 << "i2"{|REST},
        box_2 << "i2"{|REST},
        box_3 << "i2"{|REST}.
"i3"{|REST}:-!,
        box_1 << "i3"{|REST},
        entry_o1 ? 'message'{|REST},
        box_2 << "i3"{|REST}.
"m1"{|REST}:-!,
        box_1 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_3 << "o1"{|REST},
        entry_i3 ? 'message'{|REST},
        box_1 << "o1"{|REST},
        box_2 << "o1"{|REST}.
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("1o1",REST*):-!,
        entry_o1 ? P(REST*).
P("2o1",REST*):-!,
        entry_o1 ? P(REST*).
P("3o1",REST*):-!,
        entry_o1 ? P(REST*).
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("1i2",REST*):-!,
        entry_i2 ? P(REST*).
P("1i3",REST*):-!,
        entry_i3 ? P(REST*).
P("2i1",REST*):-!,
        entry_i1 ? P(REST*).
P("2i2",REST*):-!,
        entry_i2 ? P(REST*).
P("2i3",REST*):-!,
        entry_i3 ? P(REST*).
P("3i2",REST*):-!,
        entry_i2 ? P(REST*).
P("3i1",REST*):-!,
        entry_i1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*),
        box_2 << P("i1",REST*),
        box_3 << P("i1",REST*).
P("i2",REST*):-!,
        box_1 << P("i2",REST*),
        box_2 << P("i2",REST*),
        box_3 << P("i2",REST*).
P("i3",REST*):-!,
        box_1 << P("i3",REST*),
        entry_o1 ? P(REST*),
        box_2 << P("i3",REST*).
P("m1",REST*):-!,
        box_1 << P("m1",REST*).
P("o1",REST*):-!,
        box_3 << P("o1",REST*),
        entry_i3 ? P(REST*),
        box_1 << P("o1",REST*),
        box_2 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'PREPARE_SUGAR_MIXTURE' specializing 'COMPOUND_BLOCK':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_m1;
value_m1;
entry_o1;
value_o1;
box_1;
box_2;
box_3;
title;
name;
number;
model;
x;
y;
container;
con;
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A321'
specializing 'PREPARE_SOME_MIXTURE_OF_HARD_BERRIES_AND_SUGAR':
entry_i3;
value_i3;
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_m1;
value_m1;
entry_o1;
value_o1;
link_1;
link_2;
link_3;
box_1 = (('DIAGRAM-A3211',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i3),
        value_i1 = value_i3,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_3),
        value_o1 = link_3));
box_2 = (('DIAGRAM-A3212',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "2i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = value_i3),
        value_i1 = value_i3,
        entry_m1 = ('ARROW',
                host = self,
                entry = "2m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = link_2),
        value_o1 = link_2));
box_3 = (('DIAGRAM-A3213',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "3i2",
                value = value_i1),
        value_i2 = value_i1,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_3),
        value_i1 = link_3,
        entry_m1 = ('ARROW',
                host = self,
                entry = "3m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = link_1),
        value_o1 = link_1));
box_4 = (('DIAGRAM-A3214',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "4i1",
                value = link_1),
        value_i1 = link_1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "4i2",
                value = link_2),
        value_i2 = link_2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "4o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A321: Prepare some mixture of hard berries and sugar";
name = "Prepare some mixture of hard berries and sugar";
number = 1;
model;
x = 20.12999;
y = 7.8996;
container;
con = ('REPORT',
        title = "A321: PREPARE_SOME_MIXTURE_OF_HARD_BERRIES_AND_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3).
component(box_4):-!.
"3i2"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_3 << "i1"{|REST}.
"3i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"3o1"{|REST}:-!,
        box_4 << "i1"{|REST}.
"4i1"{|REST}:-!,
        box_3 << "o1"{|REST}.
"2o1"{|REST}:-!,
        box_4 << "i2"{|REST}.
"4i2"{|REST}:-!,
        box_2 << "o1"{|REST}.
"4o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"1i1"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"3m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"2i1"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"2m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"i3"{|REST}:-!,
        box_1 << "i1"{|REST},
        box_2 << "i1"{|REST}.
"i1"{|REST}:-!,
        box_3 << "i2"{|REST}.
"i2"{|REST}:-!,
        box_2 << "i2"{|REST}.
"m1"{|REST}:-!,
        box_3 << "m1"{|REST},
        box_1 << "m1"{|REST},
        box_2 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_4 << "o1"{|REST}.
P("3i2",REST*):-!,
        entry_i1 ? P(REST*).
P("2i2",REST*):-!,
        entry_i2 ? P(REST*).
P("1o1",REST*):-!,
        box_3 << P("i1",REST*).
P("3i1",REST*):-!,
        box_1 << P("o1",REST*).
P("3o1",REST*):-!,
        box_4 << P("i1",REST*).
P("4i1",REST*):-!,
        box_3 << P("o1",REST*).
P("2o1",REST*):-!,
        box_4 << P("i2",REST*).
P("4i2",REST*):-!,
        box_2 << P("o1",REST*).
P("4o1",REST*):-!,
        entry_o1 ? P(REST*).
P("1i1",REST*):-!,
        entry_i3 ? P(REST*).
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("3m1",REST*):-!,
        entry_m1 ? P(REST*).
P("2i1",REST*):-!,
        entry_i3 ? P(REST*).
P("2m1",REST*):-!,
        entry_m1 ? P(REST*).
P("i3",REST*):-!,
        box_1 << P("i1",REST*),
        box_2 << P("i1",REST*).
P("i1",REST*):-!,
        box_3 << P("i2",REST*).
P("i2",REST*):-!,
        box_2 << P("i2",REST*).
P("m1",REST*):-!,
        box_3 << P("m1",REST*),
        box_1 << P("m1",REST*),
        box_2 << P("m1",REST*).
P("o1",REST*):-!,
        box_4 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'DIAGRAM-A322'
specializing 'PREPARE_SOME_MIXTURE_OF_LARGE_FRUITS_AND_SUGAR':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_i3;
value_i3;
entry_o1;
value_o1;
link_1;
link_2;
link_3;
box_1 = (('DIAGRAM-A3221',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_3),
        value_o1 = link_3));
box_2 = (('DIAGRAM-A3222',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "2i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = link_3),
        value_i1 = link_3,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = link_2),
        value_o1 = link_2));
box_3 = (('DIAGRAM-A3223',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_2),
        value_i1 = link_2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = link_1),
        value_o1 = link_1));
box_4 = (('DIAGRAM-A3224',
        container = self,
        entry_i2 = ('ARROW',
                host = self,
                entry = "4i2",
                value = value_i3),
        value_i2 = value_i3,
        entry_i1 = ('ARROW',
                host = self,
                entry = "4i1",
                value = link_1),
        value_i1 = link_1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "4o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A322: Prepare some mixture of large fruits and sugar";
name = "Prepare some mixture of large fruits and sugar";
number = 2;
model;
x = 33.80252;
y = 13.7304;
container;
con = ('REPORT',
        title = "A322: PREPARE_SOME_MIXTURE_OF_LARGE_FRUITS_AND_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3).
component(box_4):-!.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"2i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"4i2"{|REST}:-!,
        entry_i3 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_2 << "i1"{|REST}.
"2i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"2o1"{|REST}:-!,
        box_3 << "i1"{|REST}.
"3i1"{|REST}:-!,
        box_2 << "o1"{|REST}.
"3o1"{|REST}:-!,
        box_4 << "i1"{|REST}.
"4i1"{|REST}:-!,
        box_3 << "o1"{|REST}.
"4o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"i2"{|REST}:-!,
        box_2 << "i2"{|REST}.
"i3"{|REST}:-!,
        box_4 << "i2"{|REST}.
"o1"{|REST}:-!,
        box_4 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("2i2",REST*):-!,
        entry_i2 ? P(REST*).
P("4i2",REST*):-!,
        entry_i3 ? P(REST*).
P("1o1",REST*):-!,
        box_2 << P("i1",REST*).
P("2i1",REST*):-!,
        box_1 << P("o1",REST*).
P("2o1",REST*):-!,
        box_3 << P("i1",REST*).
P("3i1",REST*):-!,
        box_2 << P("o1",REST*).
P("3o1",REST*):-!,
        box_4 << P("i1",REST*).
P("4i1",REST*):-!,
        box_3 << P("o1",REST*).
P("4o1",REST*):-!,
        entry_o1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*).
P("i2",REST*):-!,
        box_2 << P("i2",REST*).
P("i3",REST*):-!,
        box_4 << P("i2",REST*).
P("o1",REST*):-!,
        box_4 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'DIAGRAM-A323'
specializing 'PREPARE_SOME_MIXTURE_OF_SOFT_BERRIES_AND_SUGAR':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_o1;
value_o1;
link_1;
box_1 = (('DIAGRAM-A3231',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_i2 = ('ARROW',
                host = self,
                entry = "1i2",
                value = value_i2),
        value_i2 = value_i2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_1),
        value_o1 = link_1));
box_2 = (('DIAGRAM-A3232',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = link_1),
        value_i1 = link_1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A323: Prepare some mixture of soft berries and sugar";
name = "Prepare some mixture of soft berries and sugar";
number = 3;
model;
x = 42.91833;
y = 19.18488;
container;
con = ('REPORT',
        title = "A323: PREPARE_SOME_MIXTURE_OF_SOFT_BERRIES_AND_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2):-!.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"1i2"{|REST}:-!,
        entry_i2 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_2 << "i1"{|REST}.
"2i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"2o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"i2"{|REST}:-!,
        box_1 << "i2"{|REST}.
"o1"{|REST}:-!,
        box_2 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("1i2",REST*):-!,
        entry_i2 ? P(REST*).
P("1o1",REST*):-!,
        box_2 << P("i1",REST*).
P("2i1",REST*):-!,
        box_1 << P("o1",REST*).
P("2o1",REST*):-!,
        entry_o1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*).
P("i2",REST*):-!,
        box_1 << P("i2",REST*).
P("o1",REST*):-!,
        box_2 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'DIAGRAM-A42'
specializing 'BOILING_CYCLE_FOR_SOFT_BERRIES_AND_FRUITS':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
value_o1;
link_1;
link_2;
box_1 = (('DIAGRAM-A421',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "1i1",
                value = value_i1),
        value_i1 = value_i1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "1m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "1o1",
                value = link_2),
        value_o1 = link_2));
box_2 = (('DIAGRAM-A422',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "2i1",
                value = link_2),
        value_i1 = link_2,
        entry_o1 = ('ARROW',
                host = self,
                entry = "2o1",
                value = value_o1),
        value_o1 = value_o1,
        entry_o2 = ('ARROW',
                host = self,
                entry = "2o2",
                value = link_1),
        value_o2 = link_1));
box_3 = (('DIAGRAM-A423',
        container = self,
        entry_i1 = ('ARROW',
                host = self,
                entry = "3i1",
                value = link_1),
        value_i1 = link_1,
        entry_m1 = ('ARROW',
                host = self,
                entry = "3m1",
                value = value_m1),
        value_m1 = value_m1,
        entry_o1 = ('ARROW',
                host = self,
                entry = "3o1",
                value = value_o1),
        value_o1 = value_o1));
status = "PUBLICATION";
revision_date = "28/1/2003";
creation_date = "2/4/1999";
title = "A42: Boiling cycle for soft berries and fruits";
name = "Boiling cycle for soft berries and fruits";
number = 2;
model;
x = 46.33666;
y = 16.73976;
container;
con = ('REPORT',
        title = "A42: BOILING_CYCLE_FOR_SOFT_BERRIES_AND_FRUITS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
--
component(box_1).
component(box_2).
component(box_3):-!.
"1i1"{|REST}:-!,
        entry_i1 ? 'message'{|REST}.
"1o1"{|REST}:-!,
        box_2 << "i1"{|REST}.
"2i1"{|REST}:-!,
        box_1 << "o1"{|REST}.
"2o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"2o2"{|REST}:-!,
        box_3 << "i1"{|REST}.
"3i1"{|REST}:-!,
        box_2 << "o2"{|REST}.
"3o1"{|REST}:-!,
        entry_o1 ? 'message'{|REST}.
"1m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"3m1"{|REST}:-!,
        entry_m1 ? 'message'{|REST}.
"i1"{|REST}:-!,
        box_1 << "i1"{|REST}.
"m1"{|REST}:-!,
        box_1 << "m1"{|REST},
        box_3 << "m1"{|REST}.
"o1"{|REST}:-!,
        box_2 << "o1"{|REST},
        box_3 << "o1"{|REST}.
P("1i1",REST*):-!,
        entry_i1 ? P(REST*).
P("1o1",REST*):-!,
        box_2 << P("i1",REST*).
P("2i1",REST*):-!,
        box_1 << P("o1",REST*).
P("2o1",REST*):-!,
        entry_o1 ? P(REST*).
P("2o2",REST*):-!,
        box_3 << P("i1",REST*).
P("3i1",REST*):-!,
        box_2 << P("o2",REST*).
P("3o1",REST*):-!,
        entry_o1 ? P(REST*).
P("1m1",REST*):-!,
        entry_m1 ? P(REST*).
P("3m1",REST*):-!,
        entry_m1 ? P(REST*).
P("i1",REST*):-!,
        box_1 << P("i1",REST*).
P("m1",REST*):-!,
        box_1 << P("m1",REST*),
        box_3 << P("m1",REST*).
P("o1",REST*):-!,
        box_2 << P("o1",REST*),
        box_3 << P("o1",REST*).
]
------------------------------------------------------------------------
class 'DIAGRAM-A1' specializing 'CHOOSE_BERRIES_AND_FRUITS':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A1: Choose berries and fruits";
name = "Choose berries and fruits";
number = 1;
model;
x = 9.11502;
y = 3.94992;
container;
con = ('REPORT',
        title = "A1: CHOOSE_BERRIES_AND_FRUITS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A5' specializing 'COOL_JAM':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A5: Cool jam";
name = "Cool jam";
number = 5;
model;
x = 48.99501;
y = 15.98736;
container;
con = ('REPORT',
        title = "A5: COOL_JAM",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A6'
specializing 'ANALYSIS_OF_MODEL:_WHAT_KITCHEN_UTENSILS_ARE_WE_NEED?':
title = "A6: Analysis of model: What kitchen utensils are we need?";
name = "Analysis of model: What kitchen utensils are we need?";
number = 6;
model;
x = 56.97085;
y = 5.45448;
container;
con = ('REPORT',
        title = "A6: ANALYSIS_OF_MODEL:_WHAT_KITCHEN_UTENSILS_ARE_WE_NEED?",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A7' specializing 'POUR_JAM_INTO_JARS':
entry_m1;
value_m1;
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A7: Pour jam into jars";
name = "Pour jam into jars";
number = 7;
model;
x = 64.1875;
y = 20.31336;
container;
con = ('REPORT',
        title = "A7: POUR_JAM_INTO_JARS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A21' specializing 'WASH_UP_JARS_AND_LIDS':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_m2;
value_m2;
entry_o1;
protecting: value_o1;
title = "A21: Wash up jars and lids";
name = "Wash up jars and lids";
number = 1;
model;
x = 9.49501;
y = 6.58296;
container;
con = ('REPORT',
        title = "A21: WASH_UP_JARS_AND_LIDS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A22'
specializing 'BOIL_SOME_WATER_IN_A_KETTLE':
entry_m1;
value_m1;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A22: Boil some water in a kettle";
name = "Boil some water in a kettle";
number = 2;
model;
x = 22.78834;
y = 18.0564;
container;
con = ('REPORT',
        title = "A22: BOIL_SOME_WATER_IN_A_KETTLE",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A23'
specializing 'CLEANSE_LIDS_BY_BOILING_WATER':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A23: Cleanse lids by boiling water";
name = "Cleanse lids by boiling water";
number = 3;
model;
x = 34.18251;
y = 10.53288;
container;
con = ('REPORT',
        title = "A23: CLEANSE_LIDS_BY_BOILING_WATER",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A24'
specializing 'CLEANSE_JAM-JARS_BY_BOILED_WATER':
entry_m1;
value_m1;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A24: Cleanse jam-jars by boiled water";
name = "Cleanse jam-jars by boiled water";
number = 4;
model;
x = 42.91833;
y = 15.42312;
container;
con = ('REPORT',
        title = "A24: CLEANSE_JAM-JARS_BY_BOILED_WATER",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A25' specializing 'DRY_JAM-JARS_AND_LIDS':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_o1;
protecting: value_o1;
title = "A25: Dry jam-jars and lids";
name = "Dry jam-jars and lids";
number = 5;
model;
x = 60.76917;
y = 19.93728;
container;
con = ('REPORT',
        title = "A25: DRY_JAM-JARS_AND_LIDS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A411' specializing 'HEAT_THE_MIXTURE':
entry_i2;
value_i2;
entry_m1;
value_m1;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
entry_o2;
protecting: value_o2;
title = "A411: Heat the mixture";
name = "Heat the mixture";
number = 1;
model;
x = 12.91334;
y = 7.33536;
container;
con = ('REPORT',
        title = "A411: HEAT_THE_MIXTURE",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A412' specializing 'SUSPEND_THE_PROCESS':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A412: Suspend the process";
name = "Suspend the process";
number = 2;
model;
x = 39.5;
y = 13.54224;
container;
con = ('REPORT',
        title = "A412: SUSPEND_THE_PROCESS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A413' specializing 'CHECK_IF_JAM_IS_READY':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
entry_o2;
protecting: value_o2;
title = "A413: Check if jam is ready";
name = "Check if jam is ready";
number = 3;
model;
x = 47.85583;
y = 19.18488;
container;
con = ('REPORT',
        title = "A413: CHECK_IF_JAM_IS_READY",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A31' specializing 'WASH_BERRIES_AND_FRUITS':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A31: Wash berries and fruits";
name = "Wash berries and fruits";
number = 1;
model;
x = 18.23083;
y = 10.1568;
container;
con = ('REPORT',
        title = "A31: WASH_BERRIES_AND_FRUITS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3211'
specializing 'BOIL_SOME_WATER_IN_THE_SAUCEPAN':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A3211: Boil some water in the saucepan";
name = "Boil some water in the saucepan";
number = 1;
model;
x = 10.25499;
y = 6.77112;
container;
con = ('REPORT',
        title = "A3211: BOIL_SOME_WATER_IN_THE_SAUCEPAN",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3212' specializing 'PREPARE_SOME_SYRUP':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A3212: Prepare some syrup";
name = "Prepare some syrup";
number = 2;
model;
x = 19.75;
y = 17.304;
container;
con = ('REPORT',
        title = "A3212: PREPARE_SOME_SYRUP",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3213' specializing 'BLANCH_BERRIES':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A3213: Blanch berries";
name = "Blanch berries";
number = 3;
model;
x = 32.28335;
y = 11.28528;
container;
con = ('REPORT',
        title = "A3213: BLANCH_BERRIES",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3214' specializing 'PUT_BERRIES_IN_SYRUP':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_o1;
protecting: value_o1;
title = "A3214: Put berries in syrup";
name = "Put berries in syrup";
number = 4;
model;
x = 55.83167;
y = 19.18488;
container;
con = ('REPORT',
        title = "A3214: PUT_BERRIES_IN_SYRUP",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3221' specializing 'CUT_FRUITS_INTO_LOBULES':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A3221: Cut fruits into lobules";
name = "Cut fruits into lobules";
number = 1;
model;
x = 10.25499;
y = 6.77112;
container;
con = ('REPORT',
        title = "A3221: CUT_FRUITS_INTO_LOBULES",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3222' specializing 'SPRINKLE_WITH_SUGAR':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A3222: Sprinkle with sugar";
name = "Sprinkle with sugar";
number = 2;
model;
x = 23.92752;
y = 11.09712;
container;
con = ('REPORT',
        title = "A3222: SPRINKLE_WITH_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3223'
specializing 'SUSPEND_THE_PROCESS_FOR_6-8_HOURS':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A3223: Suspend the process for 6-8 hours";
name = "Suspend the process for 6-8 hours";
number = 3;
model;
x = 38.36082;
y = 16.17552;
container;
con = ('REPORT',
        title = "A3223: SUSPEND_THE_PROCESS_FOR_6-8_HOURS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3224'
specializing 'ADD_SOME_WATER_IN_THE_MIXTURE':
entry_i2;
value_i2;
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A3224: Add some water in the mixture";
name = "Add some water in the mixture";
number = 4;
model;
x = 54.69249;
y = 20.31336;
container;
con = ('REPORT',
        title = "A3224: ADD_SOME_WATER_IN_THE_MIXTURE",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3231' specializing 'SPRINKLE_WITH_SUGAR':
entry_i1;
value_i1;
entry_i2;
value_i2;
entry_o1;
protecting: value_o1;
title = "A3231: Sprinkle with sugar";
name = "Sprinkle with sugar";
number = 1;
model;
x = 15.95168;
y = 9.96864;
container;
con = ('REPORT',
        title = "A3231: SPRINKLE_WITH_SUGAR",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A3232'
specializing 'SUSPEND_THE_PROCESS_FOR_6-8_HOURS':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
title = "A3232: Suspend the process for 6-8 hours";
name = "Suspend the process for 6-8 hours";
number = 2;
model;
x = 45.57668;
y = 17.49216;
container;
con = ('REPORT',
        title = "A3232: SUSPEND_THE_PROCESS_FOR_6-8_HOURS",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A421' specializing 'MAIN_PHASE_OF_BOILING':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A421: Main phase of boiling";
name = "Main phase of boiling";
number = 1;
model;
x = 12.15415;
y = 7.8996;
container;
con = ('REPORT',
        title = "A421: MAIN_PHASE_OF_BOILING",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A422' specializing 'CHECK_IF_JAM_IS_READY':
entry_i1;
value_i1;
entry_o1;
protecting: value_o1;
entry_o2;
protecting: value_o2;
title = "A422: Check if jam is ready";
name = "Check if jam is ready";
number = 2;
model;
x = 31.14417;
y = 12.79008;
container;
con = ('REPORT',
        title = "A422: CHECK_IF_JAM_IS_READY",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'DIAGRAM-A423'
specializing 'SUPPLEMENTARY_PHASE_OF_BOILING':
entry_i1;
value_i1;
entry_m1;
value_m1;
entry_o1;
protecting: value_o1;
title = "A423: Supplementary phase of boiling";
name = "Supplementary phase of boiling";
number = 3;
model;
x = 50.89417;
y = 18.62064;
container;
con = ('REPORT',
        title = "A423: SUPPLEMENTARY_PHASE_OF_BOILING",
        x = x,
        y = y,
        width = 37,
        height = 9);
[
]
------------------------------------------------------------------------
class 'ARROW' specializing 'ALPHA':
host;
entry;
value;
[
--
goal:-!.
'link'{|REST}:-!,
        value == REST.
'message'{|REST}:-!,
        host << {0:entry|REST}.
P(REST*):-
        host << P(entry,REST*).
]
------------------------------------------------------------------------
class 'DUMMY':
con = ('CONSOLE');
[
--
goal.
_{sender:NAME|_}:-
        con ? writeln("Syntax error: dummy link with ",NAME),
        fail.
]
------------------------------------------------------------------------