Pergunta

Esta questão é um pouco filosófico e é como "dados e código são a mesma coisa ou não".

Existe alguma diferença clara entre o evento (sinal) e estado?

Exemplo:

Por exemplo, há uma passagem do carro pela estrada.Quando a buzina de um automóvel, um homem (man_A) a atravessar a estrada pára de repente.Horn é o sinal, "man_A pára de repente," é o estado de man_A.

Outro homem (man_B) estava atravessando a rua também, no mesmo tempo, no mesmo lugar.

Vamos considerar que man_B era surdo, por isso ele não pode ouvir a buzina.Mas percebendo "man_A parou de repente" seria um sinal para ele.Ele iria parar de repente, como se ele ouviu a buzina.

Então, eu diria: "Um estado pode ser um sinal para outro processo.Um sinal coloca um processo em outro estado.É por isso que eles são exatamente a mesma coisa"

Estou errado, existe uma clara diferença entre eles?

Um sinal é uma alteração de estado.Podemos definir qualquer sinal de dois estados.

Foi útil?

Solução

Bem, um estado não é um sinal porque um sinal de vem em um determinado ponto específico no tempo.

Um estado-mudança é um resultado de um sinal e pode ser visto como um sinal de itsself.Mas não é o estado itsself.O estado continua a ser depois que o sinal é muito longe.

Como seria o estado inicial ser um sinal, por exemplo.

Outras dicas

Eles são muito, muito diferentes:

  • O mesmo evento pode causar transições para estados diferentes, dependendo do estado atual:
    Three states with transitions between them, triggered by the same event

  • Em SCXML você pode ter <parallel> estados definição ortogonal regiões.Neste caso, um único evento pode desencadear múltiplas e simultâneas de transições para estados diferentes:
    enter image description here

  • Além disso, devido à possível presença de cond="…" atributos de uma transição para outro estado poderá ou não ocorre quando acionado por um evento.Então, agora temos um evento que não pode mudar de estado.

  • Além disso, é possível ter uma transição sem event atributo, causando uma alteração de estado assim que algumas modelo de dados de valor ou script resultado é certo.Então, agora, temos uma mudança de estado que pode acontecer com nenhum evento de disparo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top