Nova funcionalidade: Máquina de Estados
"Uma máquina de estados finita (FSM - do inglês Finite State Machine) ou autómato finito é um modelo matemático usado para representar programas de computadores ou circuitos lógicos. O conceito é concebido como uma máquina abstrata que deve estar em um de um número finito de estados. A máquina está em apenas num estado de cada vez, este estado é chamado de estado atual. Um estado armazena informações sobre o passado, isto é, ele reflete as mudanças desde a entrada num estado, no início do sistema, até o momento presente. Uma transição indica uma mudança de estado e é descrita por uma condição que precisa ser realizada para que a transição ocorra. Uma ação é a descrição de uma atividade que deve ser realizada num determinado momento." - Wikipédia (este artigo foi originalmente publicado no blog oficial OMNIA) A última atualização da plataforma OMNIA trouxe grandes melhoramentos à experiência de desenvolvimento, sendo este inteiramente focado no desenvolvimento de Máquinas de Estado (ver documentação). Com esta nova funcionalidade, desenvolver Máquinas de Estados, e os seus respetivos elementos, torna-se num processo mais simples, rápido e intuitivo. Qualquer desenvolvimento que englobe qualquer tipo de workflow de aprovação, como despesas ou férias, serão agora muito mais rápidos. O primeiro passo inclui as seguintes configurações: Cada máquina de estados está pré configurada com dois estados - "Initial" e "Completed" - que podem ser consultados através do respetivo dashboard. Nesta área é possível consultar todos os estados disponíveis e como estes se relacionam entre si (ver diagrama do lado esquerdo da seguinte imagem) O processo de adicionar um novo estado a uma máquina de estados é muito simples e familiar para os utilizadores da plataforma. Através da opção "Add New", localizada no dashboard da Máquina de Estados, iremos ativar um formulário com as seguintes opções de configuração: Para cada estado existem três aspetos que podemos controlar: "Decisões" são um dos três aspetos que podemos controlar num estado. O conceito foi desenvolvido para controlar o que utilizadores específicos podem fazer quando uma entidade atinge um determinado estado. Em adição, as "Decisions" vêm com um campo de comentário que pode ser adicionado e definido como obrigatório, ou facultativo, com apenas um click. "Transições" são o segundo aspeto que podemos controlar dentro de uma máquina de estados. Como o próprio nome indica, uma transição representa uma mudança de um estado para outro e permite avaliar e condicionar a sua execução. As avaliações podem ser baseadas em "Decisões" previamente existentes, ou através de expressões C#. "Comportamentos" é o último aspeto que podemos controlar em state machines e irá permitir a execução de código C# em duas fases distintas: Um dos grandes desafios de desenvolver máquinas de estado complexas reside na visualização do processo como um todo. Por essa razão implementamos um gerador automático de diagramas que apresenta todo o fluxo de estados diretamente no dashboard da Máquina de Estados, como demonstrado na imagem abaixo:Experiência de Modelação
Para criar uma nova máquina de estados, é necessário apenas de recorrer ao botão "Add new" no novo menu dedicado a Máquinas de Estado.
Dashboard
Adicionar novos estados
Decisões | Transições | Comportamentos
Decisões
Transições
Comportamentos
Diagrama de Fluxo de Estados
login para deixar a sua opinião.