Avançando na Simulação de Software Automotivo com SimSched
O SimSched melhora simulações de software automotivo ao integrar tempos precisos.
― 6 min ler
AUTOSAR, ou Automotive Open System Architecture, é um padrão usado na indústria automotiva. Ele ajuda a organizar o Software encontrado nos veículos em um formato estruturado. Essa arquitetura tem três camadas: uma para aplicações, uma para runtime e uma para software básico. A camada de aplicação é onde as funções de software são construídas usando Componentes de Software (SW-Cs). Cada componente tem entidades executáveis que descrevem o que o software faz e como se comporta.
Quando os engenheiros criam software para carros, eles usam ferramentas como Simulink para representar o comportamento desses componentes. No entanto, o Simulink assume que as ações realizadas em seu ambiente acontecem instantaneamente, o que não é verdade na real. Na vida real, essas ações levam tempo. Essa diferença pode levar a problemas onde comportamentos inesperados não aparecem durante a simulação. Por isso, é necessário um jeito melhor de modelar como o tempo impacta o comportamento do software nos carros.
SimSched é uma extensão do Simulink que ajuda a simular como o software se comporta em condições do mundo real. Ele permite que os engenheiros modelem o tempo das tarefas de uma forma mais precisa. Isso significa que, ao simular o comportamento dos componentes de software, eles podem levar em conta o tempo real que cada tarefa levaria em um veículo de verdade. A ferramenta ajuda a criar um retrato mais preciso de como o software vai funcionar na prática.
A Importância da Simulação
Os automóveis de hoje são movidos por sistemas de software complexos. Por exemplo, sistemas que gerenciam recursos de segurança ou ajudam na condução autônoma dependem muito de software. Veículos modernos podem ter milhões de linhas de código para fazer esses sistemas funcionarem direitinho. Com tanto em jogo, é essencial que os engenheiros desenvolvam e testem o software com precisão antes de ser colocado em carros reais.
As simulações são vitais para testar sistemas. Elas permitem que os engenheiros vejam como os designs funcionarão e descubram problemas potenciais bem antes do produto final ser construído. No entanto, os métodos tradicionais de simulação no Simulink não levam em conta quanto tempo cada ação leva. Eles simplificam assumindo que tudo acontece instantaneamente.
O Papel do SimSched
SimSched busca resolver esses problemas tornando o tempo uma parte central de suas simulações. Ao adicionar detalhes de tempo aos modelos no Simulink, o SimSched permite que os engenheiros vejam quanto tempo as tarefas realmente levam para serem executadas. Isso é crucial, pois ajuda a descobrir problemas de temporização e corrigi-los na fase de design ao invés de durante os testes ou depois do lançamento.
SimSched usa um algoritmo que reflete como as tarefas são realmente priorizadas e executadas em tempo real. Muitos veículos usam um sistema chamado agendamento de teto de prioridade, que ajuda a gerenciar como as tarefas compartilham recursos. Isso significa que as tarefas podem se interromper umas às outras com base na sua importância. O SimSched modela esse comportamento, permitindo que os engenheiros vejam como seu software pode se comportar em várias situações.
Construindo Sobre Trabalhos Anteriores
O SimSched é uma melhoria em relação a trabalhos anteriores apresentados em uma conferência. Ele introduz uma interface gráfica (GUI) que torna o processo de modelagem mais simples. A nova interface permite que os engenheiros gerenciem facilmente os componentes e automatizem algumas partes da preparação da simulação. Essa ferramenta não exige habilidades extensas de programação, tornando-a mais amigável.
A Necessidade de Temporização Precisa
Na indústria automotiva, garantir que o software funcione corretamente de acordo com requisitos de tempo rigorosos é essencial. Atrasos nos Tempos de resposta podem levar a riscos sérios de segurança. Assim, os engenheiros precisam de uma forma simples de modelar a temporização. O SimSched atende a essa necessidade permitindo que os usuários definam o tempo das tarefas diretamente dentro do modelo Simulink.
O AUTOSAR formalizou seus requisitos de temporização, e o SimSched está alinhado com esses padrões. Ele ajuda os engenheiros a definirem suas necessidades de tempo em múltiplos níveis de abstração. Assim, eles podem verificar se seus designs atenderão requisitos específicos de temporização em condições do mundo real.
Como o SimSched Funciona
O SimSched foi projetado para ser integrado aos fluxos de trabalho existentes do Simulink, tornando fácil a adoção para engenheiros que já estão familiarizados com o ambiente. Ao usar o SimSched, os engenheiros podem especificar diferentes parâmetros para suas tarefas, como quanto tempo elas levam para serem concluídas e a ordem em que devem ser executadas.
Durante a simulação, o SimSched mantém um cronograma baseado nesses parâmetros. O programador acompanhará quais tarefas devem ser executadas e quando, possibilitando uma temporização precisa durante os testes.
Vantagens Sobre Outras Ferramentas
O SimSched é comparado a várias ferramentas existentes e demonstrou ser fácil de usar. Ele oferece vantagens significativas, incluindo facilidade de entrada e uma redução na necessidade de programação extra. Outras ferramentas podem ser mais complexas, exigindo que os usuários tenham conhecimento amplo de programação ou um entendimento detalhado de seu funcionamento interno.
O Futuro do SimSched
Desenvolver o SimSched é só o começo. Trabalhos futuros podem expandir suas capacidades para lidar com situações mais complexas, como tarefas que não seguem um cronograma rígido. Isso pode envolver adicionar suporte para uma gama mais ampla de algoritmos de agendamento, permitindo uma modelagem mais realista de como as tarefas interagem em diferentes situações.
Ao poder simular uma variedade de eventos e condições, os engenheiros podem manter mais controle sobre seus designs. No longo prazo, isso pode ajudar a aumentar ainda mais a segurança e o desempenho do software automotivo.
Conclusão
O SimSched representa um avanço significativo na simulação de software automotivo. Ele permite que os engenheiros considerem o tempo em seus designs, o que é crucial na indústria automotiva onde segurança e desempenho não podem ser comprometidos. Ao melhorar a forma como as simulações capturam o comportamento do mundo real, o SimSched visa reduzir o risco de problemas inesperados surgirem depois que um veículo estiver na estrada.
Com melhorias contínuas e flexibilidade, o SimSched tem o potencial de se tornar uma ferramenta padrão no processo de desenvolvimento de software automotivo, ajudando os engenheiros a criar veículos mais seguros e confiáveis.
Título: SimSched: A tool for Simulating Autosar Implementaion in Simulink
Resumo: AUTOSAR (AUTomotive Open System ARchitecture) is an open industry standard for the automotive sector. It defines the three-layered automotive software architecture. One of these layers is the application layer, where functional behaviors are encapsulated in Software Components (SW-Cs). Inside SW-Cs, a set of runnable entities represents the internal behavior and is realized as a set of tasks. To address AUTOSAR's lack of support for modeling behaviors of runnables, languages such as Simulink are employed. Simulink simulations assume Simulink block behaviors are completed in zero execution time, while real execution requires a finite execution time. This timing mismatch can result in failures to detect unexpected runtime behaviors during the simulation phase. This paper extends the Simulink environment to model the timing properties of tasks. We present a Simulink block that can schedule tasks with non-zero simulation times. It enables a more realistic analysis during model development.
Autores: Jian Chen, Manar H. Alalfi, Thomas R. Dean, Ramesh S
Última atualização: 2023-08-28 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2308.14974
Fonte PDF: https://arxiv.org/pdf/2308.14974
Licença: https://creativecommons.org/licenses/by-nc-sa/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.