------------------------------------------------------------------------ -- A-Prolog Version 1.0, Written by Alexei A. Morozov -- -- -- -- File C:\WINDOWS\TEMP\A-PROLOG.LOG -- -- created 26-08-2002 00:34:23 -- -- Source no_source_file -- -- Library C:\WINDOWS\TEMP\A-PROLOG.BIN -- ------------------------------------------------------------------------ package "D:\\MOROZOV\\Z\\DEMO\\EXE\\EXAMPLES\\SADT\\JAM\\JAM": project: (('MODEL', project_name = "Model 2", creation_date = "19/3/1999", title = "ПРИГОТОВЛЕНИЕ ВАРЕНЬЯ", language_version = "1.2.8")) ------------------------------------------------------------------------ class 'Выбрать_ягоды_и_фрукты' specializing 'DIALOG': value_o1; identifier = "ChooseFruits"; [ ] ------------------------------------------------------------------------ class 'Вымыть_банки_и_крышки' specializing 'SIMPLE_BLOCK': [] ------------------------------------------------------------------------ class 'Вскипятить_воду_в_чайнике' specializing 'SIMPLE_BLOCK': [ instrument = "Чайник". ] ------------------------------------------------------------------------ class 'Обработать_крышки_кипятком' specializing 'SIMPLE_BLOCK': [ instrument = "Кастрюля для кипячения воды". ] ------------------------------------------------------------------------ class 'Обработать_банки_кипятком' specializing 'SIMPLE_BLOCK': [ instrument = "Чайник". ] ------------------------------------------------------------------------ class 'Просушить_банки_и_крышки' specializing 'SIMPLE_BLOCK': [] ------------------------------------------------------------------------ class 'Вымыть_ягоды_и_фрукты' specializing 'SIMPLE_BLOCK': value_i1; protecting: value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Дуршлаг". ] ------------------------------------------------------------------------ class 'Подготовить_смесь_из_твёрдых_ягод_и_сахара' specializing 'COMPOUND_BLOCK': value_i1; [ goal:-!, check_fruits(value_i1). -- check_fruits("Чёрная рябина"). ] ------------------------------------------------------------------------ class 'Подготовить_смесь_из_крупных_фруктов_и_сахара' specializing 'COMPOUND_BLOCK': value_i1; [ goal:-!, check_fruits(value_i1). -- check_fruits("Яблоки \"Антоновка\""). ] ------------------------------------------------------------------------ class 'Подготовить_смесь_из_мягких_ягод_и_сахара' specializing 'COMPOUND_BLOCK': value_i1; [ goal:-!, check_fruits(value_i1). -- check_fruits("Земляника"). ] ------------------------------------------------------------------------ class 'Вскипятить_воду_в_кастрюле' specializing 'SIMPLE_BLOCK': [ instrument = "Кастрюля для кипячения воды". ] ------------------------------------------------------------------------ class 'Приготовить_сироп' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Кастрюля или медная миска". instrument = "Деревянная ложка". ] ------------------------------------------------------------------------ class 'Бланшировать_ягоды' specializing 'SIMPLE_BLOCK': value_i2; value_o1; [ goal:-!, value_o1 == value_i2. -- instrument = "Дуршлаг". instrument = "Кастрюля для кипячения воды". ] ------------------------------------------------------------------------ class 'Положить_ягоды_в_сироп' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Порезать_на_дольки' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Нож из нержавеющей стали". ] ------------------------------------------------------------------------ class 'Пересыпать_сахаром' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Выстаивать_6-8_часов' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Добавить_в_смесь_воду' specializing 'SIMPLE_BLOCK': value_i1; value_o1; [ goal:-!, value_o1 == value_i1. -- instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Цикл_варки_твёрдых_ягод_и_фруктов' specializing 'COMPOUND_BLOCK': value_i1; [ goal:-!, check_fruits(value_i1). -- check_fruits("Чёрная рябина"). check_fruits("Яблоки \"Антоновка\""). ] ------------------------------------------------------------------------ class 'Цикл_варки_мягких_ягод_и_фруктов' specializing 'COMPOUND_BLOCK': value_i1; [ goal:-!, check_fruits(value_i1). -- check_fruits("Земляника"). ] ------------------------------------------------------------------------ class 'Нагреть_смесь' specializing 'DIALOG': value_i2; time; identifier = "HeatUpMixture"; fruits = value_i2; [ goal:-!, set_time(value_i2,time). -- set_time(#,"3-5"):-!. set_time("Чёрная рябина","3"):-!. set_time("Яблоки \"Антоновка\"",5):-!. set_time("Земляника","---"):-!. set_time(_,"3-5"):-!. -- instrument = "Кастрюля или медная миска". instrument = "Деревянная ложка". ] ------------------------------------------------------------------------ class 'Выстаивание' specializing 'SIMPLE_BLOCK': [ instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Проверить_готовность_варенья' specializing 'SIMPLE_BLOCK': [ instrument = "Деревянная ложка". instrument = "Блюдце". ] ------------------------------------------------------------------------ class 'Основной_этап_варки' specializing 'DIALOG': value_i1; time; identifier = "HeatUpMixture"; fruits = value_i1; [ goal:-!, set_time(value_i1,time). -- set_time(#,"---"):-!. set_time("Земляника","10"):-!. set_time(_,"---"):-!. -- instrument = "Кастрюля или медная миска". instrument = "Деревянная ложка". ] ------------------------------------------------------------------------ class 'Дополнительный_этап_варки' specializing 'SIMPLE_BLOCK': [ instrument = "Кастрюля или медная миска". instrument = "Деревянная ложка". ] ------------------------------------------------------------------------ class 'Охладить_варенье' specializing 'SIMPLE_BLOCK': [ instrument = "Кастрюля или медная миска". ] ------------------------------------------------------------------------ class 'Разлить_варенье_в_банки' specializing 'SIMPLE_BLOCK': [ instrument = "Деревянная ложка". instrument = "Машинка для закатки". ] ------------------------------------------------------------------------ class 'Проверить_готовность_варенья_(твёрдые_ягоды_и_фрукты)' specializing 'SIMPLE_BLOCK': [ instrument = "Блюдце". ] ------------------------------------------------------------------------ class 'Проверить_готовность_варенья_(мягкие_ягоды)' specializing 'SIMPLE_BLOCK': [ instrument = "Блюдце". ] ------------------------------------------------------------------------ class 'SIMPLE_BLOCK': [ goal. -- show(_). ] ------------------------------------------------------------------------ class 'Анализ_модели:_Какие_необходимы_посуда_и_инструменты?' 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 = "Model 2"; [ ] ------------------------------------------------------------------------ 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "19/3/1999"; title = "A-0"; name = "A-0"; number = 'root'; model; x = 40.0; y = 19.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 'ПРИГОТОВЛЕНИЕ_ВАРЕНЬЯ': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "19/3/1999"; title = "A0: ПРИГОТОВЛЕНИЕ ВАРЕНЬЯ"; name = "ПРИГОТОВЛЕНИЕ ВАРЕНЬЯ"; number = 0; model; x = 26.20667; y = 15.79944; container; con = ('REPORT', title = "A0: ПРИГОТОВЛЕНИЕ_ВАРЕНЬЯ", 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 'ПРИГОТОВЛЕНИЕ_ВАРЕНЬЯ' 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 'Стерилизовать_банки_и_крышки': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "19/3/1999"; title = "A2: Стерилизовать банки и крышки"; name = "Стерилизовать банки и крышки"; number = 2; model; x = 14.43251; y = 13.54224; container; con = ('REPORT', title = "A2: Стерилизовать_банки_и_крышки", 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 'Стерилизовать_банки_и_крышки' 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 'Варка': 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 = "WORKING"; revision_date = "25/12/2000"; creation_date = "19/3/1999"; title = "A4: Варка"; name = "Варка"; number = 4; model; x = 35.32248; y = 12.03768; container; con = ('REPORT', title = "A4: Варка", 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 'Варка' 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 'Цикл_варки_твёрдых_ягод_и_фруктов': 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 = "WORKING"; revision_date = "25/12/2000"; creation_date = "2/4/1999"; title = "A41: Цикл варки твёрдых ягод и фруктов"; name = "Цикл варки твёрдых ягод и фруктов"; number = 1; model; x = 22.02915; y = 10.34472; container; con = ('REPORT', title = "A41: Цикл_варки_твёрдых_ягод_и_фруктов", 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 'Подготовить_ягоды_и_фрукты': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "2/4/1999"; title = "A3: Подготовить ягоды и фрукты"; name = "Подготовить ягоды и фрукты"; number = 3; model; x = 23.92752; y = 7.71168; container; con = ('REPORT', title = "A3: Подготовить_ягоды_и_фрукты", 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 'Подготовить_ягоды_и_фрукты' 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 'Подготовить_сахарную_смесь': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "2/4/1999"; title = "A32: Подготовить сахарную смесь"; name = "Подготовить сахарную смесь"; number = 2; model; x = 42.53834; y = 17.49216; container; con = ('REPORT', title = "A32: Подготовить_сахарную_смесь", 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 'Подготовить_сахарную_смесь' 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 'Подготовить_смесь_из_твёрдых_ягод_и_сахара': 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 = "WORKING"; revision_date = "24/8/2002"; creation_date = "2/4/1999"; title = "A321: Подготовить смесь из твёрдых ягод и сахара"; name = "Подготовить смесь из твёрдых ягод и сахара"; number = 1; model; x = 20.12999; y = 7.8996; container; con = ('REPORT', title = "A321: Подготовить_смесь_из_твёрдых_ягод_и_сахара", 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 'Подготовить_смесь_из_крупных_фруктов_и_сахара': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "2/4/1999"; title = "A322: Подготовить смесь из крупных фруктов и сахара"; name = "Подготовить смесь из крупных фруктов и сахара"; number = 2; model; x = 33.80252; y = 13.7304; container; con = ('REPORT', title = "A322: Подготовить_смесь_из_крупных_фруктов_и_сахара", 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 'Подготовить_смесь_из_мягких_ягод_и_сахара': 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 = "WORKING"; revision_date = "10/6/1999"; creation_date = "2/4/1999"; title = "A323: Подготовить смесь из мягких ягод и сахара"; name = "Подготовить смесь из мягких ягод и сахара"; number = 3; model; x = 42.91833; y = 19.18488; container; con = ('REPORT', title = "A323: Подготовить_смесь_из_мягких_ягод_и_сахара", 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 'Цикл_варки_мягких_ягод_и_фруктов': 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 = "WORKING"; revision_date = "5/10/2000"; creation_date = "2/4/1999"; title = "A42: Цикл варки мягких ягод и фруктов"; name = "Цикл варки мягких ягод и фруктов"; number = 2; model; x = 46.33666; y = 16.73976; container; con = ('REPORT', title = "A42: Цикл_варки_мягких_ягод_и_фруктов", 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 'Выбрать_ягоды_и_фрукты': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A1: Выбрать ягоды и фрукты"; name = "Выбрать ягоды и фрукты"; number = 1; model; x = 9.11502; y = 3.94992; container; con = ('REPORT', title = "A1: Выбрать_ягоды_и_фрукты", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A5' specializing 'Охладить_варенье': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A5: Охладить варенье"; name = "Охладить варенье"; number = 5; model; x = 48.99501; y = 15.98736; container; con = ('REPORT', title = "A5: Охладить_варенье", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A6' specializing 'Анализ_модели:_Какие_необходимы_посуда_и_инструменты?': title = "A6: Анализ модели: Какие необходимы посуда и инструменты?"; name = "Анализ модели: Какие необходимы посуда и инструменты?"; number = 6; model; x = 56.97085; y = 5.45448; container; con = ('REPORT', title = "A6: Анализ_модели:" "_Какие_необходимы_посуда_и_инструменты?", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A7' specializing 'Разлить_варенье_в_банки': entry_m1; value_m1; entry_i2; value_i2; entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A7: Разлить варенье в банки"; name = "Разлить варенье в банки"; number = 7; model; x = 64.1875; y = 20.31336; container; con = ('REPORT', title = "A7: Разлить_варенье_в_банки", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A21' specializing 'Вымыть_банки_и_крышки': entry_i1; value_i1; entry_m1; value_m1; entry_m2; value_m2; entry_o1; protecting: value_o1; title = "A21: Вымыть банки и крышки"; name = "Вымыть банки и крышки"; number = 1; model; x = 9.49501; y = 6.58296; container; con = ('REPORT', title = "A21: Вымыть_банки_и_крышки", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A22' specializing 'Вскипятить_воду_в_чайнике': entry_m1; value_m1; entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A22: Вскипятить воду в чайнике"; name = "Вскипятить воду в чайнике"; number = 2; model; x = 22.78834; y = 18.0564; container; con = ('REPORT', title = "A22: Вскипятить_воду_в_чайнике", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A23' specializing 'Обработать_крышки_кипятком': entry_i1; value_i1; entry_i2; value_i2; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A23: Обработать крышки кипятком"; name = "Обработать крышки кипятком"; number = 3; model; x = 34.18251; y = 10.53288; container; con = ('REPORT', title = "A23: Обработать_крышки_кипятком", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A24' specializing 'Обработать_банки_кипятком': entry_m1; value_m1; entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A24: Обработать банки кипятком"; name = "Обработать банки кипятком"; number = 4; model; x = 42.91833; y = 15.42312; container; con = ('REPORT', title = "A24: Обработать_банки_кипятком", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A25' specializing 'Просушить_банки_и_крышки': entry_i1; value_i1; entry_i2; value_i2; entry_o1; protecting: value_o1; title = "A25: Просушить банки и крышки"; name = "Просушить банки и крышки"; number = 5; model; x = 60.76917; y = 19.93728; container; con = ('REPORT', title = "A25: Просушить_банки_и_крышки", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A411' specializing 'Нагреть_смесь': entry_i2; value_i2; entry_m1; value_m1; entry_i1; value_i1; entry_o1; protecting: value_o1; entry_o2; protecting: value_o2; title = "A411: Нагреть смесь"; name = "Нагреть смесь"; number = 1; model; x = 12.91334; y = 7.33536; container; con = ('REPORT', title = "A411: Нагреть_смесь", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A412' specializing 'Выстаивание': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A412: Выстаивание"; name = "Выстаивание"; number = 2; model; x = 39.5; y = 13.54224; container; con = ('REPORT', title = "A412: Выстаивание", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A413' specializing 'Проверить_готовность_варенья_(твёрдые_ягоды_и_фрукты)': entry_i1; value_i1; entry_o1; protecting: value_o1; entry_o2; protecting: value_o2; title = "A413: Проверить готовность варенья (твёрдые ягоды и фрукты)"; name = "Проверить готовность варенья (твёрдые ягоды и фрукты)"; number = 3; model; x = 47.85583; y = 19.18488; container; con = ('REPORT', title = "A413: Проверить_готовность_варенья_" "(твёрдые_ягоды_и_фрукты)", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A31' specializing 'Вымыть_ягоды_и_фрукты': entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A31: Вымыть ягоды и фрукты"; name = "Вымыть ягоды и фрукты"; number = 1; model; x = 18.23083; y = 10.1568; container; con = ('REPORT', title = "A31: Вымыть_ягоды_и_фрукты", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3211' specializing 'Вскипятить_воду_в_кастрюле': entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A3211: Вскипятить воду в кастрюле"; name = "Вскипятить воду в кастрюле"; number = 1; model; x = 10.25499; y = 6.77112; container; con = ('REPORT', title = "A3211: Вскипятить_воду_в_кастрюле", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3212' specializing 'Приготовить_сироп': entry_i2; value_i2; entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A3212: Приготовить сироп"; name = "Приготовить сироп"; number = 2; model; x = 19.75; y = 17.304; container; con = ('REPORT', title = "A3212: Приготовить_сироп", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3213' specializing 'Бланшировать_ягоды': entry_i2; value_i2; entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A3213: Бланшировать ягоды"; name = "Бланшировать ягоды"; number = 3; model; x = 32.28335; y = 11.28528; container; con = ('REPORT', title = "A3213: Бланшировать_ягоды", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3214' specializing 'Положить_ягоды_в_сироп': entry_i1; value_i1; entry_i2; value_i2; entry_o1; protecting: value_o1; title = "A3214: Положить ягоды в сироп"; name = "Положить ягоды в сироп"; number = 4; model; x = 55.83167; y = 19.18488; container; con = ('REPORT', title = "A3214: Положить_ягоды_в_сироп", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3221' specializing 'Порезать_на_дольки': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A3221: Порезать на дольки"; name = "Порезать на дольки"; number = 1; model; x = 10.25499; y = 6.77112; container; con = ('REPORT', title = "A3221: Порезать_на_дольки", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3222' specializing 'Пересыпать_сахаром': entry_i2; value_i2; entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A3222: Пересыпать сахаром"; name = "Пересыпать сахаром"; number = 2; model; x = 23.92752; y = 11.09712; container; con = ('REPORT', title = "A3222: Пересыпать_сахаром", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3223' specializing 'Выстаивать_6-8_часов': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A3223: Выстаивать 6-8 часов"; name = "Выстаивать 6-8 часов"; number = 3; model; x = 38.36082; y = 16.17552; container; con = ('REPORT', title = "A3223: Выстаивать_6-8_часов", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3224' specializing 'Добавить_в_смесь_воду': entry_i2; value_i2; entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A3224: Добавить в смесь воду"; name = "Добавить в смесь воду"; number = 4; model; x = 54.69249; y = 20.31336; container; con = ('REPORT', title = "A3224: Добавить_в_смесь_воду", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3231' specializing 'Пересыпать_сахаром': entry_i1; value_i1; entry_i2; value_i2; entry_o1; protecting: value_o1; title = "A3231: Пересыпать сахаром"; name = "Пересыпать сахаром"; number = 1; model; x = 18.23083; y = 10.1568; container; con = ('REPORT', title = "A3231: Пересыпать_сахаром", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A3232' specializing 'Выстаивать_6-8_часов': entry_i1; value_i1; entry_o1; protecting: value_o1; title = "A3232: Выстаивать 6-8 часов"; name = "Выстаивать 6-8 часов"; number = 2; model; x = 42.53834; y = 17.49216; container; con = ('REPORT', title = "A3232: Выстаивать_6-8_часов", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A421' specializing 'Основной_этап_варки': entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A421: Основной этап варки"; name = "Основной этап варки"; number = 1; model; x = 12.15415; y = 7.8996; container; con = ('REPORT', title = "A421: Основной_этап_варки", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A422' specializing 'Проверить_готовность_варенья_(мягкие_ягоды)': entry_i1; value_i1; entry_o1; protecting: value_o1; entry_o2; protecting: value_o2; title = "A422: Проверить готовность варенья (мягкие ягоды)"; name = "Проверить готовность варенья (мягкие ягоды)"; number = 2; model; x = 31.14417; y = 12.79008; container; con = ('REPORT', title = "A422: Проверить_готовность_варенья_(мягкие_ягоды)", x = x, y = y, width = 37, height = 9); [ ] ------------------------------------------------------------------------ class 'DIAGRAM-A423' specializing 'Дополнительный_этап_варки': entry_i1; value_i1; entry_m1; value_m1; entry_o1; protecting: value_o1; title = "A423: Дополнительный этап варки"; name = "Дополнительный этап варки"; number = 3; model; x = 50.89417; y = 18.62064; container; con = ('REPORT', title = "A423: Дополнительный_этап_варки", 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. ] ------------------------------------------------------------------------ |