Lógica de funcionamento do software

O Insight Maker usa comandos no idioma inglês. Então, estoque é designado por stock e fluxo por flow. Vamos traduzir na primeira vez em que a palavra inglesa for usada e depois usaremos indistintamente em português ou inglês.

Na Figura 1.1 da Seção 2 vê-se o que se chama de diagrama stock-flow. Um diagrama stock-flow mostra uma parte da realidade que se pretende investigar através da criação de um sistema com componentes interligadas. No Insight Maker essas componentes são chamadas de primitives - em português primitivas. Uma das razões para que esses diagramas sejam tão úteis na construção da aprendizagem é que conseguimos visualizar como uma primitiva individual impacta no coletivo do sistema, por exemplo, como cada fluxo impacta no nível da acumulação que ocorre no estoque.

Acumulações estão em todos os lugares em nossas vidas (CLExchange, 2016). Nesse primeiro momento estamos usando o exemplo de acumulação de livros em uma biblioteca, mas poderíamos nos preocupar com a acumulação de dinheiro depositado em uma conta de poupança, com a acumulação de água em um balde durante uma chuva, com a acumulação de velocidade das pedras de granizo que caem durante uma tempestade, etc.

As acumulações são representadas por retângulos associados aos estoques, que podem variar pela existência de um fluxo, representado por uma seta com linha contínua. O fluxo é responsável por diminuir, aumentar ou manter constante o nível do estoque, ou seja, o fluxo corresponde à taxa de variação do nível do estoque.

Existem também componentes que podem influenciar no comportamento de um fluxo. São as chamadas variáveis (variables). Apesar do significado do nome, elas podem ser variáveis ou constantes. Por exemplo, no caso mais simplificado de uma biblioteca, vê-se na Figura 1.2 a existência de duas variáveis: uma que estipula um prazo de devolução para os livros e outra para representar a porcentagem de empréstimos feitos durante um período. A primeira variável vai impactar diretamente no fluxo de devoluções, pois, ao acabar o tempo que o aluno pode permanecer com o livro, ele deverá devolvê-lo à biblioteca. A criação da segunda variável mostrará como acontece a diminuição de livros na biblioteca.

Figura 1.2: Diagrama stock-flow da biblioteca com as variáveis.

Figura 1.2: Diagrama stock-flow da biblioteca com as variáveis.

Na Figura 1.2 também aparecem linhas pontilhadas que representam as ligações entre variável e fluxo. Essas ligações são denominadas links. Todas as variáveis do sistema são ligadas ao fluxo por meio de links. Os links não servem estritamente para conectar variáveis aos fluxos, mas também podem indicar como um estoque influencia em outro ou como uma variável compõe outra variável. Ou seja, fazem ligações entre diferentes componentes.

As componentes apresentadas até aqui são sintetizadas na Tabela 1.1.

Tabela 1.1: Resumo dos componentes do diagrama stock-flow

Componente Descrição
Estoque Primitiva com formato retangular que representa as acumulações ocorridas num sistema.
Fluxo Flecha com linha contínua que representa uma taxa de variação. Influencia nas acumulações podendo diminuir, aumentar ou manter constante o nível do estoque.
Variável Primitiva de formato elipsoidal que influencia no comportamento do fluxo ou compõe outras variáveis. Ela pode ser uma grandeza variável ou constante (parâmetros).
Links Flecha com linhas pontilhadas que servem como conectores entre variáveis, fluxos e estoques.

Olhando para o diagrama stock-flow da biblioteca com suas variáveis adicionadas (Figura 1.2), notamos que estão faltando componentes nesse modelo para ser uma representação mais realista de uma biblioteca em funcionamento. Os empréstimos geram acumulação de livros emprestados, por isso devemos criar um novo estoque (de livros emprestados). O fluxo de devoluções diminui o número de livros emprestados ao passo que o fluxo de empréstimos aumenta. Isso significa que os sentidos dos fluxos para esse novo estoque serão opostos aos dos fluxos do estoque de livros na biblioteca. A Figura 1.3 mostra o modelo construído para a biblioteca neste exemplo.

Figura 1.3: Representação do modelo da biblioteca no Insight Maker.

Figura 1.3: Representação do modelo da biblioteca no Insight Maker.

Como a biblioteca é um sistema dinâmico, que evolui com o tempo, interessa-nos conhecer essa evolução. Queremos responder questões do tipo: como varia o número de livros na biblioteca em função do tempo? Para isso, não precisamos adicionar no Insight Maker uma variável associada ao tempo, pois tempo é uma variável independente implícita nesse software. Para executarmos o modelo da Figura 1.3, basta informar a unidade de tempo (segundos, minutos, horas, dias, meses,…) e o tempo inicial e final, que o Insight Maker determinará os valores dos estoques e fluxos para cada instante de tempo. Nesse tutorial a unidade de tempo que usaremos é dia.

Esse modelo tem limitações decorrentes das seguintes idealizações assumidas:

  • o funcionamento da biblioteca ocorre nos sete dias da semana;
  • todos os livros retirados são devolvidos, ou seja, desconsidera-se não devolução de livros por qualquer motivo;
  • o prazo para devolução é constante, não dependendo do tipo de livro retirado;
  • a porcentagem de empréstimo é constante, não dependendo do período letivo.

Esse modelo poderia ser aprimorado, caso nosso interesse fosse em efetivamente descrever o funcionamento de uma biblioteca, por exemplo, incluindo o aumento de estoque com a compra de livros, disponibilidade de livros virtuais, ocorrência de não devolução de livros, variação do prazo de devolução conforme o tipo de livro, fechamento da biblioteca aos domingos. Porém nosso objetivo se resume a introduzir as principais ferramentas do Insight Maker com um exemplo familiar, o de uma biblioteca. Então, vamos seguir com o modelo mais simples.

