Инструментальная среда имитационного моделирования распределенных систем мобильных агентов



страница18/21
Дата24.11.2016
Размер2.3 Mb.
Просмотров4076
Скачиваний0
1   ...   13   14   15   16   17   18   19   20   21

Приложение 30 Model_init.cs


using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;


namespace Automata {

partial class Model {

public static Model init() {

Model m = new Model("wandering philosophers");

try {

m.place("chair1");



m.place("chair2");

m.place("chair3");

m.place("chair4");

m.place("napkin23");

m.place("napkin34");

m.place("napkin12");

m.place("napkin41");

m.place("dish");

m.place("park");
m.arc_in("chair1", "napkin41", "getr");

m.arc_in("chair1", "napkin12", "getl");

m.arc_out("chair1", "napkin41", "putr");

m.arc_out("chair1", "napkin12", "putl");

m.arc_out("chair1", "park", "ToPark");

m.arc_in("chair1", "chair1", "Leave");

m.arc_out("chair1", "chair1", "put");

m.arc_in("chair2", "napkin12", "getr");

m.arc_in("chair2", "napkin23", "getl");

m.arc_out("chair2", "napkin12", "putr");

m.arc_out("chair2", "napkin23", "putl");

m.arc_out("chair2", "park", "ToPark");

m.arc_in("chair2", "chair2", "Leave");

m.arc_out("chair2", "chair2", "put");


m.arc_in("chair3", "napkin23", "getr");

m.arc_in("chair3", "napkin34", "getl");

m.arc_out("chair3", "napkin23", "putr");

m.arc_out("chair3", "napkin34", "putl");

m.arc_out("chair3", "park", "ToPark");

m.arc_in("chair3", "chair3", "Leave");

m.arc_out("chair3", "chair3", "put");
m.arc_in("chair4", "napkin34", "getr");

m.arc_in("chair4", "napkin41", "getl");

m.arc_out("chair4", "napkin34", "putr");

m.arc_out("chair4", "napkin41", "putl");

m.arc_out("chair4", "park", "ToPark");

m.arc_in("chair4", "chair4", "Leave");

m.arc_out("chair4", "chair4", "put");
m.arc_in("chair1", "dish", "eat");

m.arc_in("chair2", "dish", "eat");

m.arc_in("chair3", "dish", "eat");

m.arc_in("chair4", "dish", "eat");


m.arc_in("park", "park", "Leave");

m.arc_in("park", "chair1", "get1");

m.arc_in("park", "chair2", "get2");

m.arc_in("park", "chair3", "get3");

m.arc_in("park", "chair4", "get4");

m.arc_out("park", "chair1", "ToChair1");

m.arc_out("park", "chair2", "ToChair2");

m.arc_out("park", "chair3", "ToChair3");

m.arc_out("park", "chair4", "ToChair4");

m.type("fork");

m.dconst("f");

m.port("putr"); m.port("putl"); m.port("getr"); m.port("getl");


m.type("spag");

m.dconst("s");

m.port("eat");
m.type("free");

m.dconst("free");

m.port("put"); m.port("get1"); m.port("get2"); m.port("get3"); m.port("get4");
m.type("philosopher");

m.state("thinking"); // начальное состояние

m.port("Leave"); m.port("ToChair1"); m.port("ToChair2"); m.port("ToChair3"); m.port("ToChair4"); m.port("ToPark");

m.dconst("p1"); m.dconst("p2"); m.dconst("p3"); m.dconst("p4");

m.dvar("ph");
m.state_chart_name("LFolk_before_eating", "1folk");

m.state_chart_name("RFolk_before_eating", "1folk");

m.state_chart_name("RFolk_after_eating", "1folk");

m.state_chart_name("LFolk_after_eating", "1folk");

m.trans("eating", "eating", "do_eating"); m.trans_chart_name("eating");

m.priority("60"); m.duration("10");

m.term_in("eat", "s");
m.trans("eating", "LFolk_after_eating", "L_A"); m.trans_chart_name("put_folk");

m.priority("20"); m.duration("1");

m.term_out("putr", "f");
m.trans("eating", "RFolk_after_eating", "R_A"); m.trans_chart_name("put_folk");

m.priority("20"); m.duration("1");

m.term_out("putl", "f");
m.trans("thinking", "LFolk_before_eating", "L_B"); m.trans_chart_name("get_folk");

m.duration("2");

m.term_in("getl", "f");
m.trans("thinking", "RFolk_before_eating", "R_B"); m.trans_chart_name("get_folk");

m.duration("2");

m.term_in("getr", "f");
m.trans("thinking", "thinking", "do_thinking"); m.trans_chart_name("thinking");

m.duration("5");


m.trans("thinking", "thinking", "to_park"); m.trans_chart_name("walking");

m.duration("2");

m.term_in("Leave","ph","thinking");

m.term_out("put","free");

m.term_out("ToPark","ph","thinking");
m.trans("thinking", "thinking", "to_chair1"); m.trans_chart_name("walking");

m.duration("4");

m.term_in("get1","free");

m.term_in("Leave", "ph","thinking");

m.term_out("ToChair1", "ph", "thinking");
m.trans("thinking", "thinking", "to_chair2"); m.trans_chart_name("walking");

m.duration("4");

m.term_in("get2", "free");

m.term_in("Leave", "ph", "thinking");

m.term_out("ToChair2", "ph", "thinking");
m.trans("thinking", "thinking", "to_chair3"); m.trans_chart_name("walking");

m.duration("4");

m.term_in("get3", "free");

m.term_in("Leave", "ph", "thinking");

m.term_out("ToChair3", "ph", "thinking");
m.trans("thinking", "thinking", "to_chair4"); m.trans_chart_name("walking");

m.duration("4");

m.term_in("get4", "free");

m.term_in("Leave", "ph", "thinking");

m.term_out("ToChair4", "ph", "thinking");
m.trans("LFolk_before_eating","eating", "lets_eat1"); m.trans_chart_name("get_folk");

m.duration("1"); m.priority("80");

m.term_in("getr", "f");
m.trans("LFolk_before_eating", "thinking", "lets_think2"); m.trans_chart_name("put_folk");

m.duration("1"); m.priority("20");

m.term_out("putl", "f");
m.trans("RFolk_before_eating", "eating", "lets_eat1"); m.trans_chart_name("get_folk");

m.duration("1"); m.priority("80");

m.term_in("getl", "f");
m.trans("RFolk_before_eating", "thinking", "lets_think2"); m.trans_chart_name("put_folk");

m.duration("1"); m.priority("20");

m.term_out("putr", "f");
m.trans("LFolk_after_eating", "eating", "lets_eat2"); m.trans_chart_name("get_folk");

m.duration("2"); m.priority("20");

m.term_in("getr", "f");
m.trans("LFolk_after_eating", "thinking", "lets_think1"); m.trans_chart_name("put_folk");

m.duration("2"); m.priority("80");

m.term_out("putl", "f");
m.trans("RFolk_after_eating", "eating", "lets_eat2"); m.trans_chart_name("get_folk");

m.duration("3"); m.priority("20");

m.term_in("getl", "f");
m.trans("RFolk_after_eating", "thinking", "lets_think1"); m.trans_chart_name("put_folk");

m.duration("1"); m.priority("80");

m.term_out("putr", "f");

m.place("chair1"); m.inst("p1", "thinking");

m.place("chair2"); m.inst("p2", "thinking");

m.place("chair3"); m.inst("p3", "thinking");

m.place("chair4"); m.inst("p4", "thinking");
m.place("napkin12"); m.inst("f");

m.place("napkin23"); m.inst("f");

m.place("napkin34"); m.inst("f");

m.place("napkin41"); m.inst("f");


m.place("dish");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

} catch (Exception e) {

error("ошибка: " + e.Message);

}

return m;


}

}

}



