NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the...

6
NFA-δε: the Non-Deterministic Finite Automaton with Random ε-moves, Environment Awareness and Memory for Serious Games Modeling Allan Oliveira, Fernando Vieira Duarte Departamento de Computação Universidade Federal de São Carlos São Carlos, São Paulo, Brasil [email protected], [email protected] AbstractDeterministic Finite Automaton (DFA) and Discrete Event System Specification (DEVS) are two of the most used formalism to model serious games and simulations in the literature. However, they do not support the input of random events, that could generate ε-moves, they do not support the specification of physical places and they do not have a memory, thus past actions cannot be used as inputs. Therefore, to complement these models of automatons for modeling simulations, this paper proposes a Non-Deterministic Finite Automaton with random ε-moves, environment awareness and memory. A study case of a maintenance serious game situated in a hydro power plant is presented to exemplify the use of the proposed variation of the NFA. KeywordsDFA; NFA; NFA-ε Serious Games; Modeling and Simulation I. INTRODUÇÃO A simulação de um procedimento de treinamento ou de operação de manutenção (por exemplo, inspeção de uma unidade geradora de usina hidrelétrica) necessita de modelos formais, tais como a Especificação de Sistema a Evento Discreto (Discrete Event System Specification DEVS) e o Autômato Determinístico Finito (Deterministic Finite Automaton DFA), para modelagem dos comportamentos do sistema e, se necessário, a inclusão dos pontos de avaliação do desempenho, pela análise da sequência do procedimento usando estes modelos formais [1]. O modelo formal possibilita identificar os pontos de avaliação e as ações tomadas pelo operador/aprendiz, por meio dos seus estados e transições. Quando o operador/aprendiz faz uma ação, isto corresponde a uma transição que leva a um novo estado que pode ser correto ou incorreto, e o operador/aprendiz recebe um feedback sobre a ação realizada (por exemplo, o esquecimento de um Equipamento de Proteção Individual - EPI). Neste caso, a DEVS e o DFA são utilizados para modelar estados e transições bem definidas (o primeiro quando envolve tempo e o segundo quando não envolve tempo). Outros modelos formais oferecem diferentes possibilidades de estilo de modelagem. Por exemplo, o Autômato Finito Não- Determinístico (Non-Deterministic Finite Automaton NFA) permite modelar uma tarefa usando menos estados do que um DFA (provado pelo teorema da equivalência de um NFA para um DFA [1]), por permitir que uma mesma entrada resulte em duas transições diferentes. Outro exemplo é o Autômato Probabilístico (Probabilistic Automaton PA), que atribui uma probabilidade para transições de estados. Neste artigo é apresentado um modelo formal nomeado NFA-δε, baseado na junção de Autômato Finito Não- Determinístico com transições espontâneas (ε) e Autômato Probabilístico. Além disso, uma série de notações e regras novas foram propostas, para que o modelo formal seja capaz de oferecer entradas com valores aleatórios, ciência do ambiente e memória. O objetivo é criar um autômato flexível o bastante para modelar jogos sérios com certo nível de complexidade, sem precisar criar um autômato complexo. O artigo esta dividido em: (II) Notações e formalismo adicionado ao modelo padrão de autômato (DFA) para transformá-lo no NFA-δε (III) Explicação e demonstração das regras usadas para construir um NFA-δε (IV) Discussão sobre os resultados do NFA-δε (V) Conclusão e trabalhos futuros. II. FORMALISMO ADICIONAL AO DFA A. Notações As notações tradicionais de DFA/NFA utilizam a letra ‘q’ para a representação de estados, a letra ‘e’ para a representação de estados de erro, a letra ‘p’ para a representação de uma entrada que gera uma transição (no caso da manutenção, uma transição é equivalente a um procedimento de trabalho) e a letra ‘n’ para a representação de uma entrada negada, ou seja, uma entrada não executada (um procedimento que deixou de ser executado). Embora essas notações sejam suficientes para atender autômatos de problemas simples, quando se aumenta a complexidade da simulação, sente-se a falta de uma variedade maior de notações. Notação 1 Para aumentar a gama de possibilidades na modelagem da simulação, propõe-se primeiramente a notação ‘r’. Essa notação representa a probabilidade de um evento aleatório acontecer (evento que exigirá uma resposta do

Transcript of NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the...

Page 1: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

NFA-δε: the Non-Deterministic Finite Automaton with Random ε-moves, Environment Awareness and

Memory for Serious Games Modeling

Allan Oliveira, Fernando Vieira Duarte Departamento de Computação

Universidade Federal de São Carlos São Carlos, São Paulo, Brasil

[email protected], [email protected]

Abstract— Deterministic Finite Automaton (DFA) and Discrete Event System Specification (DEVS) are two of the most used formalism to model serious games and simulations in the literature. However, they do not support the input of random events, that could generate ε-moves, they do not support the specification of physical places and they do not have a memory, thus past actions cannot be used as inputs. Therefore, to complement these models of automatons for modeling simulations, this paper proposes a Non-Deterministic Finite Automaton with random ε-moves, environment awareness and memory. A study case of a maintenance serious game situated in a hydro power plant is presented to exemplify the use of the proposed variation of the NFA.

Keywords—DFA; NFA; NFA-ε;; Serious Games; Modeling and Simulation

I. INTRODUÇÃO A simulação de um procedimento de treinamento ou de

operação de manutenção (por exemplo, inspeção de uma unidade geradora de usina hidrelétrica) necessita de modelos formais, tais como a Especificação de Sistema a Evento Discreto (Discrete Event System Specification – DEVS) e o Autômato Determinístico Finito (Deterministic Finite Automaton – DFA), para modelagem dos comportamentos do sistema e, se necessário, a inclusão dos pontos de avaliação do desempenho, pela análise da sequência do procedimento usando estes modelos formais [1].

O modelo formal possibilita identificar os pontos de avaliação e as ações tomadas pelo operador/aprendiz, por meio dos seus estados e transições. Quando o operador/aprendiz faz uma ação, isto corresponde a uma transição que leva a um novo estado que pode ser correto ou incorreto, e o operador/aprendiz recebe um feedback sobre a ação realizada (por exemplo, o esquecimento de um Equipamento de Proteção Individual - EPI). Neste caso, a DEVS e o DFA são utilizados para modelar estados e transições bem definidas (o primeiro quando envolve tempo e o segundo quando não envolve tempo).

Outros modelos formais oferecem diferentes possibilidades de estilo de modelagem. Por exemplo, o Autômato Finito Não-Determinístico (Non-Deterministic Finite Automaton – NFA)

permite modelar uma tarefa usando menos estados do que um DFA (provado pelo teorema da equivalência de um NFA para um DFA [1]), por permitir que uma mesma entrada resulte em duas transições diferentes. Outro exemplo é o Autômato Probabilístico (Probabilistic Automaton – PA), que atribui uma probabilidade para transições de estados.

Neste artigo é apresentado um modelo formal nomeado NFA-δε, baseado na junção de Autômato Finito Não-Determinístico com transições espontâneas (ε) e Autômato Probabilístico. Além disso, uma série de notações e regras novas foram propostas, para que o modelo formal seja capaz de oferecer entradas com valores aleatórios, ciência do ambiente e memória.

O objetivo é criar um autômato flexível o bastante para modelar jogos sérios com certo nível de complexidade, sem precisar criar um autômato complexo.

O artigo esta dividido em: (II) Notações e formalismo adicionado ao modelo padrão de autômato (DFA) para transformá-lo no NFA-δε;; (III) Explicação e demonstração das regras usadas para construir um NFA-δε;; (IV) Discussão sobre os resultados do NFA-δε;; (V) Conclusão e trabalhos futuros.

II. FORMALISMO ADICIONAL AO DFA

A. Notações As notações tradicionais de DFA/NFA utilizam a letra ‘q’

para a representação de estados, a letra ‘e’ para a representação de estados de erro, a letra ‘p’ para a representação de uma entrada que gera uma transição (no caso da manutenção, uma transição é equivalente a um procedimento de trabalho) e a letra ‘n’ para a representação de uma entrada negada, ou seja, uma entrada não executada (um procedimento que deixou de ser executado). Embora essas notações sejam suficientes para atender autômatos de problemas simples, quando se aumenta a complexidade da simulação, sente-se a falta de uma variedade maior de notações.

Notação 1 Para aumentar a gama de possibilidades na modelagem da simulação, propõe-se primeiramente a notação ‘r’. Essa notação representa a probabilidade de um evento aleatório acontecer (evento que exigirá uma resposta do

Page 2: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

usuário). Desta forma, é possível criar um único NFA com diversos comportamentos diferentes, aumentando o valor de uma simulação gerada a partir desse autômato. Com essa notação, um modelo de simulação pode ser usado repetidas vezes, pois a experiência do usuário será diferente em cada utilização. Sem essa notação (ou alguma outra forma de se acrescentar eventos aleatórios), a simulação de um treinamento gerada/modelada por um autômato se restringe a uma única utilização por usuário.

Essa notação é inspirada nas transições espontâneas do Autômato Finito Não-Determinístico com Transições espontâneas (NFA-ε), porém a diferença é que as transições ‘r’ tem uma probabilidade definida de acontecer, sorteada no começo da execução da simulação (conceito também presente no Autômato Probabilístico). Por isso, o autômato proposto neste artigo foi nomeado NFA-δε, pois existe a probabilidade de transições espontâneas (ε), mas elas são controladas/influenciadas (a letra delta – δ – é usada tradicionalmente na Matemática para indicar uma diferença em um valor de uma variável).

Exemplo 1 Um exemplo de transição ‘r’ é apresentado na Função de Transição 1 e na Figura 1, onde a transição r01 representa um evento de temperatura acima do normal (sobreaquecimento), com 20% de chance de acontecer, e caso o evento aconteça a transição leva ao estado q02.

Função de transição 1 r01: temperatura alta (20%) -> q02

Figura 1: Exemplo de transição ‘r’.

Notação 2 Outra notação proposta é a ‘l’, que representa um local/lugar. Com essa notação torna-se possível indicar o local onde um estado ou procedimento deve ser realizado. Através desta notação, o NFA proposto é considerado ciente do ambiente do usuário. A representação visual desta notação pode ser visto na Figura 2. Visualmente eles são similares a estados, mas com os contornos tracejados.

Exemplo 2 Um exemplo de uso da notação de local ‘l’ é

l02: dentro do gerador

Figura 2: representação visual da notação ‘l’ de local.

O exemplo 2 é utilizado para representar que uma atividade deve ser realizada dentro do gerador de uma usina hidrelétrica.

Além disso, as notações de locais são definidas em um espaço fora do autômato, como pode ser visto na Figura 3.

Figura 3: Visualização do espaço para definição do autômato e o espaço para definição dos locais.

B. Transição Anytime A transição Anytime (traduzida como ‘a qualquer

momento’) é uma transição de alto nível de abstração que é usada para permitir a geração de transições ‘p’, que podem acontecer independente do estado ‘q’ atual do autômato. Desta forma, a transição Anytime facilita a construção de máquinas de estados reduzidos, e por isso já é usada em modelagens que exigem alto nível, tal como o sistema de animação Mecanim do engine para jogos Unity3D [3].

Um exemplo de transição Anytime pode ser visto na Figura 4. Visualmente a diferença para a transição normal é que as transições Anytime não precisam ter uma origem e são representadas por setas grossas tracejadas.

Figura 4: Exemplo de uso de uma transição Anytime.

C. DFA com memória Assim como a máquina de Turing, o NFA-δε proposto tem

a capacidade de usar o fato de transições terem ou não acontecidas no passado e utilizá-lo para decidir o estado futuro. Desta perspectiva, uma transição ‘p’, após realizada, pode ser usada como entrada para alterar um estado futuro ‘q’, mesmo que essa transição, na teoria, já tenha sido consumida.

Essa escolha também foi feita para poder criar autômatos poderosos, mas simples/pequenos. Embora seja possível modelar um NFA com essas características com uso do modelo base, ele teria diversas ramificações e uma grande quantidade de processos repetidos para atender as ramificações.

A Figura 5 mostra um exemplo do uso da Memória para mudar o resultado de uma transição. A regra usada nessa figura será definida na próxima seção (Regra 3), mas a explicação geral da Figura 5 é que a transição p05 será executada caso a transição n01 já tenha sido executada previamente.

Figura 5: Exemplo do uso da Memória em uma transição de

estados.

Page 3: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

III. REGRAS PARA MODELAGEM DO NFA-𝛿𝜀 Para exemplificar o NFA-δε proposto, utiliza-se o Exemplo

3.

Exemplo 3 O exemplo é extraído de uma instrução de trabalho para inspeção de um gerador de uma usina hidroelétrica, apresentado na Figura 6.

Figura 6: Fragmento de uma instrução de trabalho para inspeção de um gerador de usina hidroelétrica.

Para iniciar a modelagem dessa atividade, as regras de como se usar o NFA- δε devem ser estabelecidas.

Regra 1 No estado qX, usando o procedimento pY, leva-se ao estado qZ. A representação visual pode ser vista na Figura 7.

x qX

o pY -> qZ

Figura 7: Representação visual da Regra 1.

Regra 2 Um estado ‘q’ ou transição ‘p’, ‘n’ ou ‘r’ podem ser extendidos usando-se o símbolo “ponto” (gerando um sub-estado ou sub-transição)

o p01 -> q01 p01.1 p01.2

Figura 8: (A) Representação visual de um conjunto de sub-transições. (B) Representação visual de um conjunto de sub-

estados.

Como visto na Figura 8, o uso do símbolo “ponto” em um estado gera subestados. Esses subestados são equivalentes a um autômato dentro de um autômato, ou seja, é possível definir uma sequência de procedimentos dentro de um estado.

Já o uso do “ponto” em transições é equivalente a operação lógica OR, podendo ser utilizado, portanto, em procedimentos que não tem uma sequência fixa de execução. Como visto na Figura 8, subtransições podem ser representadas como um conjunto usando chaves (“”) ou individualmente usando o “ponto” (“.”). Exemplo 3.1 Com a combinação das regras 1 e 2, a Atividade 8.1 da Figura 6 pode ser modelada da forma a seguir e visualizada na Figura 9:

x q00: permissão para início do serviço

o p01: obter equipamento de proteção -> q01 o n01: esquecer um equipamento de proteção

n01.1: rádio -> q00 n01.2: lanterna -> q00 n01.3: cinto trava-quedas -> q00

o r01: unidade geradora em funcionamento (10%) -> q00

Figura 9: Exemplo de modelagem da atividade 8.1 da Figura 6.

Neste caso, deve-se notar, além da combinação das regras 1 e 2, o uso da memória, pois caso as transições ‘n’ ou ‘r’ aconteçam, elas retornam para o mesmo estado q00 e ficam salvas na memória, podendo ser utilizadas, portanto, futuramente como uma transição. Para demonstrar melhor o uso da memória, primeiro a Regra 3 é apresentada.

Regra 3 No estado qX, usando o procedimento pY, leva-se ao estado qZ. Porém, caso o procedimento pH ou nH ou rH tenha sido executado anteriormente, leva-se ao estado eW. A representação visual pode ser vista na Figura 10.

x qX

o pY -> qZ &(p/n/r)H -> eW

Figura 10: Representação visual da Regra 3.

Page 4: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

Na Regra 3, o símbolo & funciona como um AND lógico, para utilizar a memória e ao mesmo tempo verificar se a transição desejada ocorreu anteriormente, e assim alterar o resultado da transição ‘p’. Exemplo 3.2 A Atividade 8.1 pode ser modelada utilizando a Regra 3 como (visualizada na Figura 11):

x q02: cinto anexado

o p03: descer escada -> q03 &n01.2 -> e01

Figura 11: Exemplo de uso da Regra 3.

Para esse exemplo, pode-se ler: ao tentar descer a escada com o cinto já anexado, caso se tenha esquecido a lanterna, o usuário cometeu um erro.

Regra 4 No estado qX, usando o procedimento pY, leva-se ou ao estado qZ ou ao estado qK, dependendo do resultado do procedimento pY. A representação visual pode ser vista na Figura 12.

x qX

o pY -> qZ | qK

Figura 12: Representação visual da Regra 4.

Exemplo 3.3 A Atividade 8.2 da Figura 6 pode ser modelada com o uso da Regra 4 da seguinte forma, visualizada na Figura 13:

x q03: Atividade Geral

o p04: verificar ruídos -> q05 | q04

x q04: ruídos anormais

x q05: ruídos normais

Figura 13: Exemplo de uso da Regra 4, modelando a atividade

8.2 da Figura 6.

Observando o exemplo, entende-se que a Regra 4 pode ser usada para especificar diversas saídas geradas por uma única

transição. Como as transições representam procedimentos sendo executados, essa regra auxilia a modelar máquinas de estado no qual o resultado do procedimento irá determinar qual o próximo estado.

Regra 5 F(qK,qZ) é um simbolismo que significa que qK é executado como um estado especial e, em seguida, a máquina procede para o estado qZ. Tal regra funciona como uma chamada de função/procedimento em algoritmos e sua representação visual pode ser vista na Figura 14.

x qX

o pY -> qZ | F(qK,qZ)

Figura 14: Representação visual da Regra 5.

A Regra 5 pode ser interpretada da seguinte forma: no estado qX, usando o procedimento pY, leva-se ou ao estado qZ ou ao estado qK, dependendo do resultado do procedimento pY. Porém, devido ao F(qK), caso o estado escolhido seja qK, o procedimento de qK é executado e a máquina avança para o estado qZ.

Exemplo 3.4 A Regra 5 pode ser utilizada para aprimorar a modelagem da atividade apresentada no Exemplo 3.3. A representação pode ser vista na Figura 15.

x q03: Atividade Geral

o p04: verificar ruídos -> q05 | F(q04,q05)

x q04: ruídos anormais

x q05: ruídos normais

Figura 15: Exemplo de uso da Regra 5.

Neste exemplo entende-se que caso a verificação de ruídos detecte ruídos anormais, o usuário deverá primeiramente executar o procedimento para resolver o problema, para então poder avançar na execução normal de suas tarefas.

Exemplo 3.5 Com a junção de todas as regras é possível construir uma máquina de estados mais flexível do que em um NFA-ε normal, que necessita de menos estados e transições para representar o mesmo procedimento, tal como demonstradas a seguir e visualizado na Figura 16:

x q05.1: ruído ou vibrações verificados e OK

Page 5: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

o p06.1: verificar iluminação -> q05.1| F(q05.2, q05.1) & p06.2: q06 | F(q05.2, q06)

o p06.2: verificar condições de limpeza -> q05.1 | F(q05.3, q05.1) & p06.1: q06 | F(q05.3, q06)

x q05.2: lâmpadas apagadas

x q05.3: local sujo

x q06: iluminação e limpeza OK

Figura 16: Exemplo de uso das regras 1 a 5 em um NFA.

Este exemplo ajuda a entender a modelagem de procedimentos que não tem ordem para serem realizados, mas no qual somente após a conclusão o usuário avança no jogo. Portanto lê se o exemplo como: o usuário deve realizar a verificação de iluminação e condições de limpeza, sem uma ordem pré-determinada, e resolver qualquer problema descoberto durante esses procedimentos, para poder avançar para a próxima etapa.

Exemplo 3.6 Para finalizar, demonstra-se o uso da transição Anytime e da notação ‘l’ (de local). Os locais são definidos fora da máquina de estados, tais como:

Locais

x l1: fora do gerador

x l2: dentro do gerador

o l2.1: transdutores de posição das pás do rotor

Com os locais definidos, consegue-se demonstrar o uso da transição Anytime, que também são definidos em um espaço fora da máquina de estados, como:

Anytime

x l2.1

o p101: usar o rádio -> e02

Figura 17: Exemplo de uso das notações de locais e de uma

transição Anytime.

O Exemplo 3.6 pode ser visualizado na Figura 17, e é lido como: se o usuário estiver nos transdutores de posição das pás do rotor e usar o rádio, ele comete um erro. Portanto, este exemplo mostra não somente como deixar a máquina de estado ciente do ambiente, mas também como é possível usar a transição Anytime para criar regras globais que não podem ser desobedecidas durante a execução dos procedimentos da instrução de trabalho.

IV. DISCUSSÃO SOBRE O DFA-𝛿𝜀 Autômatos são usados em jogos sérios para passar o

conhecimento do modelador da simulação para o desenvolvedor/programador. Eles têm o mesmo propósito que documentos de design entregue a programadores, ou seja, são ferramentas de design que ajudam a manter a consistência de um projeto durante seu ciclo de desenvolvimento.

No desenvolvimento de jogos sérios, game designers geralmente usam autômatos como modelos formais para modelagem comportamental [1]. Entretanto, na indústria de jogos, grande parte do desafio, comportamento e experiência que se quer passar para o jogador é realizada no processo chamado level design [4], que não é suportado por um DFA. A Notação 2, de local (‘l’), é proposta neste artigo como um conector entre a modelagem comportamental (o autômato) e o level design, para que seja possível referenciar o ambiente na modelagem do comportamento.

A Notação 2 ganha uma utilidade ainda maior quando usada em conjunto com a transição Anytime. Como essa transição permite criar regras independentes do estado atual do usuário, quando usada em conjunto com a Notação 2 ela permite modelar autômatos que sejam cientes do ambiente do usuário. Em outras palavras seria possível gerar uma tabela de riscos da tarefa por local, e modelar esses riscos no autômato para garantir que o jogo sério ajude o usuário a conhecer os riscos de cada ambiente.

Para aprimorar a capacidade de modelar riscos, a Notação 1 (‘r’) pode ser usada para projetar eventos que acontecerão durante a simulação. Tais eventos têm uma probabilidade de acontecer a cada nova simulação iniciada. Dessa forma, o valor de uma simulação modelada com o NFA-δε tende a ser maior do que o DFA, pois ela vai permitir que os usuários realizem o treinamento mais de uma vez para obter diversos conhecimentos diferentes. Os eventos aleatórios forçam o jogador a se adaptar a situações diferentes em cada partida.

A Memória também ajuda a aumentar a flexibilidade do autômato para gerar diferentes partidas para o usuário. Caso uma transição espontânea ‘r’ acontecesse em um NFA

Page 6: NFA-δε:the Non-Deterministic Finite Automaton … ·  · 2016-08-01NFA-δε:the Non-Deterministic Finite Automaton withRandomε-moves, Environment Awareness and Memory for Serious

tradicional, a máquina de estados seria obrigada a trocar de estado e criar uma ramificação para gerenciar essa transição. Com a adição da Memória, transições podem acontecer a qualquer momento e serem usadas posteriormente, o que tende a diminuir o número de estados necessários para construir um autômato. Por exemplo, caso um evento aleatório seja sorteado em uma partida, ao invés de modelar uma transição para um grupo de estados responsáveis por esse evento, ele ficará salvo na memória da máquina (como uma transição já realizada) e pode ser usado posteriormente para levar a uma transição diferente da esperada (como mostrado no exemplo 3.2).

Além disso, as regras também ajudam a flexibilizar mais o autômato proposto. Elas aproximam o autômato a uma linguagem de algoritmo, permitindo criar uma lógica de execução para eles. A regra 3 por exemplo, se aproxima de uma estrutura “SE-ENTÃO-SENÃO”, pois caso a transição dentro do ‘&’ seja verdadeira ela é executada, se não a transição original é a executada.

Já a regra 4 potencializa o autômato ao permitir que transições retornem um resultado verdadeiro ou falso (ou no caso, se funcionou ou se não funcionou). Devido a essa regra o autômato proposto foi determinado como sendo não-determinístico, ou seja, um autômato no qual uma mesma entrada pode gerar diferentes transições. Porém, diferente do NFA, a regra 4 subentende que o processo da transição que irá determinar qual o próximo estado. Em outras palavras, em um NFA, as entradas são o importante para definir as transições, já no NFA-δε, o processo em si de executar a transição ganha importância (o procedimento técnico), e o resultado deste processo pode alterar a função de transição. Essa regra é interessante devido a natureza do ambiente de simulação, que exige uma interação com o ambiente virtual.

A última regra, 5, da ao autômato o poder da recursividade. Com essa regra é possível modelar uma mecânica similar a chamadas de procedimentos/funções em algoritmo. Entretanto, enquanto que procedimentos visam a reduzir o código ao transformar um pedaço de código em reusável, o principal objetivo da regra 5 é criar “subprocedimentos” que podem ser acionados e quando finalizados o fluxo de execução da máquina de estado retoma o estado prévio. Futuramente ele será usado para comunicação entre diferentes máquinas de estado, para que seja possível definir diversas “micro máquinas

de estado” que conversam entre si, ao invés de um grande autômato que modela toda a simulação.

V. CONCLUSÃO E TRABALHOS FUTUROS Neste artigo é proposto uma série de adições a Autômatos

Finitos Não-Determinísticos para melhor capacitá-los a auxiliar a modelagem do comportamento em jogos sérios. Embora seja possível reproduzir a maioria das propostas no modelo original de NFA, o modelo proposto NFA-δε tem como principal objetivo facilitar a modelagem, através de regras que diminuam a complexidade.

As novas regras e notações sugeridas no artigo permitem modelar jogos sérios de forma mais fácil, ao diminuir o número de estados necessários para se criar modelos complexos de comportamento em uma simulação.

Futuramente o autômato proposto será expandido para atender a alguns requisitos ainda não listados neste artigo, como por exemplo, permitir adicionar uma lista de riscos de cada procedimento e o seu método de controle de forma mais fácil, e também definir melhor os espaços fora do autômato central (tanto a transição Anytime como a notação de local ‘l’). Além disso, esse autômato será usado para gerar simulações que treinarão o usuário a desenvolver um melhor nível de consciência da situação, e algumas regras serão criadas para atender esse requisito [5].

AGRADECIMENTOS Agradecemos ao CNPq e FAPESP pelo financiamento ao

INCT-SEC, processos 573963/2008-8 e 08/57870-9.

REFERÊNCIAS [1] Rocha, R.V.; Araujo, R.B.;; “Metodologia de Design de Jogos Sérios

para Treinamento: Ciclo de vida de criação, desenvolvimento e produção”, Simpósio Brasileiro de Jogos e Entretenimento Digital (SBGames 2013), 2013, p. 63-72.

[2] Hopcroft J., Motwani R., Ullman J.; “Introduction to Automata Theory, Languages, and Computation”, Prentice Hall, 3 edição , 2006.

[3] http://docs.unity3d.com/Manual/MecanimAnimationSystem.html [4] Rogers S; “Level Up!: The Guide to Great Video Game Design”, Wiley,

1 edição, 2010. [5] Endsley M.; Jones D.; “Designing for Situation Awareness: An

Approach to User-Centered Design”, CRC Press, 2 edição, 2011.