FAVORITAR
FecharPlease loginn
1 Comentário
FAVORITAR
FecharPlease loginn

Model-Based Design (MBD)

Olá, me chamo Rodrigo e sou novo no Embarcados. Sou formado em Engenharia Mecânica, mas nos últimos 5 anos atuo na área de Engenharia Controle e Sistemas. Pretendo abordar o Model-Based Design aqui. Quero compartilhar o que aprendi para ajudar iniciantes no assunto e encontrar outros que queiram se aprofundar, como eu.

Antes de falarmos sobre os benefícios de usar a metodologia Model-Based Design (MBD) no desenvolvimento de software embarcado, é importante definir o que é. Há diversas visões dentro de uma empresa para Model-Based Design e cada área envolvida apresentará sua definição. A visão aqui apresentada será a do engenheiro. Em futuros posts falarei um pouco das demais visões.

Definindo MBD (Model-Based Design)

Buscando definir o MBD, recorremos a um dos mais conhecidos desenvolvedores de software livre deste segmento (CASE/CAE/CAD) e Open Source, o Scilab:

”Model-Based Design (MBD) is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems…

…Model-based design is a methodology applied in designing embedded software…”

Em resumo, Model-Based é um processo de desenvolvimento de software baseado num modelo para Sistemas Embarcados. Isto é, a partir de subsistemas conectados contendo blocos de funções, é possível especificar, projetar, simular, verificar, testar e implementar sistemas embarcados do início ao fim do projeto.

Model-Based Design
Figura 1 – Integração através de um modelo entre as áreas de desenvolvimento. Fonte: https://mil-embedded.com/articles/developing-tools-design-flow-advancements/

Para nós, o MBD possui quatro grandes áreas, sendo elas Especificação Executável, Projeto e Simulação, Implementação e Teste e Verificação. É importante ressaltar que estas áreas não são vistas como etapas, pois o processo de desenvolvimento não é linear. A passagem entre áreas é direta, através do modelo ou “verdade absoluta” do projeto. Por exemplo, se após um teste do modelo descobríssemos um erro de especificação, poderíamos voltar à parte de Especificação Executável e modificar no modelo a devida função ou parâmetro. Simularíamos a modificação e seguiríamos com o modelo adequado de volta ao teste do modelo. 

E o que ganho com isso?

Bem, a ideia toda deste processo é adiantar os erros de desenvolvimento. Se detectados, erros podem ser benéficos, caso contrário, podem causar prejuízos e recall. Se logo for detectado, aprendido e corrigido, ótimo, caso contrário, é passado adiante e o impacto será no pós-venda. Toyota Prius é um exemplo. Veja aqui.

Diante da definição sobre MBD, a resposta é simples, embora extensa. MBD permite que rapidamente sejam simuladas especificações, parâmetros e designs. Cenário de “What-if” aumentam a previsibilidade do produto e isto torna o processo de inovação e diferenciação mais rápido.

Redução de custos com Model-Based Design
Figure 2: Redução de custos com utilização de MBD em desenvovimento de software embarcado. Fonte: https://www4.in.tum.de/~schaetz/papers/Benefit_of_MBEES.pdf

Somando-se a isso, geração automática de código e conhecimento centralizado no modelo, diminuem-se erros de programação, melhora-se a comunicação entre times e a gestão do conhecimento da empresa.

O uso de Simulação, Prototipagem Rápida de Controle e testes em Hardware-in-the-Loop permitem redução de protótipos, redução de retrabalho e, mais interessante, redução de custo do projeto.

Finalmente, o tempo reduzido em cada parte do processo e o potencial reaproveitamento dos modelos em projetos subsequentes permitem Time-to-Market (TTM) menor.

Ferramentas

Há diversos ambientes de modelagem disponíveis no mercado. Exemplos dessas empresas são MathWorks com Simulink, LMS Amesin da Siemens, National Instruments com LabView e Xcos da Scilab Enterprises. Mas existem muitos outros. Alguns deles oferecem trials por 30 dias ou, como o Xcos, é de uso livre.

Conclusão

Model-Based Design é uma metodologia de desenvolvimento de software embarcado centrada em modelo. É dividida em 4 áreas, sendo elas: Especificação Executável, Simulação, Teste e Verificação e Implementação.

Adotando o desenvolvimento baseado em modelos é possível reduzir custos, acelerar detecção de erros, validar requisitos e melhorar na comunicação entre times de áreas distintas.

Caso queira mais detalhes, este site tem informações e exemplos. Se estiver buscando algo mais formal, pode encontrar no livro Model-Based Design for Embedded Systems, de Gabriela Nicolescu e Pieter J. Mosterman ou as aulas da Universidade Técnica de Viena.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Home » Conceito de Engenharia » Model-Based Design (MBD)

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Comentários:
Notificações
Notificar
guest

1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Vagner Sanches Vasconcelos
Vagner Sanches Vasconcelos
13/04/2018 23:16
Talvez você goste: