MASLAB é um software de simulação desenvolvido para a disciplina de Modelagem e Análise de Sistemas Lineares da Universidade Federal de Ouro Preto. MASLAB foi desenvolvido com a premissa de simular o comportamento físico de sistemas de tanques contendo líquidos, permitindo modelar e observar seu comportamento ao longo do tempo.
A interface gráfica do software permite ao usuário desenhar de forma simples um conjunto de tanques a serem simulados. Note que não há um limite máximo de tanques, sendo assim, o limite é definido pelo poder computacional da máquina em que o software é executado.
Cada um dos tanques possui 2 entradas e uma única saída, sendo que cada uma destes acessos pode ser acessado e configurado individualmente para cada tanque. Para isso, o software utiliza a linguagem de programação C#, onde o utilizador poderá inserir um código customizado para controlar cada tanque do modo que preferir.
O editor de código escrito para o software é baseado no componente AvalonEdit, um dos principais editores de código disponíveis para o dotnet. O editor conta com uma integração avançada à plataforma Roslyn do dotnet, escrita especificamente para este software, permitindo recursos avançados como análise sintática e semântica, auto sugerir, trechos de código automáticos, compilação em tempo de execução, etc.
MASLAB inclui nativamente o suporte para as bibliotecas do Math.net, permitindo que o usuário possa utilizar funções de computação numérica e simbólica sem grandes complicações.
MASLAB inclui alguns métodos embutidos no código de simulação de cada tanque. Uma destas funções, Plot, permite desenhar gráficos durante a execução da simulação. Plot possui a seguinte sintaxe:
Plot("Nome_da_série", TimeSpan instante, double valor);
"Nome_da_serie" define o conjunto que irá receber os pontos da plotagem. Se uma série inexistente for inserida, automaticamente ela será criada.
instante é uma variável do tipo TimeSpan. Essa variável é fornecida através do parâmetro tempo do método OnUpdate da simulação. Embora seja aconselhável passar o parâmetro tempo diretamente para o método Plot, por algum motivo especial, pode ser necessário utilizar valores customizados. Neste caso, você pode criar quantos objetos do tipo TimeSpan forem necessários. Por exemplo:
TimeSpan ts = TimeSpan.FromSeconds(5);
Plot("Minha Serie", ts, 1.873);
valor é exatamente isso, o valor a ser plotado. O valor é uma variável do tipo double. Note que em C# o sinal de separação de casas decimais para o tipo double é o ponto final (.).
MASLAB está diponível para o Windows, Linux e macOS.
Basta fazer o download da versão adequada ao seu sistema operacional e executar, ou descompactar o arquivo para uma pasta, caso opte pela versão zip.
Windows: Caso opte pelo download do arquivo zip, para executar o software no ambiente Windows, basta abrir a pasta em que o software foi descompactado e executar o arquivo MASLAB.exe. Do contrário, ao executar o instalador, atalhos para o software serão criados no menu iniciar e na área de trabalho.
MacOS: Após a instalação usando o instalador, o aplicativo ficará disponível juntamente aos demais apps. Caso opte pelo download do arquivo zip, execute o arquivo MASLAB para abrir o aplicativo.
Linux: Após descompactar o software para alguma pasta do computador, execute o o arquivo MASLAB. Pode ser necessário conceder alguma permissão ao software.
Desenvolvido por Ítalo A. Aguiar Sob orientação de Rodrigo Geraldo Ribeiro e Rodrigo Augusto Ricco.
Universidade Federal de Ouro Preto - UFOP
Programa de Pós Graduação em Ciência da Computação - PPGCC
Instituto de Ciências Exatas e Biológicas - ICEB
Departamento de Computação - DECOM
Universidade Federal de Ouro Preto - UFOP