Código 30 – Resultado da verificação formal do desvio pela esquerda
5.1 TRABALHO FUTUROS
A partir dos resultados obtidos, os seguintes trabalhos podem ser realizados dando con- tinuidade ao estudo das áreas apresentadas:
∙ Expansão dos cenários de atuação do agente implementado, como a inclusão de cruzamentos;
∙ Implementação de diferentes tipos de sensores para detecção de novos elementos no ambiente, como cruzamentos e calçadas;
∙ Implementação de conceitos de velocidade e aceleração na condução do veículo autônomo;
∙ Extensão da ferramenta SAE para lidar com obstáculos dinâmicos; ∙ Verificação formal das ações de desvio de obstáculos dinâmicos; ∙ Implementação de técnicas de desvio de obstáculos;
∙ Extensão do ambiente para lidar com rotas onde seu destino é definido pelo usuário; ∙ Implantação do projeto para regras de trânsito urbano.
REFERÊNCIAS
AASHTO, A. Policy on geometric design of highways and streets. American Association of
State Highway and Transportation Officials, Washington, DC, v. 1, n. 990, p. 158, 2001.
ADMINISTRATION, National Highway Traffic Safety et al. Preliminary statement of policy concerning automated vehicles. Washington, DC, p. 1–14, 2013.
BAIER, Christel; KATOEN, Joost-Pieter; LARSEN, Kim Guldstrand. Principles of model
checking. [S.l.]: MIT press, 2008.
BERTONCELLO, Michele; WEE, Dominik. Ten ways autonomous driving could
redefine the automotive world. McKinsey&Company, 2015. Acesso em: 04 abr. 2017.
Disponível em: <http://www.mckinsey.com/industries/automotive-and-assembly/our-insights/ ten-ways-autonomous-driving-could-redefine-the-automotive-world>.
BORDINI, Rafael H; HÜBNER, Jomi Fred; WOOLDRIDGE, Michael. Programming
multi-agent systems in AgentSpeak using Jason. [S.l.]: John Wiley & Sons, 2007. v. 8.
BORDINI, Rafael Heitor; VIEIRA, Renata. Linguagens de programação orientadas a agentes: uma introdução baseada em agentspeak (l). Revista de informática teórica e aplicada. Porto
Alegre. Vol. 10, n. 1 (2003), p. 7-38, 2003.
BRATMAN, Michael. Intention, plans, and practical reason. 1987.
BRATMAN, Michael E. What is intention. Intentions in communication, p. 15–32, 1990. BRODBECK, Pedro. Para economizar combustível, carros ficam
cada vez mais leves. Gazeta do Povo, 2014. Acesso em: 12 mai.
2017. Disponível em: <http://www.gazetadopovo.com.br/economia/
para-economizar-combustivel-carros-ficam-cada-vez-mais-leves-ef0jthtzw25twro0rc0g5c0ni>. CAMERON, Oliver. Challenge #1: 3D Model for Camera Mount. 2016.
Acesso em: 25 abr. 2018. Disponível em: <https://medium.com/udacity/ challenge-1-3d-model-for-camera-mount-f5ffcc1655b5>.
. Challenge #2: Using Deep Learning to Predict Steering Angles. 2016. Acesso em: 25 abr. 2018. Disponível em: <https://medium.com/udacity/ challenge-2-using-deep-learning-to-predict-steering-angles-f42004a36ff3>.
. Challenge #3: Image-Based Localization. 2016. Acesso em: 25 abr. 2018. Disponível em: <https://medium.com/udacity/challenge-3-image-based-localization-5d9cadcff9e7>.
. Challenge #4: Self-Driving Car Android Dashboard. 2016. Acesso em: 25 abr. 2018. Disponível em: <https://medium.com/udacity/ challenge-4-self-driving-car-android-dashboard-83a2a5c8b29e>.
. We’re Building an Open Source Self-Driving Car. 2016. Acesso em: 22 abr. 2018. Disponível em: <https://medium.com/udacity/ were-building-an-open-source-self-driving-car-ac3e973cd163>.
CAMPBELL, Mark et al. Autonomous driving in urban environments: approaches, lessons and challenges. Philosophical Transactions of the Royal Society of London A: Mathematical,
CAMPOS, Andre. Agentes inteligentes. 2007. Acesso em: 16 abr. 2017. Disponível em: <https://www.dimap.ufrn.br/~andre/sma/agente.pdf>.
CBINSIGHTS. 33 Corporations Working On Autonomous Vehicles. 2016. Acesso em: 04 abr. 2017. Disponível em: <https://www.cbinsights.com/blog/ autonomous-driverless-vehicles-corporations-list/>.
. 44 Corporations Working On Autonomous Vehicles. 2017. Acesso em: 04 abr. 2017. Disponível em: <https://www.cbinsights.com/blog/ autonomous-driverless-vehicles-corporations-list/>.
CLARKE, Edmund M; GRUMBERG, Orna; PELED, Doron. Model checking. [S.l.]: MIT press, 1999.
DENNIS, Louise; FISHER, Michael. Draft Verifiable Autonomous Systems. 2016.
DENNIS, Louise et al. Model checking agent programming languages. Automated Software
Engineering, v. 19, n. 1, p. 5–63, 2012. ISSN 0928-8910.
DENNIS, Louise A. The MCAPL Manual: Covering the Agent Infrastructure Layer (AIL)
and Agent Java Pathfinder (AJPF). 2017.
DENNIS, Louise A; FARWER, Berndt. Gwendolen: A bdi language for verifiable agents. In:
Proceedings of the AISB 2008 Symposium on Logic and the Simulation of Interaction and Reasoning, Society for the Study of Artificial Intelligence and Simulation of Behaviour.
[S.l.: s.n.], 2008. p. 16–23.
DENNIS, Louise A et al. A flexible framework for verifying agent programs. In:
INTERNATIONAL FOUNDATION FOR AUTONOMOUS AGENTS AND MULTIAGENT SYSTEMS. Proceedings of the 7th international joint conference on Autonomous agents
and multiagent systems-Volume 3. [S.l.], 2008. p. 1303–1306.
DILL, David L. What’s between simulation and formal verification? In: IEEE. Design
Automation Conference, 1998. Proceedings. [S.l.], 1998. p. 328–329.
FERBER, Jacques. Multi-agent systems: an introduction to distributed artificial
intelligence. [S.l.]: Addison-Wesley Reading, 1999. v. 1.
FERNANDES, Lucas Emanuel Ramos. Implementação e verificação formal de planos de
um agente racional modelado para condução de um veículo autônomo. 2017.
FIEB, FEDERAÇÃO DAS INDÚSTRIAS DO ESTADO DA BAHIA. CNI:
Falta de mobilidade nas cidades afeta competitividade da indústria. 2012.
Acesso em: 02 abr. 2017. Disponível em: <http://www.fieb.org.br/Noticia/1168/ cni-falta-de-mobilidade-nas-cidades-afeta-competitividade-da-industria.aspx>.
FIGUEIREDO, Cândido de et al. Novo diccionário da língua portuguesa. AM Teixeira, 1913. FISHER, Michael. A survey of concurrent metatem—the language and its applications.
Temporal Logic, Springer, p. 480–505, 1994.
FITZSIMMONS, Michelle. Waymo: everything you need to know from Google until now. 2018. Acesso em: 27 abr. 2018. Disponível em: <https://www.techradar.com/news/waymo>.
FRAGA, Nayara; CARVALHO, Pedro. A nova era dos veículos guiados por computador. 2016. Acesso em: 04 abr. 2017. Disponível em: <http://epocanegocios.globo.com/Tecnologia/ noticia/2016/12/nova-era-dos-veiculos-guiados-por-computador.html>.
G1. Carro autônomo do Uber tomba em acidente nos EUA; testes são suspensos. 2017. Acesso em: 22 mar. 2018. Disponível em: <http://g1.globo.com/carros/noticia/ uber-suspende-teste-de-carros-autonomos-apos-acidente-nos-eua.ghtml>.
GIACOMO, Giuseppe De; LESPÉRANCE, Yves; LEVESQUE, Hector J. Congolog, a concurrent programming language based on the situation calculus. Artificial Intelligence, Elsevier, v. 121, n. 1-2, p. 109–169, 2000.
GILLIN, Paul. Self-Driving Cars Solving 21st Century Problems. Connected Futures, 2016. Acesso em: 11 mai. 2017. Disponível em: <http://www.connectedfuturesmag.com/a/W16C15/ selfdriving-cars-solving-21st-century-problems/#.WTrjVze1vQo>.
GOOGLE. Waymo. 2017. Acesso em: 03 mai. 2017. Disponível em: <https://waymo.com/>. GREENE, Tristan. Google and Waymo are tackling the biggest obstacles on the
way to truly autonomous vehicles. 2018. Acesso em: 29 abr. 2018. Disponível em:
<https://thenextweb.com/artificial-intelligence/2018/05/08/google-announces/>.
HAVELUND, Klaus; PRESSBURGER, Thomas. Model checking java programs using java pathfinder. International Journal on Software Tools for Technology Transfer (STTT), Springer, v. 2, n. 4, p. 366–381, 2000.
HINDRIKS, Koen V et al. Agent programming with declarative goals. In: SPRINGER.
International Workshop on Agent Theories, Architectures, and Languages. [S.l.], 2000. p.
228–243.
. Formal semantics for an abstract agent programming language. In: SPRINGER.
International Workshop on Agent Theories, Architectures, and Languages. [S.l.], 1997. p.
215–229.
HOEK, Wiebe Van der; WOOLDRIDGE, Michael. Towards a logic of rational agency. Logic
Journal of IGPL, Oxford Univ Press, v. 11, n. 2, p. 135–159, 2003.
HOWDEN, Nick et al. Jack intelligent agents-summary of an agent infrastructure. In: 5th
International conference on autonomous agents. [S.l.: s.n.], 2001.
HUBER, Marcus J. Jam: A bdi-theoretic mobile agent architecture. In: ACM. Proceedings of
the third annual conference on Autonomous Agents. [S.l.], 1999. p. 236–243.
INRIX. INRIX | Los Angeles Tops INRIX Global Congestion Ranking. 2017. Acesso em: 03 abr. 2017. Disponível em: <http://inrix.com/press-releases/ los-angeles-tops-inrix-global-congestion-ranking/>.
JENNINGS, Nicholas R; SYCARA, Katia; WOOLDRIDGE, Michael. A roadmap of agent research and development. Autonomous agents and multi-agent systems, Kluwer Academic Publishers, v. 1, n. 1, p. 7–38, 1998.
JOHNSON, Leif. Uber self-driving cars: everything you need to know. 2018. Acesso em: 27 abr. 2018. Disponível em: <https://www.techradar.com/news/uber-self-driving-cars>.
KINNY, David. The 𝜓 calculus: An algebraic agent language. In: SPRINGER. International
Workshop on Agent Theories, Architectures, and Languages. [S.l.], 2001. p. 32–50.
KUMAR, Sanjeev; COHEN, Philip R; HUBER, Marcus J. Direct execution of team
specifications in staple. In: ACM. Proceedings of the first international joint conference on
Autonomous agents and multiagent systems: part 2. [S.l.], 2002. p. 567–568.
LEITE, João Alexandre; ALFERES, José Júlio; PEREIRA, Luís Moniz. Minerva-a dynamic logic programming agent architecture. In: SPRINGER. International Workshop on Agent
Theories, Architectures, and Languages. [S.l.], 2001. p. 141–157.
NVIDIA. NVIDIA DRIVE Enables Automakers to Create Self-Driving Vehi-
cles That Can Operate Safely Even When Faults Are Detected. 2018.
Acesso em: 22 abr. 2018. Disponível em: <https://nvidianews.nvidia.com/news/ nvidia-announces-worlds-first-functionally-safe-ai-self-driving-platform>. OWEN, Malcolm. Self-driving cars and ’Project Titan’ still a big
focus at Apple, according to patent filings. 2018. Acesso em: 27
abr. 2018. Disponível em: <https://appleinsider.com/articles/18/03/22/
self-driving-cars-and-project-titan-still-a-big-focus-at-apple-according-to-patent-filings>. OZGUNER, Umit; ACARMAN, Tankut; REDMILL, Keith Alan. Autonomous ground
vehicles. [S.l.]: Artech House, 2011.
PEDEN, Margie et al. World report on road traffic injury prevention. [S.l.]: World Health Organization Geneva, 2004.
PERCIVAL, Gil Alexander. The Nature of Intention. Tese (Doutorado) — UCL (University College London), 2014.
POKAHR, Alexander; BRAUBACH, Lars; LAMERSDORF, Winfried. Jadex: A bdi reasoning engine. Multi-agent programming, Springer, p. 149–174, 2005.
PULLEN, John Patrick. You Asked: How Do Driverless Cars Work? 2015. Acesso em: 03 mai. 2017. Disponível em: <http://time.com/3719270/you-asked-how-do-driverless-cars-work/>. RAO, Anand. Agentspeak (l): Bdi agents speak out in a logical computable language. Agents
breaking away, Springer, p. 42–55, 1996.
RAO, Anand S; WOOLDRIDGE, Michael. Foundations of rational agency. In: Foundations of
rational agency. [S.l.]: Springer, 1999. p. 1–10.
REIS, Thiago. Com aumento da frota, país tem 1 automóvel para cada 4 habitantes. 2014. Acesso em: 15 abr. 2017. Disponível em: <http://g1.globo.com/brasil/noticia/2014/03/ com-aumento-da-frota-pais-tem-1-automovel-para-cada-4-habitantes.html>.
RIEMSDIJK, Birna van; HOEK, Wiebe van der; MEYER, John-Jules Ch. Agent programming in dribble: from beliefs to goals using plans. In: ACM. Proceedings of the second international
joint conference on Autonomous agents and multiagent systems. [S.l.], 2003. p. 393–400.
RODRIGUES, JC. A imprevisibilidade aceitável na direção autônoma: Porque a ausência de respostas éticas não deve impedir a adoção de carros autônomos. 2017.
SANGHAVI, Alok. What is formal verification? EE Times_Asia, 2010.
SCHONBERGER, Viktor Mayer. The last things that will make us uniquely human. 2017. SHOHAM, Yoav. Agent-oriented programming. Artificial intelligence, Elsevier, v. 60, n. 1, p. 51–92, 1993.
SILBERG, Gary et al. Self-driving cars: The next revolution. White paper, KPMG LLP &
Center of Automotive Research, 2012.
SUBRAHMANIAN, Ventatramanan S. Heterogeneous agent systems. [S.l.]: MIT press, 2000.
SURMENOK, Pavel. Self-driving Cars are New Rocket Science. 2018. Acesso em: 22 abr. 2018. Disponível em: <https://medium.com/@surmenok/ self-driving-cars-are-new-rocket-science-451dcb14d825>.
TESLA. Autopilot. 2018. Acesso em: 05 mai. 2017. Disponível em: <https://www.tesla.com/ autopilot>.
TITLOW, John Paul. Self-Driving Cars Will Be The Biggest Auto Safety Innovation
Ever. Fast Company, 2015. Disponível em: <https://www.fastcompany.com/3043273/
self-driving-cars-will-be-the-biggest-auto-safety-innovation-ever>.
UBER. Steel City’s New Wheels. 2016. Acesso em: 05 mai. 2017. Disponível em: <https://www.uber.com/blog/pittsburgh/new-wheels/>.
UDACITY. An Open Source Self-Driving Car. 2016. Acesso em: 22 abr. 2018. Disponível em: <https://www.udacity.com/self-driving-car>.
. Udacity/self-driving-car. 2018. Acesso em: 25 abr. 2018. Disponível em: <https://github.com/udacity/self-driving-car>.
ULBRICH, Simon et al. Towards a functional system architecture for automated vehicles.
arXiv preprint arXiv:1703.08557, 2017.
VANCIN, Paulo Henrique. Fusão de imagens e sensores inerciais para a estimação e
controle de veículos autônomos. Dissertação (Mestrado) — Pontifícia Universidade Católica
do Rio Grande do Sul, 2016.
WINIKOFF, Michael. Implementing commitment-based interactions. In: ACM. Proceedings
of the 6th international joint conference on Autonomous agents and multiagent systems.
[S.l.], 2007. p. 128.
WINIKOFF, Michael et al. Declarative and procedural goals in intelligent agent systems. In: MORGAN KAUFMAN. International Conference on Principles of Knowledge
Representation and Reasoning. [S.l.], 2002.
WOOLDRIDGE, Michael. Intelligent Agents. [S.l.]: The MIT Press, 1999.
. An Introduction to MultiAgent Systems. 2nd. ed. New York: J. Wiley, 2009. ISBN 978-0-470-51946-2.
WOOLDRIDGE, Michael; JENNINGS, Nicholas R. Intelligent agents: Theory and practice.
WORLAND, Justin. Self-Driving Cars Could Help Save the Environment—Or
Ruin It. It Depends on Us. TIME, 2016. Acesso em: 12 mai. 2017. Disponível em:
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()), ~B(car,obs1Close()), ~A(car,go_left()),~T R ~A(car,go_left()), T U B(car,obs1Close()),
True in next State: ~T R ~A(car,go_left()),T U B(car,obs1Close()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,obs1Close()),~A(car,go_left()), ~T R ~A(car,go_left()), T U B(car,obs1Close()),
True in next State: ~T R ~A(car,go_left()),T U B(car,obs1Close()),
Number: 10
Incoming States: 3,6,
True in this State: B(car,obs1Close()),~A(car,go_left()), ~T R ~A(car,go_left()), T U B(car,obs1Close()),
True in next State: ~T R ~A(car,go_left()),
Number: 12
Incoming States: 10,12,20,
True in this State: ~A(car,go_left()),~T R ~A(car,go_left()), True in next State: ~T R ~A(car,go_left()),
Number: 20
Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()), B(car,obs1Close()),~A(car,go_left()),~T R ~A(car,go_left()), T U B(car,obs1Close()),
True in next State: ~T R ~A(car,go_left()),
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()),
~B(car,obs1Close()),~A(car,run()),T U B(car,obs1Close()),T U A(car,run()), True in next State: T U B(car,obs1Close()),T U A(car,run()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,obs1Close()),~A(car,run()), T U B(car,obs1Close()),T U A(car,run()),
True in next State: T U B(car,obs1Close()),T U A(car,run()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,run()),~B(car,obs1Close()), T U B(car,obs1Close()),T U A(car,run()),
True in next State: T U B(car,obs1Close()),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,obs1Close()),T U B(car,obs1Close()), True in next State: T U B(car,obs1Close()),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,obs1Close()),T U B(car,obs1Close()),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,obs1Close()),~A(car,run()), T U B(car,obs1Close()),T U A(car,run()),
True in next State: T U A(car,run()),
Number: 22
Incoming States: 20,22,39,
True in next State: T U A(car,run()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,run()),T U A(car,run()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,obs1Close()),A(car,run()), T U B(car,obs1Close()),T U A(car,run()),
Number: 34
Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()),A(car,run()), ~B(car,obs1Close()),T U B(car,obs1Close()),T U A(car,run()),
True in next State: T U B(car,obs1Close()),
Number: 39
Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()),
B(car,obs1Close()),~A(car,run()),T U B(car,obs1Close()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 43
Incoming States: 0,
True in this State: B(car,change_lane()),B(car,in_lane1()), B(car,obs1Close()),A(car,run()),T U B(car,obs1Close()), T U A(car,run()),
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,trafficLightRed()),
~B(car,trafficLightClose()),~A(car,run()),T U B(car,trafficLightClose()), T U A(car,run()),
True in next State: T U B(car,trafficLightClose()), T U A(car,run()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()), T U A(car,run()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,run()),~B(car,trafficLightClose()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,trafficLightClose()), T U B(car,trafficLightClose()),
True in next State: T U B(car,trafficLightClose()),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,trafficLightClose()), T U B(car,trafficLightClose()),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U A(car,run()),
Number: 22
Incoming States: 20,22,39,
True in this State: ~A(car,run()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,run()),T U A(car,run()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 34
Incoming States: 0,
True in this State: B(car,trafficLightRed()),A(car,run()), ~B(car,trafficLightClose()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U B(car,trafficLightClose()),
Number: 39
Incoming States: 0,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), ~A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 43
Incoming States: 0,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()),
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,trafficLightRed()),~B(car,trafficLightClose()), ~A(car,run()),T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()), T U A(car,run()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()), T U A(car,run()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,run()),~B(car,trafficLightClose()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,trafficLightClose()), T U B(car,trafficLightClose()),
True in next State: T U B(car,trafficLightClose()),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,trafficLightClose()), T U B(car,trafficLightClose()),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 22
Incoming States: 20,22,39,
True in this State: ~A(car,run()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,run()),T U A(car,run()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 34
Incoming States: 0,
True in this State: B(car,trafficLightRed()),A(car,run()), ~B(car,trafficLightClose()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U B(car,trafficLightClose()),
Number: 39
Incoming States: 0,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), ~A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 43
Incoming States: 0,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()),
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,trafficLightRed()),~B(car,trafficLightClose()), ~A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),T U A(car,run()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),T U A(car,run()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,run()),~B(car,trafficLightClose()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,trafficLightClose()), T U B(car,trafficLightClose()),
True in next State: T U B(car,trafficLightClose()),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,trafficLightClose()), T U B(car,trafficLightClose()),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 22
Incoming States: 20,22,39,
True in this State: ~A(car,run()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,run()),T U A(car,run()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,trafficLightClose()),A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 34
Incoming States: 0,
True in this State: B(car,trafficLightRed()),A(car,run()), ~B(car,trafficLightClose()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U B(car,trafficLightClose()),
Number: 39
Incoming States: 0,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), ~A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 43
Incoming States: 0,
True in this State: B(car,trafficLightClose()), B(car,trafficLightRed()),A(car,run()),
T U B(car,trafficLightClose()),T U A(car,run()),
[INFO] Number: 2 Incoming States: 0,2,
True in this State: ~B(car,trafficLightGreen()),
T U B(car,trafficLightClose()) /\ B(car,trafficLightRed()) /\ T U A(car,run()) R ~B(car,trafficLightGreen()),
True in next State: T U B(car,trafficLightClose()) /\ B(car,trafficLightRed()) /\ T U A(car,run()) R ~B(car,trafficLightGreen()),
Number: 7
Incoming States: 0,2,
True in this State: B(car,trafficLightRed()),
~B(car,trafficLightClose()),~B(car,trafficLightGreen()), ~A(car,run()),T U B(car,trafficLightClose()) /\
B(car,trafficLightRed()) /\ T U A(car,run()) R
~B(car,trafficLightGreen()),T U B(car,trafficLightClose()), T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),T U A(car,run()),
Number: 10
Incoming States: 7,10,
True in this State: ~B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),T U A(car,run()),
Number: 14
Incoming States: 7,10,
True in this State: A(car,run()),~B(car,trafficLightClose()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U B(car,trafficLightClose()),
Number: 16
Incoming States: 14,16,38,
True in this State: ~B(car,trafficLightClose()), T U B(car,trafficLightClose()),
True in next State: T U B(car,trafficLightClose()),
Number: 19
Incoming States: 14,16,38,
T U B(car,trafficLightClose()),
Number: 20
Incoming States: 19,20,29,32,47, True in this State:
Number: 24
Incoming States: 7,10,
True in this State: B(car,trafficLightClose()),~A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
True in next State: T U A(car,run()),
Number: 26
Incoming States: 24,26,43,
True in this State: ~A(car,run()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 29
Incoming States: 24,26,43,
True in this State: A(car,run()),T U A(car,run()),
Number: 32
Incoming States: 7,10,
True in this State: B(car,trafficLightClose()),A(car,run()), T U B(car,trafficLightClose()),T U A(car,run()),
Number: 38
Incoming States: 0,2,
True in this State: B(car,trafficLightRed()),A(car,run()), ~B(car,trafficLightClose()),~B(car,trafficLightGreen()), T U B(car,trafficLightClose()) /\ B(car,trafficLightRed()) /\ T U A(car,run()) R ~B(car,trafficLightGreen()),
T U B(car,trafficLightClose()),T U A(car,run()), True in next State: T U B(car,trafficLightClose()),
Number: 43
Incoming States: 0,2,
True in this State: B(car,trafficLightClose()),
B(car,trafficLightRed()),~B(car,trafficLightGreen()), ~A(car,run()),T U B(car,trafficLightClose()) /\
B(car,trafficLightRed()) /\ T U A(car,run()) R
~B(car,trafficLightGreen()),T U B(car,trafficLightClose()), T U A(car,run()),
True in next State: T U A(car,run()),
Number: 47
Incoming States: 0,2,
True in this State: B(car,trafficLightClose()),B(car,trafficLightRed()), A(car,run()),~B(car,trafficLightGreen()),T U B(car,trafficLightClose()) /\ B(car,trafficLightRed()) /\ T U A(car,run()) R
~B(car,trafficLightGreen()),T U B(car,trafficLightClose()), T U A(car,run()),
APÊNDICE G - Log da verificação formal da ação ao detectar um pedestre atravessando a
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,pedestrianWalking()),~B(car,crosswalkClose()), ~A(car,run()),
T U B(car,crosswalkClose()),T U A(car,run()),
True in next State: T U B(car,crosswalkClose()),T U A(car,run()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,crosswalkClose()),~A(car,run()), T U B(car,crosswalkClose()),T U A(car,run()),
True in next State: T U B(car,crosswalkClose()),T U A(car,run()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,run()),~B(car,crosswalkClose()), T U B(car,crosswalkClose()),T U A(car,run()),
True in next State: T U B(car,crosswalkClose()),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,crosswalkClose()), T U B(car,crosswalkClose()),
True in next State: T U B(car,crosswalkClose()),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,crosswalkClose()), T U B(car,crosswalkClose()),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,crosswalkClose()),~A(car,run()), T U B(car,crosswalkClose()),T U A(car,run()),
Number: 22
Incoming States: 20,22,39,
True in this State: ~A(car,run()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,run()),T U A(car,run()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,crosswalkClose()),A(car,run()), T U B(car,crosswalkClose()),T U A(car,run()),
Number: 34
Incoming States: 0,
True in this State: B(car,pedestrianWalking()),A(car,run()), ~B(car,crosswalkClose()),
T U B(car,crosswalkClose()),T U A(car,run()), True in next State: T U B(car,crosswalkClose()),
Number: 39
Incoming States: 0,
True in this State: B(car,crosswalkClose()),B(car,pedestrianWalking()) ,~A(car,run()),
T U B(car,crosswalkClose()),T U A(car,run()), True in next State: T U A(car,run()),
Number: 43
Incoming States: 0,
True in this State: B(car,crosswalkClose()),B(car,pedestrianWalking()), A(car,run()),
T U B(car,crosswalkClose()),T U A(car,run()),
[INFO] Number: 3 Incoming States: 0,
True in this State: B(car,maxVelocity(5.0)),
~B(car,velocity(5.0)),~A(car,accelerate()),T U B(car,velocity(5.0)), T U A(car,accelerate()),
True in next State: T U B(car,velocity(5.0)),T U A(car,accelerate()),
Number: 6
Incoming States: 3,6,
True in this State: ~B(car,velocity(5.0)),~A(car,accelerate()), T U B(car,velocity(5.0)),T U A(car,accelerate()),
True in next State: T U B(car,velocity(5.0)), T U A(car,accelerate()),
Number: 10
Incoming States: 3,6,
True in this State: A(car,accelerate()),~B(car,velocity(5.0)), T U B(car,velocity(5.0)),T U A(car,accelerate()),
True in next State: T U B(car,velocity(5.0)),
Number: 12
Incoming States: 10,12,34,
True in this State: ~B(car,velocity(5.0)),T U B(car,velocity(5.0)), True in next State: T U B(car,velocity(5.0)),
Number: 15
Incoming States: 10,12,34,
True in this State: B(car,velocity(5.0)),T U B(car,velocity(5.0)),
Number: 16
Incoming States: 15,16,25,28,43, True in this State:
Number: 20
Incoming States: 3,6,
True in this State: B(car,velocity(5.0)),~A(car,accelerate()), T U B(car,velocity(5.0)),T U A(car,accelerate()),
True in next State: T U A(car,accelerate()),
Incoming States: 20,22,39,
True in this State: ~A(car,accelerate()),T U A(car,accelerate()), True in next State: T U A(car,accelerate()),
Number: 25
Incoming States: 20,22,39,
True in this State: A(car,accelerate()),T U A(car,accelerate()),
Number: 28
Incoming States: 3,6,
True in this State: B(car,velocity(5.0)),A(car,accelerate()), T U B(car,velocity(5.0)),T U A(car,accelerate()),
Number: 34
Incoming States: 0,
True in this State: B(car,maxVelocity(5.0)),A(car,accelerate()),
~B(car,velocity(5.0)),T U B(car,velocity(5.0)),T U A(car,accelerate()), True in next State: T U B(car,velocity(5.0)),
Number: 39
Incoming States: 0,
True in this State: B(car,maxVelocity(5.0)),B(car,velocity(5.0)), ~A(car,accelerate()),T U B(car,velocity(5.0)),
T U A(car,accelerate()),
True in next State: T U A(car,accelerate()),
Number: 43
Incoming States: 0,
True in this State: B(car,maxVelocity(5.0)),B(car,velocity(5.0)), A(car,accelerate()),T U B(car,velocity(5.0)),T U A(car,accelerate()),