Você está na página 1de 6

Projeto de Sistemas Embutidos: Tcnicas de modelagem, teste e model-based development

Diego Mrcio Alberto


dmalberto@outlook.com
UFOP - Universidade Federal de Ouro
Preto

26 de Julho de 2016

Resumo
Os sistemas embarcados so sistemas simples, que realizam apenas uma tarefa por vez e que possuem
poucos recursos, porm so amplamente utilizados na resoluo de problemas do cotidiano. Para se
obter uma melhoria na sua performance e se obter cada vez mais vantagens desse sistema necessrio
um software que trabalhe bem com o sistema, para isso, algumas prticas devem serem seguidas, como
a modelagem e os testes. Neste artigo falaremos dessas tcnicas.

Palavras-chaves: Teste de Software, Modelagem, Sistemas Embutidos, Model Based Development)

1 Introduo competio entre fabricantes, o que populariza


os sistemas embutidos. Deste modo a modela-
Nos dias atuais, os sistemas embuti- gem de todo sistema e os testes de software
dos ainda so associados dispositivos mi- se tornam uma importante rea de pesquisa
croprocessados limitados por sua capacidade de forma que reduza cada vez mais o nmero
de processamento, como memria RAM e ar- de falhas, assim diminuindo o tempo do projeto
mazenamentos de cdigo, porm, existem al- e consequentemente o custo.
gumas definies modernas que abandonam O objetivo deste artigo dar uma viso
essas limitaes e mostram dispositivos capa- geral sobre as principais linguagens de mode-
zes realizar tarefas extremamente complexas, lagem, alm das principais tcnicas de teste
devido as evolues de hardware e software. de softwares para sistemas embutidos.
possvel perceber como importante a mo-
delagem de sistemas embarcados quando se
2 Metodologia de projeto
associa a complexidade desses sistemas com
as novas exigncias de mercado, como segu-
Para o desenvolvimento de um sistema
rana, curto prazo de projeto, grandes volumes
embarcado com xito, importante que se di-
de produo, e, muitas vezes, impossibilidade
vida o projeto em trs fases que possuem deter-
de atualizaes futuras.
minada sequencia de atividades, melhorando
As exigncias mencionadas vm fa- os resultados: anlise, design e implementa-
zendo com que os fabricantes de sistemas em- o.
butidos mudem sua metodologia de trabalho
Na fase de anlise, deve-se selecionar
para melhor atender as demandas do mercado,
os principais objetivos que devem ser cumpri-
passando a desenvolver modelos de referncia
dos e restries do projeto possam ter e os
para verificao de hardware e execues de
documentar. O design a fase onde se lis-
teste de software.
tam as solues aos problemas de que devem
Apesar dos sistemas embutidos esta- ser solucionados e como os objetivos sero
rem se tornando cada vez mais complexos, h alcanados, esta a fase que mais se deve ter
uma diminuio no preo de venda devido a ateno, uma vez que pode determinar o gasto