/*

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;
namespace Automata {

partial class Model {

public static Model init() {

Model m = new Model("Dinning philosophers");

try {

m.place("chair1");



m.place("chair2");

m.place("chair3");

m.place("chair4");
m.arc_in("chair3", "napkin23", "getr");

m.arc_out("chair3", "napkin23", "putr");


m.arc_in("chair3", "napkin34", "getl");

m.arc_out("chair3", "napkin34", "putl");


m.type("fork");

m.dconst("f");

m.port("putr"); m.port("putl"); m.port("getr"); m.port("getl");
m.type("spag");

m.dconst("s");

m.port("eat");
m.type("philosopher");

m.dconst("p1"); m.dconst("p2"); m.dconst("p3"); m.dconst("p4");

m.state("thinking"); // начальное состояние
m.trans("eating", "eating");

m.term_in("eat", "s");

// m.term_in("get","H2"); m.term_in("get","H2"); m.term_in("get","O2");

// m.term_out("put","H2O"); m.term_out("put","H2O");


m.trans("eating", "LFork");

m.priority("20"); m.duration("10", "12");

m.term_out("putr", "f");
m.trans("eating", "RFork");

m.term_out("putl", "f");


m.trans("thinking", "LFork");

m.term_in("getl", "f");

m.trans("thinking", "RFork");

m.term_in("getr", "f");


m.trans("LFork", "eating");

m.term_in("getr", "f");


m.trans("LFork", "thinking");

m.term_out("putl", "f");


m.trans("RFork", "eating");

m.term_in("getl", "f");

m.trans("RFork", "thinking");

m.term_out("putr", "f");

m.place("dish");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.inst("s"); m.inst("s"); m.inst("s"); m.inst("s");

m.place("napkin12"); m.inst("f");

m.place("napkin23"); m.inst("f");

m.place("napkin34"); m.inst("f");

m.place("napkin41"); m.inst("f");

m.place("chair1"); m.inst("p1");

m.place("chair2"); m.inst("p2");

m.place("chair3"); m.inst("p3");

m.place("chair4"); m.inst("p4");


} catch (Exception e) {

error("ошибка: " + e.Message);

}

return m;


}

}

}



*/



Каталог: data -> 2013
2013 -> Федеральное государственное автономное образовательное
2013 -> «Визуальный образ персонажей массового кинематогрфа в историческом контексте»
2013 -> 2 раздел анализ предметной области 5
2013 -> Магистерская диссертация
2013 -> Влияние вовлеченности на готовность платить за коллекционные товары
2013 -> Выражение гендерных характеристик в англоязычном "глянцевом" дискурсе
2013 -> Продакт Плейсмент и перспективы его развития в сети Интернет
2013 -> 1Лекции первого полугодия
2013 -> «Правовое рассмотрение компьютерного мошенничества», Ницца, 22 октября 1992 года, грамота «весьма достойно»


Поделитесь с Вашими друзьями:
1   ...   13   14   15   16   17   18   19   20   21


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал