//===================== § AIII_E2 ===================== //initialisation de la simulation de SiBemol_Tutoriel.1.0 //TRACE PARSING; INITRAND; INITIALISATION SIMULATION UNITE_TPS HOUR; //DAY MINUTE SECOND NB_UNITE_TPS 1; DATE_DEBUT 15 OCT 2000; DATE_FIN 20 OCT 2000; //DATE_FIN 2 SEP 2001; IN_DIR "/home/rellier/APPLIS_DIESE/SIM/cdiese/SIBEMOL/"; OUT_DIR "../out/"; ; //===================== § AIII_E2 ===================== //===================== § AIII_E3.1 ===================== //structure du systeme SiBemol_Tutoriel_1.0 //TRACE PARSING; {s1} = IN_DIR "SIBEMOL_TUTORIEL_1.0/"; INCLUDE {s1} "systemePilote.inc"; //===================== // // LE SYSTEME DE PRODUCTION // //===================== + I productionSystem pSP <- C <, pCS>; ; ENTITE_SIMULEE <,pSP>; AFFICHER STRUCTURE <, pSP>; //===================== § AIII_E3.1 ===================== //===================== § AIII_E3.2 ===================== //structure du systeme SiBemol_Tutoriel.1.0 //TRACE PARSING; //===================== // // STRUCTURE EXPLOITATION // //===================== + I ble monBle; + I luzerne maLuzerne; + I herbeNaturelle monHerbe; + I animal monAnimal; + I exploitation monEA + C parcellaire monParcellaire + E parcelle parcelleBle superficie = 7.0; couvertVegetal = <, monBle>; ; + E parcelle parcelleLuzerne superficie = 5.0; couvertVegetal = <, maLuzerne>; ; + E parcelle parcelleHerbe superficie = 7.0; couvertVegetal = <, monHerbe>; ; ; + C troupeau monTroupeau animalRepresentatif = <, monAnimal>; nombreAnimaux = 20; parcelleSupport = <, parcelleHerbe>; ; ; //AFFICHER STRUCTURE <, monEA>; //===================== // // LE SYSTEME PILOTE // //===================== + I controlledSystem pCS attachedEntity = <, monEA>; ; END INCLUDE; //===================== § AIII_E3.2 ===================== //===================== § AIV_E3.2 ===================== //===================== // // PROCESSUS // //===================== {s2} = IN_DIR "IN_FILES/"; + P lectureCroissanceHerbe pLectureHerbe PAS = 24; REPERTOIRE_FICHIER {s2}; NOM_SIMPLE_FICHIER "DISPO_HERBE.txt"; ENTITE_CIBLE = <, monHerbe>; INIT_PRCD_EVT DATE_OCCUR = 6; PRIORITE = 1; ; ; //===================== § AIV_E3.2 ===================== //===================== § AIV_E3.4 ===================== // Ce fichier contient les directives pour le moteur de simulation. // Il doit être ajuste au besoin, selon les regles enoncees dans le chapitre // 'Les fichiers' de la documentation de BASIC DIESE. //TRACE PARSING; //TRACE NEWDEL; //TRACE ACTION; //INITRAND []; CHRONO INIT; CHRONO START; RUN; DISPLAY OUTPUTSPEC EVENT; DISPLAY OUTPUTSPEC PROCESS; DISPLAY OUTPUTSPEC CPROCESS; DISPLAY OUTPUTSPEC ENTITE basicEntity; //DISPLAY OUTPUTSPEC ALL; DELETE ENTITYSPEC; DELETE ENTITE INSTANCE; DELETE MONITOR; DELETE PARAMETRE; DELETE FILE; DELETE OUTPUTSPEC; DELETE SIMULATION; RAPPORT MEMOIRE; // ssi gTraceNewDelMode || gTraceActionMode DELETE ENTITE CLASSE; //DELETE ALL; CHRONO PAUSE; CHRONO DISPLAY ENDL "duree = "; MESSAGE ENDL; CHRONO CLOSE; //===================== § AIV_E3.4 ===================== //===================== § AV_E3.2 ===================== + P lectureUnitesDeveloppementBle pLectureDevBle PAS = 24; REPERTOIRE_FICHIER {s2}; NOM_SIMPLE_FICHIER "UDEV_BLE.txt"; ENTITE_CIBLE = <, monBle>; INIT_PRCD_EVT DATE_OCCUR = 6; PRIORITE = 1; ; ; //===================== § AV_E3.2 ===================== //===================== § AVI_E2.6.4 ===================== //--------------------------------------------------------------- // Fichier des paramètres du système SiBemol //--------------------------------------------------------------- //TRACE PARSING; //------------------------------------- // VEGETAL //------------------------------------- // // ble // stadesBle seuilUnitDevPourEpi1cm <- 2692.; stadesBle seuilUnitDevPourGonflement <- 2900.; stadesBle seuilUnitDevPourFloraison <- 3092.; // stadesBle dureeSemisEpi1cm <- 400.; stadesBle dureeEpi1cmGonflement <- 200.; stadesBle dureeGonflementFloraison <- 200.; //===================== § AVI_E2.6.4 ===================== //===================== § AVI_E4 ===================== // pour test hors init/proceed par operation SemerBle + P processusDeveloppementBle pDevBle PAS = 24; ENTITE_CIBLE = <, monBle>; INIT_PRCD_EVT DATE_OCCUR = 6; PRIORITE = 50; ; ; // //===================== § AVI_E4 ===================== //===================== § AVII_E4a ===================== INCLUDE {s1} "systemeOperant.inc"; //===================== § AVII_E4a ===================== //===================== § AVII_E4b ===================== //structure du systeme SiBemol.1.0 //TRACE PARSING; //===================== // // LE SYSTEME OPERANT // //===================== + I simpleResourcePool lePersonnel + E agentNonCompetentVaches jean, availabilityStatus = 1;; //+ E agentNonCompetentVaches luc, // availabilityStatus = 1;; + E agentCompetentVaches paul, availabilityStatus = 1;; ; + I simpleResourcePool leMateriel + E tracteurOutille pTO_1; //+ E tracteurOutille pTO_2; + E remorqueTractee pRT_1; + E moissonneuseBatteuse pMB_1; ; + I multipleResourcePool lePoolUnique <- E <, lePersonnel>; <- E <, leMateriel>; ; + I resourcePoolDisjunction lesPools <- E <, lePoolUnique>; ; + I operatingSystem pOS <- C <, lesPools>; ; //AFFICHER STRUCTURE <, pOS>; + I uniteMaterielRecolte lUMR <- C <, pMB_1>; <- C <, pRT_1>; ; END INCLUDE; //===================== § AVII_E4b ===================== //===================== § AVIII_E4.4 ===================== //------------------------------------- // CONDUITE //------------------------------------- vitesseOperation semerBle <- 1:10; // 5 j a 2 MO //===================== § AVIII_E4.4 ===================== //===================== § AIX_E3a ===================== INCLUDE {s1} "systemeDecisionnel.inc"; //===================== § AIX_E3a ===================== //===================== § AIX_E3b ===================== //structure du systeme SiBemol //TRACE PARSING; //===================== // // LE SYSTEME DE DECISION // //===================== + I monManager pSD //modaliteDeuxAgents = 2; // ANYONE=1 par defaut // ci-dessus pour dispo dans constructeur ActiviteBle //ANYONE=1, MAX=2, ALL=3, DISJ=4, SETS=5 ; //===================== // CONDUITES ATELIERS //===================== + I itineraireBle maConduiteBle uniteDeGestion = <, parcelleBle>; ; + I conduiteExploitation monPlanGlobal <- E <, maConduiteBle>; readyToRun = 1; // plan rendu pret a etre interprete ; //AFFICHER STRUCTURE <, monPlanGlobal>; + I activitiesResourcesBlock arb1 <- C <, monPlanGlobal>; <- C <, lePoolUnique>; ; + I activitiesResourcesBlockSet arbSet <- E <,arb1>; ; + I strategy maStrategie <- C <,arbSet>; ; <, pSD> <- C <, maStrategie>; ; END INCLUDE; //===================== § AIX_E3b ===================== //===================== § AIX_E5 ===================== <- C <, pOS>; <- C <, pSD>; //===================== § AIX_E5 ===================== //===================== § AIX_E6.2a ===================== // ***************************************************************** // Programmation de l'interprétation du plan // ***************************************************************** + V revisionMatinaleDuPlan maj DATE_OCCUR = <"revisionDuPlan" "heureMatin">; //PRIORITE = 40; // par defaut ; //===================== § AIX_E6.2a ===================== //===================== § AIX_E6.2b ===================== revisionDuPlan heureMatin <- 8; //===================== § AIX_E6.2b ===================== //===================== § AX_E3a ===================== //------------------------------------- // ANIMAL //------------------------------------- unAnimal consoQuotidienneHerbe <- 5.0; // kg //===================== § AX_E3a ===================== //===================== § AX_E3b ===================== // valeurs de vitesse par Unité de MO pour spec ANYONE vitesseOperation atelierVaches <- 1.; // 1 j a 1 MO vitesseOperation atelierLuzerne <- 1:14; // 7 j a 2 MO vitesseOperation semerBle <- 1:10; // 5 j a 2 MO vitesseOperation desherberBle <- 1:3; // 3 j a 1 MO vitesseOperation fertiliserBle <- 1:3; // 3 j a 1 MO vitesseOperation traiterBle <- 1:3; // 3 j a 1 MO vitesseOperation recolterBle <- 1:28; // 14 j a 2 MO //===================== § AX_E3b ===================== //===================== § AX_E3c ===================== prioriteOperation atelierVaches <- 60; // = valeur par défaut pour les OT prioriteOperation atelierLuzerne <- 65; prioriteOperation atelierBle <- 70; //===================== § AX_E3c ===================== //===================== § AX_E3d ===================== interruptionAutorisee fertiliserBle <- "non"; // "oui" interruptionAutorisee traiterBle <- "non"; //===================== § AX_E3d ===================== //===================== § AXI_E4 ===================== agent travailDimancheAutorise <- "oui"; //agent travailDimancheAutorise <- "non"; agent dureeJourTravailSemaine <- 8; //===================== § AXI_E4 ===================== //===================== § AXII_E4.2 ===================== debutApportFourrage seuilCroissanceNette <- 10.; // g/m2 //===================== § AXII_E4.2 ===================== //===================== § AXIII_E2.2a ===================== + I iterationRecolteLuzerne maConduiteLuzerne uniteDeGestion = <, parcelleLuzerne>; ; //===================== § AXIII_E2.2a ===================== //===================== § AXIII_E2.2b ===================== <- E <, maConduiteLuzerne>; //===================== § AXIII_E2.2b ===================== //===================== § AXIII_E2.2c ===================== // // luzerne // luzerne delaiRepousseApresCoupe <- 42; // jours //===================== § AXIII_E2.2c ===================== //===================== § AXIII_E3.2a ===================== + I alimentationComplementaireTroupeau maConduiteTroupeau uniteDeGestion = <, monTroupeau>; ; //===================== § AXIII_E3.2a ===================== //===================== § AXIII_E3.2b ===================== <- E <, maConduiteTroupeau>; //===================== § AXIII_E3.2b ===================== //===================== § AXIV_E3a ===================== + I agentMonoOccupe,; //+ I agentMonoLocalise,; //===================== § AXIV_E3a ===================== //===================== § AXIV_E3b ===================== resourceConstraintList << ; //resourceConstraintList << ; //===================== § AXIV_E3b ===================== //===================== § N2_E1 ===================== SAVE DESCRIPTOR "troupeau" ALL "herbeDispo.txt" NEW CLOCK "herbeDisponible" 2 "nombreAnimaux" 0; SAVE DESCRIPTOR "troupeau" ALL "herbeDispo2.txt" NEW DATE_HDM "herbeDisponible" 2; //===================== § N2_E1 =====================