1
na implementao. Na fase de implementao modelagem de software. Modelos so cons-
sero aplicados de forma prtica as solues trudos para comunicar a estrutura e o com-
encontradas na fase de design, nesta fase o portamento desejados do sistema, visualizar
projeto ser construdo e testado. e controlar a arquitetura e obter uma melhor
compreenso do que deve ser construdo.
Embora seja bastante comum que se
comece da fase de implementao e depois se A modelagem se utiliza de vrios mo-
corrija os erros, essa estratgia no a melhor delos para projetar um determinado sistema.
opo, visto que iniciando pelas outras duas Estes modelos so uma simplificao do pro-
estratgias pode-se poupar tempo e recursos, jeto, criados para facilitar o entendimento da
alm de aumentar as chances de se chegar a complexidade da soluo que necessria
um melhor produto final. As etapas de anlise e para ser desenvolvida, podendo ser estrutu-
design so necessrias independente da com- rais, sendo o seu foco a organizao do sis-
plexidade do projeto. Poucos desenvolvedores tema, comportamentais, cujo foco a dinmica
para sistemas embutidos se utilizam tcnicas do sistema.
de modelagem na anlise, verificao e valida-
Os principais motivos para criar a mo-
o do projeto de sistema, causando aumento
delagem so a ajuda proporcionada para visu-
no custo e no tempo de desenvolvimento.
alizar o sistema que desejamos, auxilio na es-
Geralmente, as trs etapas no so pecificao da estrutura ou o comportamento
executadas simultaneamente e de forma linear, de um sistema, proporcionam um guia para a
sendo mais interessante e conveniente uma construo do sistema e documentam as deci-
abordagem iterativa e dedicada a cada uma, ses tomadas no projeto.
ocasionando o inicio de um projeto com infor-
Com a modelagem possvel visuali-
maes sobre funcionalidades e objetivos in-
zar o sistema e complexidade para compre-
completas, porm as informaes obtidas nas
enso. Uma linguagem de modelagem padro-
fases iniciais iro permitir a obteno de uma
nizada fundamental para a construo e o
primeira arquitetura do sistema. Aps esta fase,
entendimento de bons modelos.
os objetivos e restries obtidos na fase de
anlise devero ser revistos para complemen-
tao das informaes e um consequente refi- 3.2 Tcnicas de Modelagem
namento da arquitetura. As fases de anlise e As modelagens para Sistemas Embuti-
design devem ser repetidas at que a arquite- dos devem seguir alguns princpios e padres.
tura obtida satisfaa aos objetivos do programa. Ao longo dos anos, algumas tcnicas foram
Aps um bom resultado nessas fases pode dar desenvolvidas para modelagem de software
seguimento para a implementao. Entretanto em geram e tambm podem ser utilizadas nos
mesmo durante a implementao pode se pre- Sistemas Embutidos.
cisar voltar para as etapas de anlise e design
para a melhoria de uma funcionalidade ou so- As tcnicas de modelagem tiveram seu
luo para algum requisito que deve ser sa- primeiro enfoque com o tema Projeto estru-
tisfeito. Estes retornos podem representar um turado. Esta tcnica e responsvel pela pri-
aumento notvel no custo do projeto. Quanto meira representao grfica do sistema onde
melhor desenvolvida as etapas de anlise e de- so descritos os requisitos do mesmo. Uma
sign menor ser a probabilidade de um retorno tcnica amplamente utilizada documentar a
a estas fases durante ou aps a implementa- especificao do sistema como um conjunto de
o. diagramas que expressam diversos aspectos
do sistema. Tambm nos primrdios, foi desen-
volvido o modelo de anlise, que tem o objetivo
3 Modelagem de descrever a necessidade do cliente, base
da criao do projeto de software e definio
3.1 Descrio da modelagem dos conjuntos de requisitos a serem validados
quando software for construdo.
A construo de um bom cdigo para
um sistema embutido se passa por uma boa Aps muitas deficincias serem senti-