Vamos agora propor a seguinte situação-problema: uma avaliação sobre a utilização do acervo de livros das bibliotecas escolares está sendo feita pela Secretaria Municipal de Educação. Por isso, um bibliotecário quer fazer uma estimativa do número de livros que estarão disponíveis na biblioteca em determinada data, quando será feita a inspeção. Para isso ele começa apurando alguns dados.

Ele observa que:

  • em um determinado dia, do acervo total de 1450 livros, 1100 estavam no estoque da biblioteca no início do dia;
  • nesse dia foram emprestados 33 livros, ou seja, 3% do número de Livros na biblioteca continuando do texto. Como esse é um dia típico de funcionamento da biblioteca, ele assume que o fluxo diário de livros que saem da biblioteca é Empréstimos = Porcentagem de empréstimos multiplicado por Livros na biblioteca = 0,03 · Livros na biblioteca.
  • o número médio de devoluções de livros por dia é praticamente constante. Como o prazo de devolução é de 7 dias, ele assume que o fluxo de Devoluções diário é o número de Livros emprestados dividido pelo Prazo para devolução = Livros emprestados/7.

Feitas essas estimativas iniciais, se a inspeção ocorrerá dentro de 4 dias, não será muito trabalhoso o bibliotecário construir a Tabela 1.2.

Tabela 1.2: Número de livros na biblioteca

dia Livros na biblioteca no início do dia () Livros emprestados no início do dia () Empréstimos x Devoluções /

Como ele construiu essa tabela?

Na primeira linha ele colocou os valores iniciais das grandezas, ou seja:

  • dia = 0
  • número de Livros na biblioteca no início do dia = 1100, pois é o número de livros que ele contou no início do dia;
  • número de Livros emprestados = 350, já que o acervo da biblioteca é 1450, há 1100 na biblioteca e ele está assumindo que não houve extravios. De fato, ele confere o número de empréstimos e verifica que há 350 emprestados;
  • número de empréstimos = 33, pois é o número de empréstimos que ele observou naquele dia;
  • número de devoluções = 50, pois é o número de devoluções que ele contou naquele dia.

Na segunda linha os estoques de livros na biblioteca e emprestados deverão ser atualizados de acordo com os fluxos de entrada e saída de livros, ou seja, com o número de livros emprestados e devolvidos. Então:

  • dia = 1
  • número de Livros na biblioteca no início do dia é o número que havia no dia anterior, menos o que foi emprestado ao longo do dia anterior mais o que foi devolvido ao longo do dia anterior. Então, é: 1100 - 33 + 50 = 1117. Podemos escrever como:
Livros na biblioteca (dia = 1) =
= Livros na biblioteca (dia = 0) - Empréstimos (dia = 0) + Devoluções (dia = 0);
  • número de Livros emprestados no início do dia: número que estava emprestado no dia anterior mais o que foi emprestado ao longo do dia anterior menos o que foi devolvido = 350 + 33 - 50 = 333. Podemos escrever como:
Livros emprestados (dia = 1) =
= Livros emprestados (dia = 0) + Empréstimos (dia = 0) - Devoluções (dia = 0);
  • número de empréstimos = 34, pois o número de empréstimos diários é 0,03 · Livros na biblioteca e nesse dia há 1117 Livros na biblioteca. Então, 0,03 · 1117 = 33,51. Isso fica expresso como:
Empréstimos (dia = 1) =
= Porcentagem de empréstimos · Livros na biblioteca (dia = 1);
  • número de devoluções = 48, pois o número de devoluções diárias é Livros emprestados/ 7 e nesse dia há 333 livros emprestados. Então, 333/7 = 47,57. Ou seja,
Devoluções (dia = 1) = Livros emprestados (dia = 1)/Prazo para devolução.


Opa, não faz sentido valor fracionário para o número de livros, então, o número 33,51 e 47,57 foram arredondados na Tabela 1.2, para 34 e 48, que são os números inteiros mais próximos.

Esse é um detalhe muito importante: só faz sentido trabalhar com números inteiros (e positivos) de livros. Sempre que os cálculos produzirem valores fracionários, é preciso arredondar para o inteiro mais próximo.

Podemos sintetizar os cálculos que o bibliotecário precisa fazer para completar a tabela do seguinte modo:

Livros na biblioteca (dia = n+1) =
= Livros na biblioteca (dia = n) - Empréstimos (dia = n) + Devoluções (dia = n).


De modo semelhante:

Livros emprestados(dia = n+1) =
= Livros emprestados (dia = n) + Empréstimos (dia = n) - Devoluções (dia = n).


E ainda:

Empréstimos (dia = n) =
= Porcentagem de empréstimos · Livros na biblioteca (dia = n).
e
Devoluções (dia = n) = Livros emprestados (dia = n)/ Prazo para devolução


Em síntese as respostas produzidas pelo bibliotecário são: o número de Livros na biblioteca no quarto dia é 1153 e o porcentual de Livros emprestados é 297 · 100%/1450, ou seja, aproximadamente 20%.

Não é difícil fazer esses cálculos, mas se a inspeção ocorresse dentro de um mês ou mesmo dentro de meio ano, o bibliotecário teria bem mais trabalho para resolver o problema.

Vamos, então, deixar que o Insight Maker faça a simulação do número de livros na biblioteca em função do tempo.

Referências

[3] CLExchange. Introduction to System Dynamics Models (2016).
https://www.youtube.com/watch?v=IenySRdkRu8

Seção 2 Seção 4