Skip to content

Latest commit

 

History

History
80 lines (41 loc) · 5.65 KB

README.md

File metadata and controls

80 lines (41 loc) · 5.65 KB

Bem vindo ao MASLAB!

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.

Tela inicial do MASLAB

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. Código de simulação do tanque

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.

Plotando Gráficos

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 (.). enter image description here

Plataformas Suportadas

MASLAB está diponível para o Windows, Linux e macOS.

Instalação

link

link

link

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.

Executando o software

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.

Sobre o 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

XR4Good


Universidade Federal de Ouro Preto - UFOP

Instituto de Ciências Exatas e Aplicadas - ICEA

Departamento de Engenharia Elétrica - DEELT