2
das, na dcada de 1980 se iniciou o desenvol- desnecessrios. No diagrama de atividades a
vimento de novas tcnicas, como as extenses maioria dos estados so estados de atividades
em tempo real ao DFD (Diagrama de Fluxo e a maioria das transies so ativadas pela
de Dados), UML(Linguagem de modelagem concluso de atividades no estado de origem,
unificada) e Redes de Petri. Essas, aliadas mostrando o fluxo de uma atividade para outra.
algumas modificaes so utilizadas at nos O Timing Diagram um diagrama de interao
dias atuais. entre um ou mais objetos em um determinado
tempo, situao ou condio, mostrando a evo-
O DFD uma tcnica grfica que serve
luo do tempo em um eixo com suas varia-
para descrever o fluxo de informao e trans-
es.
formaes que so aplicadas medida que
os dados se movimentam da entrada para a H vrias tcnicas de modelagem exis-
sada, tendo como objetivo modelar sistemas tentes e cada uma delas adequada para um
em qualquer nvel de abstrao. determinado problema. Uma tcnica pode ser
mais eficiente que outra em um caso, o que
O Mtodo Unificado surgiu no intuito de
no significa que ela ser a melhor em todos
unir todos os mtodos de orientao ao objeto
os casos. Dessa forma, saber qual tcnica uti-
facilitando assim a construo do diagrama de
lizar num determinado momento um fator
classes. Ao longo dos anos foi feita a incluso
crucial para o sucesso do desenvolvimento de
do OOSE (Object-Oriented Software Enginee-
software de boa qualidade.
ring), e essa ferramenta acabou ganhando o
nome de UML (Unified Modeling Language). Os melhores tipos de modelos so
A sua verso mais notria a UML 2.0, com- aqueles que permitem a escolha do grau de
posta por 13 diagramas e descrio dos Casos detalhamento das informaes, dependendo
de Uso. Os diagramas com vises estticas de quem esteja fazendo a visualizao e por
do sistema so: classes, objetos, componen- que deseja faz-la. Nenhum modelo nico
tes, casos de uso, implantao e pacotes; os suficiente. Qualquer sistema no trivial ser
diagramas com vises dinmicas do sistema melhor investigado por meio de um pequeno
so: sequncia, comunicao, Timing Diagram, conjunto de modelos quase independentes. Ou
grficos de estado, atividades e viso geral de seja, mesmo que se possa usar vrios mo-
interao. Como o UML a tcnica de mode- delos separadamente, eles funcionam melhor
lagem mais utilizada para sistemas embutidos, quando trabalham em conjunto.
iremos resumir as funcionalidades de alguns
de seus diagramas. 4 Teste de Software Embutido
Os diagramas de classes auxiliam na
formao dos diagramas de componentes e im- O teste de software embarcado exa-
plantao bem como no suporte para requisitos mina a execuo do programa, verificando se
funcionais, so um tipo especial de diagrama, ele obtm os resultados que lhe so esperados.
mas diferenciam pelo seu contedo particu- Sendo essencial em todos os ramos do desen-
lar. No diagrama de classes so mostrados volvimento de software, o objetivo do teste
os conjuntos de classes, interfaces, colabora- revelar a presena de erros na execuo do
es e seus relacionamentos. O diagrama de programa. Caso no haja erros o teste passa
casos de uso tem um papel central para mode- a averiguar a qualidade do programa. Dentro
lagem do comportamento de um sistema, de do teste, encontramos dois subgrupos: a vali-
um subsistema ou de uma classe. O grfico de dao e a verificao do software.
estados responsvel por modelar o tempo de A validao assegura que o resultado
vida e o comportamento de um objeto, contro- final corresponda ao que desejado pelo usu-
lando as mudanas de estados. O diagrama rio, verificando se o produto est sendo cons-
de sequncia mostra interaes entre objetos trudo corretamente de acordo com o requisito
na ordem cronolgica das mensagens, alm previamente determinado no planejamento do
disso e utilizado para aprimorar o diagrama de projeto.
classes, retirando deste os mtodos e atributos
A verificao assegura a consistncia,

