Escolar Documentos
Profissional Documentos
Cultura Documentos
production
Análise do impacto do desenvolvimento baseado em modelos na produção de software aviônico
maior parte das necessidades de uso e de complexidade envolvida propósito específico; (ii) Disponibilidade: é a probabilidade de um
no desenvolvimento de software aviônico para sistemas sistema, em determinado instante, ser operacional e capaz de
embarcados. Além disso, não é possível prever a aplicabilidade e fornecer os serviços requeridos; (iii) Segurança: reflete a
a efetividade antes de experimentá-las, ou seja, como determinar capacidade do sistema de operar, normal e anormalmente, sem
se o processo de desenvolvimento será melhor ao adotar uma ameaçar as pessoas ou o ambiente; (iv) Proteção: avaliação do
ferramenta e como os desenvolvedores lidarão com essa situação. ponto em que o sistema protege a si mesmo de ataques externos,
que podem ser acidentais ou deliberados.
Diante desse contexto, esse trabalho contribui com uma análise
sobre os impactos da aplicação do desenvolvimento baseado em A falha de sistemas controlados por software causa
modelos em projetos de software aviônico para sistemas inconveniência, mas não danos sérios e prolongados. Contudo, há
embarcados, a partir da percepção de 79 especialistas na área, certos sistemas em que as falhas podem resultar em perdas
levantada por survey eletrônica, em nível internacional. Essa econômicas significativas, danos físicos ou ameaças à vida
análise se justifica e se torna relevante, pois estudos anteriores humana, sendo chamados de sistemas críticos [6]. Considerando a
apontaram efeitos positivos e dificuldades no desenvolvimento necessidade desses sistemas possuírem nível elevado de
baseado em modelos [10, 19, 20, 21]. Pettit et al. (2013) relataram confiança, também se torna alto o seu custo de desenvolvimento,
numa relação exponencial [4 e 6]. Além do desenvolvimento de
desafios num dado contexto, com questões de comunicação,
software crítico normalmente ser regulado por normas, de acordo
simulação, implementação e requisitos [10]. Prosvirin et al.
com a sua finalidade, a fim de garantir a segurança.
(2015) com questões relacionadas à finalidade dos modelos [20]. Especificamente, os custos de validação são altos, pois requerem
Paz et al. (2016) sobre o bom suporte de modelos para questões de validar o atendimento de requisitos e comprovar para o regulador
design, requisitos, rastreabilidade e implementação [21]. externo, que o sistema é seguro e ultraconfiável [4]. Isso ocorre
com sistemas de aeronaves, foco desse estudo. Nesse contexto há
Dessa forma, os resultados dessa análise da percepção de uma necessidade de demonstrar aos órgãos reguladores
especialistas com experiência prática na área podem contribuir (Autoridade Federal de Aviação), que a probabilidade de falha
para facilitar a tomada de decisão, quanto ao uso ou não do catastrófica de sistema, que afete a segurança de uma aeronave é
desenvolvimento baseado em modelos, na produção de software extremamente baixa [4].
aviônico para sistemas embarcados. Além de ajudar no
direcionamento de quais ferramentas utilizar, cuidados a serem 2.2 Software aviônico
tomados e melhor aproveitamento dessa adoção, em busca de O software aviônico faz parte dos sistemas críticos de segurança e
qualidade e de consistência desses sistemas críticos de segurança, se encontra num contexto único, fazendo parte de um sistema que
no qual o software aviônico pertence. se comunica com outros sistemas que, em conjunto, formam outro
sistema: a aeronave. Nesse caso, o sistema para o usuário final é
Além dessa introdução, este artigo possui mais 4 seções. A visto somente como um e cada uma de suas partes impacta de
segunda aborda a fundamentação teórica do estudo, enquanto a forma diferente na segurança.
seguinte apresenta a metodologia de pesquisa. As duas últimas
mostram, respectivamente, a análise dos resultados obtidos e as Segurança é uma propriedade geral dos sistemas e o software
considerações finais, contribuições, limitações e trabalhos futuros. pode influenciá-la. Para desenvolver software que melhore a
segurança de sistemas como o de aeronaves, o sistema no qual o
software operará deve ser compreendido, além do processo de
2 AVIAÇÃO, SOFTWARE E MODELAGEM segurança do sistema [5]. Desenvolver a expertise e competência
para construitr sistemas críticos de segurança requer tempo
2.1 Sistemas críticos de segurança
significativo, recursos e integridade [5]. Para a aviação civil, os
Os sistemas críticos de segurança são os sistemas nos quais é desenvolvedores são encorajados a usar Aerospace Recommended
essencial que a operação do sistema seja sempre segura, ou seja, Practice (ARP) 4754, intitulada como Guidelines for
que o sistema nunca deve causar danos às pessoas ou ao ambiente, Development of Civil Aircraft and Systems [5].
mesmo que ocorra uma falha [4]. Nem todos os sistemas que tem
essa característica possuem software. Em especial, os que não tem A ARP4754 divide o processo de desenvolvimento de sistemas
complexidade elevada e o comportamento esperado podem ser em seis fases [7]: planejamento, desenvolvimento de funções do
implementados no todo, via hardware. Por outro lado, quando o avião, alocação de funções do avião para sistemas,
software faz parte desse tipo de sistema, ele tem a designação de desenvolvimento da arquitetura do sistema, alocação de requisitos
software crítico de segurança [4]. do sistema para itens (incluindo alocação de software e hardware)
e implementação do sistema (incluindo desenvolvimento de
A confiança é um atributo essencial dos sistemas críticos e todos software e hardware). A ARP4754 elenca os seguintes processos
os aspectos da confiança podem ser importantes [4], a saber: (i) integrais [5]: avaliação de segurança, designação de nível de
Confiabilidade: é a probabilidade de operação livre de falhas confiança, captura de requisitos, validação de requisitos,
durante um tempo especificado, em um dado ambiente, para um
SBSI'19, May 20-24, 2019, Aracaju, Brazil Gustavo Giroletti Mottin and Josiane Brietzke Porto
verificação de implementação, gerenciamento de configuração, complicam a adoção sistêmica. Muitos estão relacionados ao uso
garantia de processos e coordenação com autoridades de modelos em larga escala, ao invés de focar no desenvolvimento
certificadoras. de componentes individuais [10].
O uso de software para sistemas aeroespaciais aumentou É fundamental coordenar a abordagem a ser usada para o
dramaticamente nas últimas décadas. Como resposta, a indústria desenvolvimento dos modelos entre times, caso contrário tendem
aeroespacial desenvolveu um padrão específico para prover a divergir sobre o uso [10]. Essa tendência leva à inconsistências
suporte à certificação de sistemas de segurança crítica [8], nos quesitos de qualidade, completude e consistência entre os
conhecido como DO-178 e está atualmente em sua quarta revisão, modelos. Para facilitar a coordenação e para que os times possam
denominada DO-178 revisão C ou DO-178C [5]. A DO-178 aplicar modelagem de forma homogênea, as organizações devem
fornece recomendações para produção de software em sistemas estabelecer uma visão consistente sobre os modelos, ou seja, quais
aeroespeciais e equipamentos, que executem sua função com um artefatos devem ser gerados, quão completos devem ser em cada
nível de confiança que cumpra com requisitos de fase do ciclo de desenvolvimento e quais métodos serão utilizados
aeronavegabilidade [9]. para avaliar a qualidade dos artefatos gerados [10].
O tamanho e a complexidade de software aviônico tendem a A engenharia baseada em modelos facilita validação e verificação
seguir crescendo ao passo que as funcionalidades seguirem sendo do design, porém, os modelos devem ser corretos por si só. Um
realocadas do hardware para o software. Para gerenciar o nível de modelo é somente tão válido quanto o design o qual tenta
complexidade, enquanto lidam com questões como o ambiente de descrever, frequentemente de forma abstrata. Mesmo que um
operação e requisitos de confiabilidade significativos, os design esteja bem representado num modelo, isso não
engenheiros de software precisam de abordagens, métodos, necessariamente faz o mesmo um modelo válido do sistema, uma
ferramentas e processos para melhorar a abstração, vez que o design pode não estar correto [10].
compreensibilidade, precisão e previsibilidade dos sistemas [10].
A maioria das ferramentas de modelagem possui geração
2.3 Desenvolvimento baseado em modelos automática de código fonte diretamente do modelo, mas a
O desenvolvimento de software baseado em modelos é um qualidade e eficiência desse pode ainda demandar certificação,
paradigma que coloca modelos como um artefato primário no particularmente, quando aplicado à sistemas críticos. Mesmo que
processo de desenvolvimento. Em contraste com os métodos abordagens para certificar geradores de código existam, grande
tradicionais, modelos não são usados somente para documentação, parte das organizações precisam utilizar o mesmo empenho para
mas servem como artefato central para implementação do sistema. verificar um código automaticamente gerado ou uma codificação
Modelos podem ser fonte para geração de código e executáveis manual. Como consequência, frequentemente, as empresas
através de um interpretador. Podem ser usados em diversas outras desistem de usar geração automática de código e implementam
tarefas, como para a comunicação com partes interessadas ou manualmente o que é especificado pelo modelo. Essa forma de
análises baseadas em modelos [11]. desenvolvimento requer gerenciamento minuscioso para mitigar
inconsistências entre o modelo e o código, aumentando
Desde sua concepção, o uso de modelos para desenvolvimento de probabilidade de que o modelo deixará de ser usado no ciclo de
software se difundiu nas principais indústrias e a aeroespacial não desenvolvimento, conforme o aumento de complexidade tanto do
foi exceção à regra [8]. Quando o padrão DO-178 foi atualizado modelo como do código [10].
para a revisão C, o DO-331 foi criado. Este apêndice trouxe novas
orientações, como atividades e objetivos que devem ser atingidos O uso de ferramentas de modelagem qualificadas que geram
para o desenvolvimento de software utilizando modelos [9]. código automaticamente e, em alguns casos, geram vetores de
testes é um paradigma recente para a comunidade de software
A partir da DO-331, um modelo pode ser visto como uma aviônico [5]. Considerando que o apêndice DO-331 da norma
abstração de um conjunto de aspectos de um sistema que pode ser DO-178C é relativamente recente pode-se inferir que ainda existe
usado para análise, verificação, simulação, geração de código e incerteza frente ao uso de modelos no desenvolvimento de
qualquer combinação destes [5]. Os modelos podem fazer parte da software aviônico, especialmente, tratando a geração de código
hierarquia de requisitos na forma de requisitos de sistema, automática.
requisitos de software e design de software [5].
As primeiras perguntas que normalmente surgem sobre código
Abordagens de baixo nível, centradas em código precisam ser fonte gerado, a partir de modelos são sobre sua eficiência. Pode-se
deixadas e práticas rigorosas de modelagem adotadas, para lidar decompor eficiência de código em duas áreas: performance de
com as crescentes demandas por sistemas modermos de software execução e consumo de memória. Os geradores automáticos
[10]. Mesmo que esforços tenham sido realizados para uso de produzem código que possui uma diferença de performance de 5 a
engenharia baseada em modelos para projetos recentes de 15%, para melhor ou pior, quando comparado ao código manual
software aeroespacial, ainda existem diversos desafios que equivalente [12].
Impact analysis of model-based development in avionics software
SBSI'19, May 20-24, 2019, Aracaju, Brazil
production
3 METODOLOGIA DE PESQUISA
Dentre todas as ferramentas utilizadas pelos participantes na Um participante canadense com mais de 20 anos de experiência
produção de software aviônico se destacam a Simulink (46) e a na área entrou em contato, para conversação sobre as questões da
SCADE (35). Possuem propostas similares, permitindo aos pesquisa. Este julgou que, para poder responder as questões de
usuários prototipação e criação de modelos e, a partir desses, impacto das atividades e propriedades, seria necessário saber a
simulação do comportamento do mesmo, além de gerar código natureza do software que está sendo desenvolvido, bem como o
pronto para integração no sistema. Uma das vantagens tamanho do projeto uma vez que estes influenciam diretamente.
importantes de modelos executáveis (simulação) é que fornecem Este também mencionou acreditar no uso de metodologias que se
uma forma de experimentar cedo o sistema, que está sendo apliquem ao problema a ser resolvido, mas também pesando que
desenvolvido e de aprender sobre o mesmo [12]. A
muitos fatores devem ser considerados para tomar a decisão de
implementação, prototipação e simulação são as maiores
finalidades dos modelos, conforme Figura 6, o que indica a busca utilizar algo ou não. Então, esses fatores mencionados pelo
pela maior abrangência possível dentro das etapas de especialista canadense podem ser considerados na tomada de
desenvolvimento, quando se trata de ferramentas de modelagem. decisão sobre a adoção de desenvolvimento baseado em modelos.
Em relação a como o uso do desenvolvimento baseado em Uma das variáveis que poderia ter opiniões variadas refere-se ao
modelos impacta propriedades e atividades num projeto de tempo de aprendizagem para novos membros, na Tabela 1. Essa
software aviônico adotou-se uma escala de 0 a 10, onde 0 propriedade poderia ter obtido uma moda maior, considerando
significava que a atividade ou propriedade em questão piora ao novos membros com facilidade e experiência com modelos,
usar o desenvolvimento baseado em modelos, enquanto 10 fazendo com que estes se insiram no projeto e entendam seus
significava que melhora. As respostas estão na Tabela 1. detalhes mais rapidamente. Pelo lado contrário, poderíamos ter
uma moda menor para desenvolvedores que tem dificuldade ou
Em geral, os resultados na Tabela 1 mostram que na percepção nenhuma experiência com modelos, o que teria o efeito contrário
dos respondentes da amostra dessa pesquisa, a maioria das do primeiro caso. O valor de moda igual 5 obtido como resultado
atividades e propriedades questionadas são impactadas na amostra da pesquisa pode indicar que os respondentes pesaram
beneficamente pela utilização do desenvolvimento baseado em os dois cenários e, como ambos se equivalem de certa forma,
modelos e algumas poucas possuem um impacto neutro, mantiveram uma resposta neutra. Outra forma de visualizar isto é
considerando o valor de moda. É possível destacar dentre elas, as que, dada suas experiências, o uso de modelos realmente não afeta
atividades de design, simulação, prototipação, documentação, o tempo de aprendizagem, independente dos membros em
implementação e testes, uma vez que estas obtiveram moda e questão. De acordo com a Teoria Geral de Sistemas [18] e a
experiência dos autores, entretanto, o uso de modelos em sistemas
SBSI'19, May 20-24, 2019, Aracaju, Brazil Gustavo Giroletti Mottin and Josiane Brietzke Porto
complexos pode reduzir o tempo de aprendizagem, uma vez que Paciência; Conhecimento da área; Tempo e financiamento
este permite um entendimento mais fácil do design e arquitetura suficientes; Revisão e atualização de requisitos.
do software.
Total % de
Fator Ocorrências
Dentre as variáveis com o valor de moda mais baixo, algumas respostas ocorrência
estão relacionadas ao código, como a performance. Nesse caso é Requisitos maduros 59 74,70%
necessário considerar alguns fatores que podem influenciar este, Processo bem definido 57 72,20%
como a utilização ou não de geração de código, a partir dos Engenheiros experientes 47 59,50%
Boa comunicação 46 58,20%
modelos. As ferramentas de geração podem ou não ter certificados
Uso de ferramentas 79
de qualificação, ou seja, geram uma saída que precisa de pouca ou 36 45,60%
adequadas
nenhuma verificação dependendo de sua aplicação. A Seguir os planos
performance do código pode ser diretamente influenciada para 25 31,60%
estabelecidos
atingir estes padrões de qualidade, uma vez que podem garantir a Reuso 20 25,30%
não ocorrência de determinadas exceções como ponteiros nulos, Tabela 2: Principais fatores no sucesso de projetos aviônicos
variáveis não inicializadas, entre outras. De qualquer forma,
avalia-se fundamental estudar como o gerador produz código, a Na Tabela 2 é possível identificar o fato de que aproximadamente
partir de suas diretivas de modelagem para aperfeiçoar a forma de 3 a cada 4 respondentes consideraram que ter requisitos maduros e
uso da ferramenta, visando obter a melhor performance possível. um processo de desenvolvimento bem definido como fatores
determinantes para o sucesso de projetos aviônicos. O primeiro é
Uma vez que a geração de código normalmente toma como considerado fundamental para que não sejam necessárias
referência as definições feitas no modelo e aplica padrões de mudanças e adaptações bruscas ao decorrer da implementação ou
nomenclatura próprios, a saída do mesmo provavelmente se até mesmo da verificação. Dependendo da quantidade de
caracterizará como de difícil leitura. Isto pode explicar a mudanças dos requistos e respectivas funcionalidades pode ser
ocorrência de uma moda de valor 8 na variável de legibilidade de necessário retrabalhar o design para obter a solução mais
código, enquanto, a mediana é igual a 5. Nesse caso, o código otimizada. Porém, muitas vezes isto acaba não sendo possível por
pode ser muito mais legível quando o mesmo é escrito diversos motivos, como a escassez de tempo. Nesses casos,
manualmente, a partir do modelo, mas considerando um código desenvolvedores finalmente são obrigados a encontrar uma
gerado, isso pode não ser verdade. solução alternativa e que pode não se enquadrar como deveria no
design e na arquitetura estabelecida. Existe também a
Logicamente, nos casos em que não há uso de um gerador possibilidade de que mais mudanças sejam realizadas nos
automático de código, a legibilidade e performance do código requisitos, afetando exatamente o que já foi implementado de
fonte dependem diretamente das capacidades de programação do forma alternativa, tornando a situação mais crítica ainda. Enfim,
desenvolvedor. Se o modelo existir, este determinará fatores requisitos são a base fundamental de qualquer projeto em
importantes para a implementação, como uma arquitetura que qualquer domínio de aplicação e a utilização destes quando não
deve ser seguida, um fluxo de controle ou fluxo dados que estão maduros podem ser catastróficos.
deverão ser respeitados. Cabe também a quem implementa o que
está especificado possuir um olhar crítico para identificar Outro fator para o sucesso dos projetos aviônicos é a existência de
oportunidades de melhoria. um processo de desenvolvimento bem definido. A criação de um
sistema aviônico pode ser feito de inúmeras maneiras e até não
Neste sentido há também outro fator avaliado pela pesquisa que é seguir processos, mas este só entrará em operação, após ser
considerado como um dos benefícios dos modelos por aprovado em auditorias realizadas pelas entidades responsáveis. O
Streekmann [11] e Rierson [5], considerado por muitos como uma processo bem definido permite a criação do sistema e geração dos
das chaves para o sucesso de projetos aviônicos: a comunicação. artefatos necessários para evidenciar que o mesmo foi
Este fato pode ser visualizado claramente nos dados apresentados desenvolvido conforme planejado, atendendo a todas as
na Tabela 2, que possui as respostas obtidas sobre os principais especificações de segurança necessárias. Este também traz clareza
fatores para o sucesso de projetos de software aviônico. Além ao desenvolvedor sobre quais os passos que são realizados durante
disso, a Tabela 1 demonstra a comunicação com moda 8, o que o projeto, mencionando entradas necessárias e saídas esperadas.
reforça estas percepções. Caso o processo não esteja bem definido, há a possibilidade de
que uma etapa seja realizada parcialmente ou de forma
Os fatores mencionados na Tabela 2 foram pré-determinados para inesperada, gerando problemas nas etapas subsequentes e
escolha dos participantes na questão, porém havia a opção de inevitavelmente elevando o tempo e custo de desenvolvimento.
descrever outros fatores. Os respondentes definiram também
como chave para o sucesso: Rápida adaptação à mudanças; 5 CONSIDERAÇÕES FINAIS
Quantidade baixa de burocracia; Arquitetura bem definida; Testes
bem realizados; Automatizar processos para atingir objetivos; A técnica de desenvolvimento baseado em modelos pode ser
usada em diversas partes do processo de desenvolvimento de
Impact analysis of model-based development in avionics software
SBSI'19, May 20-24, 2019, Aracaju, Brazil
production
software aviônico, conforme a DO-178C [9] tais como requisitos, possibilidade também de realização de um estudo exploratório
design, implementação, documentação, testes e análises. A sobre possíveis melhorias na DO-331 para facilitar aplicação do
aplicação em cada uma destas tem suas particularidades e trazem desenvolvimento baseado em modelos, além de um estudo
impactos diferentes, cabendo a cada projeto e organização definir comparativo sobre possíveis revisões da DO-331 para demonstrar
como e se utilizarão a metodologia, buscando os melhores a evolução da aplicação dos modelos em software aviônico.
benefícios que atendam os processos definidos para o projeto em
questão. REFERENCES
[1] IEEE. 1990. Ieee standard glossary of software engineering terminology. IEEE
Este artigo demonstrou os resultados da pesquisa realizada sobre Std 610.12-1990, pages 1–84
os impactos do desenvolvimento baseado em modelos para a [2] Zoughbi, G., Briand, L., and Labiche, Y. 2011. Modeling safety and
airworthiness (rtca do-178b) information: conceptual model and uml profile.
produção de software aviônico, a partir das diferentes percepções Software & Systems Modeling, 10(3):337–367.
e experiências de profissionais que já trabalharam com esta [3] Santamaría, D., Alarcón, F., Jiménez, A., Viguria, A., Béjar, M., and Ollero, A.
abordagem. Para tanto, o questionário foi elaborado com base no 2012. Model-based design, development and validation for uas critical
referencial teórico e vivências dos autores na área. software. Journal of Intelligent & Robotic Systems, 65(1):103–114.
[4] Sommerville, I. 2011. Engenharia de Software - 9a edição. Pearson.
[5] Rierson, L. 2013. Developing Safety-Critical Software: A Practical Guide for
Com os resultados obtidos na pesquisa pode-se considerar que, Aviation Software and DO-178C Compliance. CRC Press.
geralmente, a utilização do desenvolvimento baseado em modelos [6] Sommerville, I. 2003. Engenharia de Software - 6a edição. Pearson
[7] SAE. 2010. Guidelines for development of civil aircraft and systems.
impacta de forma benéfica a produção de software aviônico, https://www.sae.org/standards/content/arp4754a/.
aumentando a qualidade deste e trazendo ganhos especialmente [8] Sarkis, A. and Dias, L. A. V. 2014. A set of rules for production of design
em questões como design e prototipação. Pode-se deduzir também models compliant with standards do-178c and do-331. In 2014 11th
que a aplicação da metodologia depende diretamente de alguns International Conference on Information Technology: New Generations, pages
27–32.
fatores como a natureza do software em desenvolvimento, [9] RTCA. 2017. Standards. https://www.rtca.org/content/list-availabledocuments.
finalidades dos modelos, processo utilizado e a experiência dos [10] Pettit, R. G. and Mezcciani, N. 2013. Highlighting the challenges of model-
desenvolvedores com modelagem. Em outras palavras, deve-se based engineering for spaceflight software systems. In 2013 5th International
Workshop on Modeling in Software Engineering (MiSE), pages 51–54.
aplicar a abordagem para as atividades pertinentes em cada caso, [11] Streekmann, N. 2011. Model-Driven Software Development, pages 55–69.
considerando fatores como estes mencionados a fim de que os Vieweg+Teubner Verlag, Wiesbaden.
modelos sejam positivos para o projeto. [12] Selic, B. 2003. The pragmatics of model-driven development. IEEE Software,
20(5):19–25
[13] Hernandez Sampieiri, R., Collado, C. F., and Lucio, M. d. P. B. 2013.
A utilização de modelagem não é uma novidade para a área de Metodologia de pesquisa. Porto Alegre AMGH
software em geral, mas pode ser considerada relativamente nova [14] Silva, L. V. d., Saccol, A. Z., Azevedo, D., and Machado, L. 2012. Metodologia
no âmbito de software aeroespacial, visto que foi recentemente de pesquisa em administração : uma abordagem prática. EAD. São Leopoldo :
Ed. UNISINOS, 2012.
formalizada através da publicação da DO-331 [9]. A modelagem [15] Gil, A. C. 2017. Como elaborar projetos de pesquisa. Rio de Janeiro Atlas.
de software ainda pode evoluir muito e, da mesma forma com que [16] Azevedo, D., Silva, L. V. d., and Machado, L. 2011. Métodos e procedimentos
ocorreu com a DO-178, é provável que novas revisões da DO-331 de pesquisa : (do projeto ao relatório final). EAD. São Leopoldo : Ed.
sejam lançadas a fim de aprimorar os objetivos e esclarecer as UNISINOS, 2011.
[17] Hilderman, V. 2018. Do-331 model based development for engineers and
suas finalidades nos projetos. managers. Technical report, Afuzion.
[18] Bertalanffy, Ludwig von 1968. General System Theory: Foundations,
A maioria dos projetos de software aviônico possuem questões Development, Applications. New York: George Braziller.
sigilosas, seja por proteção à propriedade intelectual das empresas [19] Liebel, G., Marko, N., Tichy, M., Leitner, A. and Hansson, J. 2016. Model-
based engineering in the embedded systems domain: an industrial survey on the
ou por restrições dos clientes por exemplo, que não permitem o state-of-practice. Software & Systems Modeling, 17(1):91–113.
compartilhamento de muitas informações para estudos como o [20] Prosvirin, D. A. and Kharchenko, V. P. 2015. Model-based solution and
realizado neste artigo. Essa realidade é considerada uma limitação software engineering environment for UAV critical onboard applications. In:
2015 IEEE International Conference Actual Problems of Unmanned Aerial
e afetou diretamente a elaboração do questionário, Vehicles Developments (APUAVD), Kiev, Ukraine, pages 312-315.
especificamente, nessa pesquisa. As questões aplicadas trouxeram [21] Paz, A. and Boussaidi, G. El. 2016. On the exploration of model-based support
percepções generalistas de profissionais, que já trabalharam com for DO-178C-Compliant Avionics Software Development and Certification. In:
2016 IEEE International Symposium on Software Reliability Engineering
software aviônico e estas são influenciadas pelas experiências de
Workshops (ISSREW), Ottawa, ON, Canada, pages 229-236.
cada um, principalmente, considerando fatores como o processo
de desenvolvimento usado, natureza do projeto e quais
ferramentas e como foram aplicadas. Variáveis como estas
dificultaram a análise dos resultados, demandando uma visão mais
ampla frente os aspectos que foram considerados mais relevantes.