
Na postagem anterior desta série, mencionamos que a modelagem orientada por dados no Simio pode ser resumida em duas etapas principais: inserir os dados no Simio e, em seguida, usar os dados para orientar os objetos e processos do modelo Simio. Neste post, vamos nos concentrar em como as tabelas de dados do Simio podem ser usadas para facilitar a modelagem orientada por dados e a integração com aplicativos externos.
As tabelas de dados do Simio armazenam dados tabulares usando uma estrutura padrão de linha/coluna em que itens de dados individuais podem ser referenciados dinamicamente usando as funções padrão Table[Row, Column] ou Table[Row].ColumnName. No entanto, o verdadeiro poder vem com o uso de referências de linha para mapear linhas específicas da tabela para objetos ou tokens do Simio. Quando uma referência de linha é definida, os itens de dados são referenciados usando Table.ColumnName e a linha específica da tabela é inferida a partir da referência de linha. Isso facilita a modelagem orientada por dados, em que quantidades significativas da lógica do modelo e propriedades são especificadas usando tabelas de dados.
Primeiros passos
Considere um modelo de sistema de atendimento ao cliente em que os objetos do servidor são usados para representar processos individuais de atendimento ao cliente, as entidades são usadas para representar os clientes e os tempos de processamento nos servidores dependem do tipo de cliente e da etapa na sequência de processamento do cliente. Ao definir uma Referência de linha quando uma Entidade é criada e o tipo de cliente é conhecido, o processamento subsequente no modelo usa a Referência de linha para acessar diretamente os dados específicos do tipo de cliente. Dessa forma, as propriedades do objeto do servidor são independentes do tipo de cliente, pois os dados específicos do tipo são armazenados na tabela! Isso elimina a necessidade de usar a lógica condicional para reagir ao tipo de cliente em cada servidor. Além disso, é simples adicionar novos tipos de clientes e experimentar diferentes características de processamento, taxas de chegada de clientes e a combinação de tipos de clientes editando as Tabelas de dados em vez de editar diretamente as propriedades e a lógica do objeto do modelo.
Definição da estrutura da tabela
Criar tabelas de dados é um processo fácil em que você define a estrutura da tabela especificando o tipo de dados para cada coluna. O Simio suporta uma variedade de tipos de dados, incluindo tipos padrão como inteiro, real, string, DateTime e Boolean, bem como tipos específicos do Simio, como Expressão, Referência de objeto, Referência de elemento e muitos outros. Por exemplo, na tabela de tipo de cliente do nosso sistema de atendimento ao cliente, podemos definir o tipo de cliente usando uma coluna Referência de objeto, o tempo de processamento para esse tipo de cliente usando uma coluna Expressão e a prioridade do cliente usando uma coluna inteira. Aqui, quando uma entidade de cliente é criada, o tipo de objeto é especificado na tabela em vez de ser codificado no objeto Source. Da mesma forma, quando a entidade chega a um servidor, a prioridade e o tempo de processamento são lidos da tabela em vez de serem codificados no objeto Server.
Inserção de dados na tabela
Depois de definir a estrutura de uma tabela, há três maneiras básicas de inserir dados na tabela: manualmente, como você faria em uma planilha; usando copiar e colar da área de transferência do Windows (por exemplo, copiando para a área de transferência de uma planilha do Excel e colando da área de transferência diretamente em uma tabela de dados do Simio); e importando/exportando dados usando um Data Binding. A entrada manual de dados e o copiar e colar são métodos fáceis de usar para adicionar/editar quantidades relativamente pequenas de dados, mas podem se tornar entediantes para grandes quantidades e/ou dados que mudam com frequência. É nesse ponto que o uso de Data Bindings se destaca!
Os Data Bindings conectam as tabelas de dados do Simio a fontes de dados externas, como arquivos CSV, pastas de trabalho do Excel, bancos de dados e URLs de API da Web para facilitar a importação e a exportação. Um exemplo de caso de uso com nosso modelo de central de atendimento ao cliente pode envolver a vinculação de uma tabela de chegada do Simio a um banco de dados de histórico de chegadas de clientes e o uso do modelo Simio para experimentar configurações alternativas do sistema usando os dados reais de chegada de clientes. Outro caso de uso pode envolver o uso de um Export Binding para gravar dados de execução do modelo em uma pasta de trabalho do Excel para análise detalhada usando uma ferramenta externa de análise de dados, como o PowerBI ou o Tableau. O uso de Data Bindings simplifica significativamente a entrada/saída de dados e fornece um canal para integrar os modelos Simio a outros aplicativos de desktop, empresariais e baseados em nuvem.
Por fim, as tabelas de dados do Simio implementam o modelo de dados relacionais usando colunas-chave e chaves estrangeiras. Isso permite que você “conecte” tabelas relacionadas usando campos comuns, de modo que, quando você define uma referência de linha em uma tabela, as referências de linha para as linhas relacionadas nas tabelas conectadas são definidas automaticamente. Em nosso exemplo de atendimento ao cliente, a tabela de tipo de cliente pode ser relacionada à tabela de chegada do cliente por tipo de cliente, o que nos permite armazenar os dados de tipo de cliente em uma tabela e os dados de chegada do cliente em outra, de modo que não precisemos replicar os dados, mas ainda tenhamos acesso direto a todos os dados de que precisamos para um determinado cliente ou tipo de cliente.
Sucesso com a modelagem orientada por dados modelagem orientada por dados
A modelagem orientada por dados é um paradigma muito poderoso, e seu uso é um procedimento operacional padrão para todos os modelos que desenvolvemos internamente no Simio. Ao empregar a modelagem orientada por dados e dados relacionais, você estabelece a base para a modelagem gerada por dados usando objetos personalizados e modelos do Simio – ambos serão discutidos em postagens futuras.
Para saber mais sobre a tecnologia da Simio, orientada por dados, clique aqui.