3
completitude do produto e se este est ope- binam e operam adequadamente. H alguns
rando corretamente em cada fase do ciclo de procedimentos de teste que sero descritos
vida do software, ou seja, ela checa se o pro- separadamente em sequncia
duto est sendo construdo dentro do padro
que exigido, obedecendo s normas. 4.1 Atendimento aos Requisitos de Pro-
Quando um teste retorna apenas er- jeto
ros de fcil correo, podemos concluir que as
O procedimento de testes se inicia veri-
funes aparentemente operam bem, sendo
ficando o atendimento aos requisitos de projeto.
assim, a qualidade e confiabilidade so acei-
Essa anlise a fonte mais utilizada para a ge-
tveis. Neste caso os erros so revistos e o
rao de casos de teste na grande parte dos
software aprimorado com a correo destas
projetos.
imperfeies, sendo aplicados novos tipos de
testes em busca de falhas graves. Caso sejam Uma abordagem de teste baseada nos
encontradas falhas graves durante o teste do requisitos funcional pois a preocupao
software, sua qualidade e confiabilidade ficam quanto a funcionalidade do software testado,
sob suspeita, sendo necessria a modificao tendo interesse com o que ele realiza e no se
do projeto e a realizao de novos testes. importando com forma de sua construo.
O uso de ferramentas de anlise es-
ttica, por exemplo, permite a localizao de 4.2 Verificao da Cobertura de Teste
potenciais problemas na forma como o soft- A gerao de casos de teste a partir da
ware foi construdo, enquanto que casos de anlise de cobertura necessria pois partes
teste bem executados leva a uma verificao do programa necessitam ser executadas para
do atendimento dos requisitos de projeto. ser possvel atestar a sua qualidade. Seu prin-
A anlise de cobertura de teste permite cipal objetivo a gerao de casos de teste
a verificao do alcance dos testes executados, capazes de colocar em atividade todas as es-
expondo regies no testadas, tanto devido a truturas internas do cdigo. Esses mtodos de
casos de teste mal projetados ou por requisitos gerao de casos de teste so classificados
de projeto mal documentados. como mtodos de gerao a partir da anlise
estrutural, sendo importante para esse teste a
Os testes de software apresentam algu-
forma que software foi construdo e no a sua
mas limitaes, assim como a inexistncia de
funcionalidade.
um algoritmo geral que possa provar a execu-
o perfeita do programa. Alm disso, incerto
afirmar se dois caminhos de um mesmo pro- 4.3 Anlise das Interfaces
grama conseguem obter um mesmo resultado. Os testes por anlise de interfaces clas-
Outra limitao no conseguir prever se h sificam se realmente o software embarcado
algum dado de entrada que no ser possvel fortemente acoplado, investigando se as inter-
ser interpretado e processado em um determi- faces esto mais sujeitas a falhas, verificando
nado caminho. tambm a relao entre falhas de softwares
Um teste de software pode se dividir embarcados localizados em campo e as inter-
em trs fases, sendo elas o teste de unidade faces propostas.
e o teste de integrao e teste de sistema. No
teste de unidade os mdulos do software so 4.4 Cenrios de Teste
testados separadamente em busca de erros
de lgica e implementao. No teste de inte- Para a execuo prtica de um caso de
grao tenta-se investigar os erros associados teste necessrio a criao do software dentro
s interfaces entre os mdulos do software. J do driver de teste, que um software espec-
o teste de sistema destinado a verificar se fico para isso. O driver de teste responsvel
as funes esto de acordo com as especifi- por criar um ambiente que simula as condi-
caes e se os elementos do sistema se com- es reais de execuo do mdulo de teste.
Alm disto, o driver tambm o responsvel

