Étape 5 : déterminer les relations entre les tâches
X. Représentation dans T4TEL d’un modèle praxéologique de référence
X.4 Générateurs de types de tâches factoriser, choix des variables et des valeurs
X.4.1 Variable V1 du GT_F2 : forme de la somme
<input> <net-file value="parking.net.xml"/> <route-files value="parking.rou.xml"/> <remote-port value="8883"/> </input> </configuration> Fonte: Autoria própria
7.1.2 Ambiente dos Agentes
A criação dos agentes drivers em Jason segue um modelo específico, demonstrado na seção 4.1.2, o qual requer a definição de alguns elementos: identificação, reputação, tempo a ser gasto e tempo de chegada ao estacionamento. Para abranger diferentes tipos de cenários, criou-se uma classe em Java para gerar uma quantidade pré-definida de agentes, baseados em variáveis aleatórias: reputação, tempo a ser gasto e tempo de chegada ao estacionamento.
Portanto, é possível definir a quantidade de agentes (nAgents) a serem criados e o intervalo de chegada entre cada agente (TA). O tempo a ser gasto por cada agente no estacionamento (TS) é escolhido aleatoriamente em um vetor que contém diversos tempos de estadia. Além disso, a classe também atribui uma reputação (trust) aleatória para cada um dos agentes, baseado em um intervalo também pré-definido.
nAgents: define a quantidade de agentes a serem criados. Não há um limite máximo;
TA: intervalo de chegada entre um agente e outro. Definido em 0.25 segundos, porém permite alteração;
TS: tempo em segundos a ser gasto no estacionamento, escolhido aleatoriamente entre o vetor {20, 20, 25, 30, 35, 60, 60, 120, 120}; trust: reputação do motorista, escolhido um valor aleatoriamente entre
50 e 500.
Dessa maneira foi possível diversificar os motoristas que participam do ambiente de testes, permitindo uma análise ampla da simulação implementada.
7.2 ELABORAÇÃO DOS CENÁRIOS
Utilizando a combinação do modelo demonstrado na figura 13 com os agentes criados através do método da seção 7.1, foi possível elaborar diversos tipos de cenários a serem testados por esse projeto. Especificamente foram criados 6 cenários.
O modelo foi distribuído em três diferentes tipos de estacionamento (considerando a quantidade de vagas disponíveis): (1) 10 vagas, (2) 100 vagas e (3) 160 vagas. Cada um desses ambientes engloba algumas áreas do modelo previamente estabelecido no SUMO e são especificados na tabela 3. As áreas A, B, C, D, E, F, G, H e I referem-se às áreas do modelo ilustrado na figura 13.
Tabela 3 – Distribuição de vagas dos ambientes estabelecidos.
Áreas A B C D E F G H I Total Vagas Ambientes 1 X 10 2 X X X X X X 100 3 X X X X X X X X X 160
Fonte: Autoria própria
Para a definição dos conjuntos de agentes drivers, utilizou-se uma previsão de ocupação dos ambientes, e então criaram-se os conjuntos: (v1) 50 veículos, (v2) 100 veículos, (v3) 250 veículos e (v4) 500 veículos. Cada veículo obteve um valor de reputação aleatório entre 50 e 500. O tempo a ser gasto foi sorteado dentre um vetor
contendo: 20, 20, 25, 30, 35, 60, 60, 120, 120 segundos. O tempo de chegada entre um driver e outro foi definido em 0.25 segundos. Por exemplo, para dois drivers quaisquer, do conjunto total de drivers, tem-se que o tempo de chegada entre eles é 0.25 segundos.
A tabela 4 demonstra os ambientes os quais cada conjunto de agente irá atuar, totalizando seis diferentes tipos de cenários
Tabela 4 – Ambientes de atuação dos conjuntos de agentes
Conjuntos v1 v2 v3 v4 Ambientes 1 X 2 X X X 3 X X
Fonte: Autoria própria
Nos gráficos gerados por meio dos resultados obtidos na próxima seção, a porcentagem de uso refere-se à porcentagem de ocupação total do ambiente do estacionamento. A fila de espera demonstra a quantidade de agentes aguardando uma alocação de vaga na fila de espera. As medidas estão em relação à unidade de tempo do SUMO (denominada aqui como uts), medida de tempo calculada internamente pelo simulador SUMO.
7.3 RESULTADOS OBTIDOS
Para analisar a validade da integração entre o projeto MAPS e a ferramenta da simulação SUMO, cada cenário será analisado dentro de alguns quesitos, sendo eles: (i) porcentagem de uso do estacionamento; (ii) tamanho da fila de espera; e (iii) consistência da comunicação entre o MAPS e SUMO. Os três tipos de análises, em conjunto com a simulação gráfica, permitem verificar a consistência da interligação entre os agentes Jason e o simulador SUMO.
O primeiro e segundo quesitos são adquiridos no ambiente do projeto MAPS e comparados à simulação gráfica do SUMO. Para analisar a consistência de comunicação, os protocolos são armazenados em três momentos: ao serem criados no projeto MAPS, ao serem recebidos pelo MAPS-SUMO e ao serem transmitidos ao SUMO pela biblioteca TraCI4J. Desta maneira é possível obter informações sobre a consistência da interligação das ferramentas.
Na sequência são descritos os experimentos, os quais estão organizados conforme os três ambientes de estacionamento definidos na tabela 3.
Ambiente 1:
Por possuir quantidade de vagas limitadas, esse ambiente foi testado apenas com o conjunto de agentes v1. O gráfico 1 mostra a porcentagem de uso do ambiente comparado com o tamanho da fila de espera. Na uts 12, destacada no gráfico 1 pela linha vermelha, é possível verificar que há 40 veículos na fila de espera e o estacionamento está com aproximadamente 90% do seu espaço ocupado.
Gráfico 1 – Porcentagem de uso e fila de espera do ambiente 1 com 50 agentes
Fonte: Autoria própria
Na figura 21 é possível verificar dois momentos distintos da simulação. A figura da esquerda mostra o momento em que o estacionamento encontra-se cheio, enquanto a figura da direita mostra o exato momento o qual há 60% do estacionamento ocupado. No gráfico, esses momentos são representados pelos valores de uts 92 e 96, respectivamente.
Figura 21 – Simulação do ambiente 1 utilizando o conjunto de agentes v1
Fonte: Autoria própria
O gráfico 2 demonstra a quantidade de protocolos enviados pelo projeto MAPS e recebidos pelo MAPS-SUMO e pela TraCI4J. Podemos observar que não houve falha na comunicação entre as ferramentas, totalizando a transmissão de 140 protocolos sem perdas.
Gráfico 2 – Protocolos de comunicação enviados/recebidos
Fonte: Autoria própria
Ambiente 2:
Este cenário utiliza as áreas A, B, D, F, H e I do modelo inicial, totalizando 100 vagas. Neste cenário foram testados os conjuntos v2, v3 e v4, contendo 100,
250 e 500 veículos, respectivamente, resultando em ambientes sem fila de espera e com baixa e alta variação na fila de espera.
É possível observar no gráfico 3 que, devido ao baixo fluxo de carros do conjunto v2, não foi possível a obtenção da fila de espera. Já no gráfico 4 houve uma fila de espera com poucas variações e que se esgotou rapidamente. Por fim, no gráfico 5, houve a criação de duas filas e que estiveram ativas durante quase todo o tempo em que o ambiente esteve em funcionamento. É possível observar também que a criação da fila de espera acontece no momento em que o estacionamento fica cheio, e toda alteração na fila acontece quando há uma variação na lotação do ambiente.
Gráfico 3 – Porcentagem de uso e fila de espera do ambiente 2 com 100 agentes
Fonte: Autoria própria
Gráfico 4 – Porcentagem de uso e fila de espera do ambiente 2 com 250 agentes
Gráfico 5 – Porcentagem de uso e fila de espera do ambiente 2 com 500 agentes
Fonte: Autoria própria
O gráfico 6 demonstra a consistência da comunicação nos três casos previamente citados, não apresentando perdas de protocolos. Nota-se que, devido a variação da quantidade de veículos, a quantidade de protocolos também sofre variações.
Gráfico 6 – Protocolos de comunicação enviados/recebidos
Fonte: Autoria própria Ambiente 3:
O ambiente 3 engloba todos os setores do modelo principal, utilizando o total de 160 vagas. Os testes foram feitos utilizando os conjuntos de drivers v3 e v4, com 250 e 500 agentes, respectivamente.
Nos gráficos 7 e 8 é possível observar e comparar a porcentagem de uso do ambiente e o tamanho da fila de agentes em espera para se obter uma vaga, para os conjuntos v3 e v4, respectivamente. É possível notar que no segundo caso há
uma maior variação na fila de espera, devido ao fluxo de veículos ser mais alto. Também é possível notar que o tamanho máximo da fila de espera é maior no conjunto v3 e isso deve ao fato dos conjuntos serem criados aleatoriamente. Portanto, no momento o qual o estacionamento ficou completamente ocupado, os agentes do conjunto v3 permaneceram durante um maior período de tempo estacionados, acumulando agentes na fila de espera.
Gráfico 7 – Porcentagem de uso e fila de espera do ambiente 3 com 250 agentes
Fonte: Autoria própria
Gráfico 8 – Porcentagem de uso e fila de espera do ambiente 3 com 500 agentes
O gráfico 8 apresenta os resultados para uma quantidade significativa de agentes (500, ao total). Portanto, a ilustração das variações na fila de espera são dificilmente perceptíveis. Assim, tem-se o gráfico 9 para ilustrar em detalhes (com a devida escala) tais variações na fila de espera.
Gráfico 9 – Comportamento da fila de espera do ambiente 3 com 500 agentes
Fonte: Autoria própria
A figura 22 permite a visualização do ambiente em andamento, onde há carros estacionados, chegando às vagas e deixando o estacionamento. Este estacionamento está com 105 vagas alocadas de um total de 160, o que corresponde à 65.62% do ambiente ocupado.
Figura 22 – Alocação de vagas no ambiente 3
Fonte: Autoria própria
Nota-se que no gráfico 10 a consistência da comunicação entre o projeto MAPS, o MAPS-SUMO e a TraCI4J, quando testados os conjuntos v3 e v4 no cenário 4.
Gráfico 10 – Protocolos de comunicação enviados/recebidos
Fonte: Autoria própria
Por meio dos resultados obtidos é possível constatar que o tamanho da fila de espera está diretamente associado à porcentagem de uso do estacionamento, onde a mesma aumenta seu tamanho quando o ambiente está lotado e diminui caso contrário. Além disso, o SUMO mostrou-se adequado na simulação gráfica dos cenários testados, de modo que facilita a análise do comportamento do ambiente e os agentes que nele atuam. Por fim, a consistência da comunicação entre o projeto MAPS, o MAPS-SUMO e ao SUMO se mostrou efetiva, não havendo perdas de protocolos entre o percurso da comunicação.
A simulação com o SUMO pode ajudar a verificar diretamente como está a ocupação das vagas no estacionamento. Por exemplo, na figura 22, é possível
identificar que há uma quantidade significativa de vagas não ocupadas nos setores F, G, H e I.
7.4 COMPARAÇÃO: MAPS X MAPS-SUMO
O objetivo deste trabalho é efetivar a interligação entre a ferramenta de simulação SUMO e o projeto MAPS, sem que haja alteração nos resultados finais obtidos. Todo o controle de alocação de vagas é realizado pelo agente manager no projeto MAPS, portanto o SUMO é responsável apenas por disponibilizar graficamente o uso do estacionamento, de acordo com os dados enviados pelo manager.
Os testes de comparação entre o projeto original e o MAPS integrado com o SUMO foram realizados de acordo com os cenários utilizados por Castro (2015) para o desenvolvimento do inicial do projeto. No restante desta seção os gráficos apresentados ilustram os resultados obtidos no MAPS original (ou apenas MAPS) e no MAPS integrado com a ferramenta SUMO (ou apenas MAPS-SUMO).
Os cenários utilizados para essa comparação são demonstrados na tabela 5.
Tabela 5 – Cenários utilizados para comparação
Cenário Quantidade de drivers Quantidade de Vagas
1 10 1
2 10 5
Fonte: Autoria própria Cenário 1:
Neste cenário foram utilizados 10 agentes com apenas 1 vaga de estacionamento gerenciada pelo manager, visando analisar o comportamento da fila de espera em um ambiente com poucas vagas. Nos gráficos 11 e 12, é possível verificar os resultados obtidos através dos cenários testados no projeto MAPS original e no projeto integrado à simulação, respectivamente.
Gráfico 11 – Porcentagem de uso vs Fila de espera (MAPS)
Fonte: Autoria própria
Gráfico 12 – Porcentagem de uso vs Fila de espera (MAPS-SUMO)
Fonte: Autoria própria
Nota-se que não houve alterações nos resultados obtidos, portanto, neste cenário, a interligação se demonstrou adequada.
Cenário 2:
Neste cenário também foram utilizados 10 agentes drivers, porém com 5 vagas disponíveis no estacionamento. Os gráficos 13 e 14 demonstram os
resultados obtidos nos testes realizados no MAPS original e no MAPS-SUMO, respectivamente.
Gráfico 13 – Porcentagem de uso vs Fila de espera (MAPS)
Fonte: Autoria própria
Gráfico 14 – Porcentagem de uso vs Fila de espera (MAPS-SUMO)
Fonte: Autoria própria
Nota-se que, neste cenário, também não houve alteração nos resultados obtidos. Vale ressaltar também que o crescimento na fila de espera ocorre quando não há mais vagas disponíveis no estacionamento e, quando um veículo deixa a vaga, a fila de espera diminui.
7.5 DIFICULDADES ENCONTRADAS
Para a execução deste trabalho foram encontradas algumas dificuldades em relação a simulação gráfica do funcionamento do projeto MAPS. Na sequência serão discutidas as dificuldades, envolvendo a troca de rotas.
Troca de rotas
O trabalho possui duas rotas configuradas para cada vaga: rota de chegada e rota de saída. A rota de chegada possui um atributo de parada, o qual define o local de parada do veículo e o tempo máximo ou duração da parada, conforme especificado na seção 6.1. A ferramenta SUMO não permite alterar certos componentes após a sua criação, como é o caso das rotas.
Para cada veículo na simulação, é possível fazer algumas alterações, como mudança de cor e de velocidade. Entre elas, a biblioteca Traci4J também disponibiliza a função queryChangeRoute(), responsável por alterar a rota do veículo indicado. A nova rota é enviada para o veículo, porém o mesmo não deixa a vaga até o tempo definido anteriormente se esgotar. Como podemos observar nas figuras 23 e 24, temos a rota original de chegada e a rota após a alteração (junção da rota original com a rota de saída), respectivamente. As rotas são as faixas destacadas na via inferior do modelo.
Figura 23 – Rota original
Fonte: Autoria própria
Figura 24 – Rota após a alteração
Fonte: Autoria própria
A rota é recalculada de acordo com os novos dados informados, porém o veículo continua estacionado na vaga original. Portanto o próximo veículo alocado
para a mesma vaga, não conseguiria estacionar e teria que aguardar. Para contornar essa situação, o veículo primeiramente é removido do ambiente e um novo veículo é inserido com a nova rota. Visualmente não é possível identificar essa adaptação e o simulador exibe o resultado esperado.
Futuramente pretende-se estudar maneiras de alterar a rota do veículo quando o mesmo se encontra estacionado. A biblioteca Traci4J possui código aberto, portanto será possível trabalhar diretamente no código para encontrar soluções para esse problema encontrado.
8 CONCLUSÃO
O objetivo principal deste trabalho é apresentar a interligação entre o framework JaCaMo, com foco no JaCa (Jason + Cartago), e a ferramenta de simulação SUMO. Para atingir este objetivo foi realizado um estudo detalhado do SUMO bem como do framework JaCaMo e do projeto MAPS. O projeto MAPS foi utilizado como um exemplo de aplicação prática do framework JaCaMo para demonstrar a viabilidade da interligação entre as ferramentas. Por meio do desenvolvimento deste trabalho, os seguintes resultados foram obtidos:
Representação gráfica da simulação do uso de um estacionamento; Criação de um protocolo de comunicação entre JaCaMo e SUMO. A interligação entre as ferramentas foi possível através da criação de um protocolo de comunicação, responsável por transmitir informações entre os agentes e a simulação gráfica. Esse protocolo contém a informação do agente responsável pela ação, o tipo da ação a ser exibida na simulação e, quando necessário, a vaga do estacionamento. Os protocolos foram criados em um artefato situado no ambiente Cartago, e são chamados pelos agentes, programados em Jason. Além de montar os protocolos, o artefato também foi responsável por transmitir as mensagens para o MAPS-SUMO, ferramenta desenvolvida para este projeto e responsável por intermediar a comunicação entre o JaCa e o SUMO.
A aplicação do projeto MAPS neste projeto permitiu a obtenção de resultados interessantes, além de beneficiar outras linhas do projeto. Uma das vertentes do projeto visa estudar diferentes tipos de algoritmos de alocação e otimização de vagas, portanto, com a visualização gráfica, será possível fazer uma análise mais clara e simples dos algoritmos implementados.
A criação do protocolo de comunicação pode também viabilizar a definição de uma futura comunicação genérica entre o JaCaMo e o SUMO. Pretende-se utilizar o Cartago apenas para efetivar a comunicação entre o JaCaMo e o SUMO. As classes allocateSpotSumo, leaveSpotSumo e insertDriverQueueSumo seriam removidas por serem referentes ao projeto MAPS, e o protocolo seria um possível parâmetro recebido pela classe de comunicação definida no Cartago.
O próximo passo para o projeto será a modelagem de um ambiente personalizado baseado em dados reais. Isso permite com que se obtenha dados
mais concretos da integração entre o projeto MAPS com a visualização gráfica do estado do estacionamento. Também será possível desenvolver ambientes específicos para estacionamentos particulares, permitindo assim a implantação prática do projeto. Além disso, pretende-se estudar maneiras de alterar as rotas dos veículos e implementar graficamente as filas de espera.
Por meio dos experimentos realizados (apresentados no capítulo 7), foi possível concluir e afirmar a viabilidade da integração entre o framework JaCaMo e a ferramenta de simulação SUMO, além de exibir uma aplicação prática do projeto MAPS. Apesar do desenvolvimento de um MAPS-SUMO de intermediação entre o JaCa e o SUMO, a comunicação se demonstrou consistente, não apresentando perdas nas transmissões de protocolos.
REFERÊNCIAS
ALVARES, L. e SICHMAN, J. Introdução aos Sistemas Multiagentes. XVII
Congresso da SBC. Brasília – Brasil, p. 2-8, ago. 1997.
ANUMBA, C. UGWU, O. e REN, Z. Agents and multi-agent systems in
construction. Taylor & Francis, 2005.
BAINES, V. e PADGET, J. A situational awareness approach to intelligent vehicle agents. SUMO2014 – Modeling Mobitlity with Open Data. Berlim - Alemanha, v. 24, p. 1-17, maio 2014.
BATISTA JÚNIOR, A. A. e COUTINHO, L. R. Incorporating explicit coordination mechanisms by agents to obtain green waves. Advanced Methods and
Technologies for Agent and Multi-Agent Systems. v. 252, p. 137-145, 2013.
BATTY, M, AXHAUSEN, K., et al. Smart Cities of the Futures. UCL Working Papers
Series. Londres - Inglaterra, v. 188, out. 2012.
BEHRISCH, M., BIEKER, L., ERDMANN, J., e KRAJZEWICZ, D. SUMO – Simulation of Urban Mobility. SIMUL 2011 – The Third International Conference on
Advances in System Simulation. Barcelona – Espanha, 2011.
BORDINI, R., HÜBNER, J. e WOOLDRIDGE, M. Programming Multi-Agent systems in AgentSpeak using Jason. Wiley Series in Agent Technology. John Wiley & Sons, 2007.
CArtAgO. 2006. Disponível em <http://cartago.sourceforge.net>. Acesso em: 12 abril 2016.
CASTRO, L. Modelagem e implementação de um sistema multiagente utilizando a plataforma JaCaMo para alocação de vagas em um estacionamento inteligente. Universidade Tecnológica Federal do Paraná. Ponta Grossa, 2015.
DENATRAN. Departamento Nacional de Trânsito. Disponível em < http://www.denatran.gov.br/frota2016.htm>. Acesso em: 10 maio 2016.
Deutsche Telekom. Deutsche Telekom and Pisa start Smart City project. Mobile
World Congress. Barcelona – Espanha, 2014.
GENESERETH, M. e KETCHPEL, M. Software agents. Communications of the
ACM. v. 37, n. 7, p. 48-53, jul. 1994.
HÜBNER, J. Um Modelo de Reorganização de Sistemas Multiagentes. 2003. 224 f. Tese (Doutorado em Engenharia Elétrica) – Escola Politécnica da USP. Universidade de São Paulo, São Paulo.
JACAMO. The JaCaMo Project. Multi-Agent Programming Framework. 2011. Disponível em <http://jacamo.sourceforge.net/>. Acesso em: 15 março 2016.
KOKKINOGENIS, Z., PASSOS, L. e ROSSETTI, R. Towards the next-generation traffic simulation tools: a first appraisal. 6ª Conferência Ibérica de Sistemas e
Tecnologias de Informação (CISTI). Chaves – Portugal, jun. 2011.
KOSTER, A., KOCH, F. e BAZZAN, A. Incentivising Crowdsourced Parking Solutions. Citizen in Sensor Networks. CitSens. Barcelona – Espanha, v. 8313, set. 2014.
KRAJZEWICZ, D., BONERT, M. e WAGNER, P. The open source traffic simulation package SUMO. RoboCup 2006 Infraestructure Simulation Competition. Berlim – Alemanha, 2006.
KRAJZEWICZ, D., ERDMANN, J., BEHRISCH, M. e BIEKER, L. Recent development and applications of SUMO – Simulation of Urban MObility.
International Journal On Advances in Systems and Measurements. Berlim –
KRAJZEWICZ, D., HERTKORN, G., WAGNER, P. e ROSSEL, C. SUMO (Simulation of Urban Mobility). An open-source traffic simulation. Proceeding of the 4th Middle
East Symposium on Simulation and Modeling. Sharjah – Emirados Árabes, p.
183-187, 2002.
MAES, P. Artificial Life Meets Entertainment: Lifelike Autonomous Agents.
Communications of the ACM. v. 138, n. 11, p. 108-114, 1995.
RICCI, A., PUNTI, M., e VIROLI, M. Environment programming in multiagent systems – an artifact-based perspective. Autonomous Agents and Multi-Agent Systems. Special Issue on Programming Multi-Agent Systems. v. 33, n. 2, p. 158-192, set. 2011.
REVATHI, G. e DHULIPALA, V. Smart parking Systems and Sensors: A Survey.
Computing, Communication and Applications. Dindigul – India, p. 1-5, fev. 2012.
SUMO Wiki. Disponível em <http://sumo.dlr.de/wiki>. Acesso em: 10 fevereiro 2016.
TraCI4J GitHub repository. 2011. Disponível em <https://github.com/egueli/TraCI4J>. Acesso em: 15 julho 2016.
VagaBarata (2014). Soluções para quem busca estacionamentos em São Paulo. Disponínel em <http://www.vagabarata.com.br/>. Acesso em: 10 maio 2016.
WEGENER, A., PIÓRKOWSKI, M., RAYA, M., HELLBRÜCK, H., FISCHER, S. E HUBAUX, J. TraCI: An Interface for Coupling Road Traffic and Network Simulators.
11th Communications and Networking Simulation Symposium. Ottawa, Canadá. p. 155-163, 2008.
WOOLDRIDGE, M. Intelligent Agents. Multiagent Systems – A Modern Approach
to Distributed Artificial Intelligence. MIT Press, 1999.
WOOLDRIDGE, M. An Introduction to MultiAgent Systems. 2nd. Ed. [S.1.]: Wiley Publishing, 2009.
APÊNDICE A – INSTALAÇÃO DO SUMO
Este trabalho utilizou a versão 0.27.1 da ferramenta SUMO. A ferramenta pode ser obtida através dos links abaixo (utilize a versão referente ao seu sistema operacional):
32 bits: http://prdownloads.sourceforge.net/sumo/sumo-win32- 0.27.1.zip
64 bits: http://prdownloads.sourceforge.net/sumo/sumo-win64- 0.27.1.zip
As versões anteriores e os códigos fonte da ferramenta podem ser