/* Programa: um exemplo para aprender simulação SMPL no programa tempo.c os processos simplesmente contam o tempo. Autor: Prof. Elias e Eduardo Trevisan Data da última modificação: 15/11/2021 */ #include #include #include "smpl.h" /*----Eventos----*/ #define test 1 #define fault 2 #define repair 3 /*----Descritor do nodo SMPL----*/ typedef struct { int id; /* identificador da facility SMPL */ int *state; /* vetor de estados dos nodos */ } tnodo; tnodo *nodo; int main (int argc, char* argv[]) { static int N, /* número total de processos, entrado na linha de comando */ token, /* o processo que "está executando" em um instante de tempo */ event, r, i,j; static char fa_name[5]; /* nome da facility */ static float testInterval = 30.0; if(argc != 2) { puts("Uso correto: tempo < num-nodos"); exit(1); } N = atoi(argv[1]); smpl(0, "Um exemplo de simulação"); reset(); stream(1); /* inicialização de variáveis */ nodo = (tnodo *) malloc(sizeof(tnodo)*N); for (i=0; i