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: http://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.

 

NEWSLETTER

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Obrigado! Sua inscrição foi um sucesso.

Ops, algo deu errado. Por favor tente novamente.

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Rodrigo Botelho
Engenheiro Automotivo pelo Politécnico di Torino, Mestre em Engenharia de Controle pela USP e Designer. É atualmente sócio da MCBTI, empresa de Sistemas Embarcados com soluções para Prototipagem de Controle e Testes em Tempo Real com HiL. Nos últimos anos tem se dedicado a conversar mais com clientes e usuários para entender seus desafios e ajudar a disseminar a cultura do Model-Based Design no Brasil.

1
Deixe um comentário

avatar
 
1 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
1 Comment authors
Vagner Vasconcelos Recent comment authors
  Notificações  
recentes antigos mais votados
Notificar
Vagner Vasconcelos
Visitante
Vagner Sanches Vasconcelos