4
por gerar relatrios com a coleta e anlise dos nindo sequncias de execuo e quantidade
resultados de teste. de execues, por exemplo.
Bons modelos de desenvolvimento
4.5 Automatizao de Testes para Sistemas Embarcados geram reduo na
complexidade e possibilidade de erros, une
Para a aplicao efetiva de um crit-
os processos de desenvolvimento de forma a
rio de teste, faz-se necessrio o uso de ferra-
facilitar sua implementao e permite a meca-
mentas automatizadas que apoiam a aplicao
nizao, aumentando a qualidade e eficincia
desse critrio. Essas ferramentas so primor-
do produto devido a essas orientaes e possi-
diais para reduzir falhas ocasionadas por inter-
bilidades de automatizao.
venes humanas, aumentando a qualidade e
produtividade da atividade do teste, alm de
aumentar a confiabilidade do software. As fer- 6 Concluso
ramentas automatizadas tambm podem facili-
tar a conduo de estudos comparativos entre Com uma viso geral dos principais
critrios. Dentre esses critrios, so destaca- meios de modelagem e testes de software exis-
dos os critrios estruturais, que so ligados ao tentes atualmente para se tratar de sistemas
fluxo de dados e os critrios baseados em mu- embarcados podemos ter uma noo que po-
tao. Podemos destacar o xSudo (Software dem ser seguidos alguns procedimentos a fim
Undestanding & Diagnosis System) como a de melhorar os resultados obtidos no desenvol-
mais importante ferramenta de automatizao vimento para sistemas embarcados.
da atividade de teste. Com a evoluo da tecnologia micro-
controlada, o aumento da presena dos siste-
5 Model Based Development mas embarcados em quase todos os ramos
da sociedade e a competitividade de mercado,
Os princpios da MBD (Model Based cada vez mais importante a presena dos
Development) consistem em deixar as informa- recursos abordados para a reduo de falhas
es na forma explcita e com a menor redun- e certamente dos custos de produo destes
dncia possvel. Estes conceitos so definidos sistemas.
pelo desenvolvedor que deve buscar definir
uma entidade nica para um mesmo conjunto 7 Referncias
de informao.
Construtivamente, esse modelo segue SEO, J. et al. Which Spot Should I Test for
Effective Embedded Software Testing? In:
algumas caractersticas, como definir as ati-
THE SECOND INTERNATIONAL CONFE-
vidades do processo somente em termos de
RENCE ON SECURE SYSTEM
modelo de produto; todas as informaes do
produto so integradas em um nico modelo SILVA, Edimar Thomaz, Quantitative
de produto; visto como um submodelo da Methods for management decisions in flight
IPM (integrated product model); condies de test campaigns for aeronautical certification.
consistncia definidas em termos de modelo Dissertao de Mestrado do ITA, 2003.
de produto e invariantes processos como con-
dies de consistncia conceitual. DEPARTMENT OF DEFENSE, MIL- STD-
Seu objetivo era integrar sintatica- 882-SD, standard practice for system sa- fety.
mente o Nvel de Descrio com o Nvel Con- Fevereiro 2007.
ceitual, e semanticamente o Nvel Conceitual
FERRAZ, Rodrigo Barroca Dias, Pro- posta
com o Nvel de Sistema. O nvel Conceitual de Ferramenta para desenvolvimento de
consiste na manipulao dos elementos feito simuladores, Dissertao de Mestrado USP -
pelo desenvolvedor, como de componentes, So Paulo, 2010.
portas, canais, variveis e alguns estados; en-
quanto o nvel de Sistema descreve formal- ALTHOLFF, Guilherme Figueira, Using
mente o processo de desenvolvimento, defi- executable assertions for runtime fault detec-
tion in a Model-Based Software Development
5
Approach. Dissertao de Mestrado do ITA,
2007.
PEZZ, M.; YOUNG, M. Teste e An- lise de
Software Processos Princpios e Tc- nicas.
So Paulo, Brasil: Editora Artmed AS, 2008.
GOMES, H. V. Metodologia de Pro- jeto de
Software Embarcado Voltada ao Teste. Porto
Alegre, 2010. Dissertao (Mestrado em
Cincia da Computao). Coordenadoria de
Ps-Graduao, UFRGS.
BARBIERO, A. A. Ambiente de Suporte ao
Projeto de Sistemas Embarcados. Curitiba,
2006. Dissertao (Mestrado em Informtica
). Coordenadoria de Ps-Graduao, UFPR.
WORKSHOP DE PS-GRADUAO E
PESQUISA DO CENTRO PAULA SOUZA, 8
, 2013, So Paulo. Utilizao de Tcnicas de
Modelagem e Simulao no Desenvolvimento
de Sistemas Complexos. CPS, 2013. 14p.
SILVESTRE, E. A. Modelagem de Soft- ware
de Tempo Real Utilizando o Profile
MARTE da UML. Uberlndia. Dissertao
(Mestrado em Cincia da Computao). Co
- ordenadoria de Ps-Graduao, UFU.