O aumento crescente da capacidade de processamento e de armazenamento dos componentes
de hardware aliado ao barateamento destas infraestruturas tem permitido atender
à demanda por sistemas embarcados mais complexos. Entretanto, o time-to-market exigido pelo mercado está cada vez mais curto, o que tem levado à necessidade de técnicas de desenvolvimento
mais eficientes, que produzam sistemas com menos erros, de forma mais barata e
com maior produtividade.
Uma solução para atacar essa necessidade de técnicas mais
eficientes de desenvolvimento é investir em reuso. A possibilidade de reusar
códigos de implementações anteriores para construir novos sistemas traz aumento
de produtividade e diminui a
quantidade de erros, uma vez que as partes reusadas já foram testadas várias outras
vezes por muitas outros desenvolvedores.
Um dos maiores desafios à reusabilidade na construção de plataformas de software é a grande diversidade de hardware. Diferentemente dos computadores de propósitos gerais, as plataformas embarcadas dispõem de uma gama imensa de processadores com as mais variadas arquiteturas. Dessa forma, é muito comum existir a necessidade de migrar a aplicação embarcada de uma plataforma para outra. Os motivos para isso podem ser vários, desde diminuir o preço do produto com um hardware de menor custo até obter mais recursos como memória e capacidade de processamento. A capacidade e/ou facilidade de um sistema ser migrado chamamos de portabilidade.
Outro fato que compromete a reusabilidade no desenvolvimento da plataforma de software embarcado é a grande quantidade de domínios de aplicação para os quais são construídos os sistemas embarcados. Este tipo de sistema é aplicado a diversos contextos, como eletroeletrônicos, automação industrial e aviação. Isto é um grande problema porque para reusar a implementação de um software é necessário adaptar o código para os requisitos específicos do outro domínio.
Sistemas operacionais, como Linux e Windows CE, podem até ser uma boa opção para aumentar a eficiência no desenvolvimento de sistemas embarcados. Eles têm uma boa aceitação da comunidade de desenvolvimento, ou seja, já possuem muito código pronto disponível e proveem abstração de hardware e modularidade. Entretanto, mesmo com os avanços no sentido de baratear e otimizar as infraestruturas utilizadas nas plataformas embarcadas, estes tipos de sistemas operacionais exigem hardwares mais potentes, que consomem mais energia, exigem mais memória e processadores mais complexos. Isto pode ser crítico principalmente para sistemas embarcados que são construídos em escala industrial, onde centavos fazem diferença no faturamento da empresa.
Isso abre espaço para o ESCoRT, que promove o reuso, a modularização e a fácil portabilidade ao mesmo passo em que permite a construção de sistemas que utilizem bem menos recursos que um Linux, por exemplo.
Nenhum comentário:
Postar um comentário