21 |
Metodologia orientada a aspectos para a especificação de sistemas tempo-real embarcados distribuídos / Aspect-Oriented Methodology to Specify Distributed Real-time Embedded SystemsFreitas, Edison Pignaton de January 2007 (has links)
Sistemas de tempo-real embarcados distribuídos se caracterizam pela complexidade e especificidade de seus projetos. Tanto a complexidade quanto a especificidade apresentam forte influência dos diversos requisitos ligados às restrições advindas das três características que distinguem tais sistemas, i.e. presença de fortes restrições temporais, restrições de sistemas embarcados e distribuição de processamento. Estes requisitos, chamados de requisitos não-funcionais, afetam diversas partes do sistema de maneira não uniforme, tornando-se por esta razão difícil o seu gerenciamento. Metodologias orientadas a objetos não apresentam mecanismos específicos para tratar tais requisitos, o que implica na aplicação de um significativo esforço ao se realizar o reuso ou a manutenção de componentes afetados por requisitos de natureza nãofuncional. Novas tecnologias têm surgido com o objetivo de contornar este problema, notadamente a orientação a aspectos. Este paradigma propõe a separação no tratamento dos requisitos não-funcionais contribuindo com a modularização do sistema. Esta dissertação propõe a aplicação de orientação a aspectos para a especificação de sistemas tempo-real embarcados distribuídos. Para isto realizou-se a adaptação de uma metodologia de desenvolvimento de sistemas orientada a aspectos, a FRIDA (From RequIrements to Design using Aspects), contextualizando-a para o domínio de interesse. A utilização desta metodologia provê suporte ao mapeamento de requisitos em elementos de projeto de modo a promover a rastreabilidade entre as fases de análise e projeto. Na fase de projeto é proposta a utilização de aspectos em conjunto com elementos do perfil RT-UML para o tratamento dos requisitos identificados e especificados na fase de análise. / Distributed real-time embedded systems generally have complex and very specific projects. Those characteristics are influenced by several requirements that have relation with constraints about the time, embedded and distribution restrictions. Those requirements, called non-functional requirements, can affect the whole system in a nonuniform way, what makes it difficult to handle with this kind of requirement. Objectoriented methodologies do not present specific mechanisms to handle those requirements, what imply in a significant effort to perform reuse and maintainability tasks in those components affected by non-functional requirements. New technologies are emerging to fulfill this gap, noteworthy the aspect orientation. This paradigm proposes the separation in handling functional and non-functional requirements, giving a contribution to the system modularity. This dissertation proposes the use of aspect orientation to specify distributed realtime embedded systems. To support this proposal, it was performed an adaptation of an aspect-oriented method called FRIDA (From RequIrements to Design using Aspects). The use of this method supports the mapping of requirements in design model elements, in order to promote traceability between analysis and design phases. The presented approach proposes the use of RT-UML together with aspect oriented elements in design phase aiming to improve the handling of those requirements specified in the analysis phase.
|
22 |
An aspect-oriented model-driven engineering approach for distributed embedded real-time systems / Uma abordagem de engenharia guiada por modelos para o projeto de sistemas tempo-real embarcados e distribuídosWehrmeister, Marco Aurélio January 2009 (has links)
Atualmente, o projeto de sistemas tempo-real embarcados e distribuídos está crescendo em complexidade devido à sua natureza heterogênea e ao crescente número e diversidade de funções que um único sistema desempenha. Sistemas de automação industrial, sistemas eletrônicos em automóveis e veículos aéreos, equipamentos médicos, entre outros, são exemplos de tais sistemas. Tais sistemas são compostos por componentes distintos (blocos de hardware e software), os quais geralmente são projetados concorrentemente utilizando modelos, ferramentas e linguagens de especificação e implementação diferentes. Além disso, estes sistemas tem requisitos específicos e importantes, os quais não representam (por si só) as funcionalidades esperadas do sistema, mas podem afetar a forma como o sistema executa suas funcionalidades e são muito importantes para a realização do projeto com sucesso. Os chamados requisitos não-funcionais são difíceis de tratar durante todo o ciclo de projeto porque normalmente um único requisito não-funcional afeta vários componentes diferentes. A presente tese de doutorado propõe a integração automatizada das fases de projeto de sistemas tempo-real embarcados e distribuídos focando em aplicações na área da automação. A abordagem proposta usa técnicas de engenharia guiada por modelos (do inglês Model Driven Engineering ou MDE) e projeto orientado a aspectos (do inglês Aspect-Oriented Design ou AOD) juntamente com o uso de plataformas previamente desenvolvidas (ou desenvolvida por terceiros) para projetar os componentes de sistemas tempo-real embarcados e distribuídos. Adicionalmente, os conceitos de AOD permitem a separação no tratamento dos requisitos de naturezas diferentes (i.e. requisitos funcionais e não-funcionais), melhorando a modularização dos artefatos produzidos (e.g. modelos de especificação, código fonte, etc.). Além disso, esta tese propõe uma ferramenta de geração de código, que suporta a transição automática das fases iniciais de especificação para as fases seguintes de implementação. Esta ferramenta usa um conjunto de regras de mapeamento, que descrevem como elementos nos níveis mais altos de abstração são mapeados (ou transformados) em elementos dos níveis mais baixos de abstração. Em outras palavras, tais regras de mapeamento permitem a transformação automática da especificação inicial, as quais estão mais próximo do domínio da aplicação, em código fonte para os componentes de hardware e software, os quais podem ser compilados e sintetizados por outras ferramentas para se obter a realização/implementação do sistema tempo-real embarcado e distribuído. / Currently, the design of distributed embedded real-time systems is growing in complexity due to the increasing amount of distinct functionalities that a single system must perform, and also to concerns related to designing different kinds of components. Industrial automation systems, embedded electronics systems in automobiles or aerial vehicles, medical equipments and others are examples of such systems, which includes distinct components (e.g. hardware and software ones) that are usually designed concurrently using distinct models, tools, specification, and implementation languages. Moreover, these systems have domain specific and important requirements, which do not represent by themselves the expected functionalities, but can affect both the way that the system performs its functionalities as well as the overall design success. The so-called nonfunctional requirements are difficult to deal with during the whole design because usually a single non-functional requirement affects several distinct components. This thesis proposes an automated integration of distributed embedded real-time systems design phases focusing on automation systems. The proposed approach uses Model- Driven Engineering (MDE) techniques together with Aspect-Oriented Design (AOD) and previously developed (or third party) hardware and software platforms to design the components of distributed embedded real-time systems. Additionally, AOD concepts allow a separate handling of requirement with distinct natures (i.e. functional and non-functional requirements), improving the produced artifacts modularization (e.g. specification model, source code, etc.). In addition, this thesis proposes a code generation tool, which supports an automatic transition from the initial specification phases to the following implementation phases. This tool uses a set of mapping rules, describing how elements at higher abstraction levels are mapped (or transformed) into lower abstraction level elements. In other words, suchmapping rules allow an automatic transformation of the initial specification, which is closer to the application domain, in source code for software and hardware components that can be compiled or synthesized by other tools, obtaining the realization/ implementation of the distributed embedded real-time system.
|
23 |
Cache memory aware priority assignment and scheduling simulation of real-time embedded systems / Affectation de priorité et simulation d’ordonnancement de systèmes temps réel embarqués avec prise en compte de l'effet des mémoires cacheTran, Hai Nam 23 January 2017 (has links)
Les systèmes embarqués en temps réel (RTES) sont soumis à des contraintes temporelles. Dans ces systèmes, l'exactitude du résultat ne dépend pas seulement de l'exactitude logique du calcul, mais aussi de l'instant où ce résultat est produit (Stankovic, 1988). Les systèmes doivent être hautement prévisibles dans le sens où le temps d'exécution pire-cas de chaque tâche doit être déterminé. Une analyse d’ordonnancement est effectuée sur le système pour s'assurer qu'il y a suffisamment de ressources pour ordonnancer toutes les tâches. La mémoire cache est un composant matériel utilisé pour réduire l'écart de performances entre le processeur et la mémoire principale. L'intégration de la mémoire cache dans un RTES améliore généralement la performance en terme de temps d'exécution, mais malheureusement, elle peut entraîner une augmentation du coût de préemption et de la variabilité du temps d'exécution. Dans les systèmes avec mémoire cache, plusieurs tâches partagent cette ressource matérielle, ce qui conduit à l'introduction d'un délai de préemption lié au cache (CRPD). Par définition, le CRPD est le délai ajouté au temps d'exécution de la tâche préempté car il doit recharger les blocs de cache évincés par la préemption. Il est donc important de pouvoir prendre en compte le CRPD lors de l'analyse d’ordonnancement. Cette thèse se concentre sur l'étude des effets du CRPD dans les systèmes uni-processeurs, et étend en conséquence des méthodes classiques d'analyse d’ordonnancement. Nous proposons plusieurs algorithmes d’affectation de priorités qui tiennent compte du CRPD. De plus, nous étudions les problèmes liés à la simulation d'ordonnancement intégrant le CRPD et nous établissons deux résultats théoriques qui permettent son utilisation en tant que méthode de vérification. Le travail de cette thèse a permis l'extension de l'outil Cheddar - un analyseur d'ordonnancement open-source. Plusieurs méthodes d'analyse de CRPD ont été également mises en oeuvre dans Cheddar en complément des travaux présentés dans cette thèse. / Real-time embedded systems (RTES) are subject to timing constraints. In these systems, the total correctness depends not only on the logical correctness of the computation but also on the time in which the result is produced (Stankovic, 1988). The systems must be highly predictable in the sense that the worst case execution time of each task must be determined. Then, scheduling analysis is performed on the system to ensure that there are enough resources to schedule all of the tasks.Cache memory is a crucial hardware component used to reduce the performance gap between processor and main memory. Integrating cache memory in a RTES generally enhances the whole performance in term of execution time, but unfortunately, it can lead to an increase in preemption cost and execution time variability. In systems with cache memory, multiple tasks can share this hardware resource which can lead to cache related preemption delay (CRPD) being introduced. By definition, CRPD is the delay added to the execution time of the preempted task because it has to reload cache blocks evicted by the preemption. It is important to be able to account for CRPD when performing schedulability analysis.This thesis focuses on studying the effects of CRPD on uniprocessor systems and employs the understanding to extend classical scheduling analysis methods. We propose several priority assignment algorithms that take into account CRPD while assigning priorities to tasks. We investigate problems related to scheduling simulation with CRPD and establish two results that allows the use of scheduling simulation as a verification method. The work in this thesis is made available in Cheddar - an open-source scheduling analyzer. Several CRPD analysis features are also implemented in Cheddar besides the work presented in this thesis.
|
24 |
Rétro-ingénierie des plateformes pour le déploiement des applications temps-réel / Reverse-engineering of platforms for the deployment of real-time applicationsMzid, Rania 12 May 2014 (has links)
Les travaux présentés dans cette thèse s’inscrivent dans le cadre du développement logiciel des systèmes temps réel embarqués. Nous définissons dans ce travail une méthodologie nommée DRIM. Cette méthodologie permet de guider le déploiement des applications temps réel sur différents RTOS en suivant la ligne de l’IDM et en assurant le respect des contraintes de temps après le déploiement. L’automatisation de la méthodologie DRIM montre sa capacité à détecter les descriptions non-implémentables de l’application, réalisées au niveau conception, pour un RTOS donné, ce qui présente l’avantage de réduire le temps de mise sur le marché d’une part et de guider l’utilisateur pour un choix approprié de l’RTOS cible d’autre part. / The main purpose of this Phd is to contribute to the software development of real-time embedded systems. We define in this work a methodology named DRIM: Design Refinement toward Implementation Methodology. This methodology aims to guide the deployment of a real-time application on to different RTOS while respecting MDE principals and ensuing that the timing properties are still met after deployment. The automation of DRIM shows its ability to detect non-implementable design models describing the real-time application, on aparticular RTOS, which permits to reduce the time-to-market on the one hand and guide the user to the selection of the appropriate RTOS from the other hand.
|
25 |
Estratégias para o gerenciamento da mistura ar combustível aplicadas em motores flex. / Strategies for the air fuel mixture management applied to flex engines.Novaes, Lucas Motta de 06 December 2018 (has links)
No presente trabalho, emprega-se a medida da concentração de etanol do combustível para efetuar correções estequiométricas de maneira direta e instantânea, a fim de eliminar o período necessário para adaptação a partir da medida do sensor de oxigênio (sonda lambda) em eventos de reabastecimento no veículo. Com o objetivo de assegurar a operação flex-fuel, foram empregados métodos para a regulação ar/combustível em malha fechada, realimentados por sensores de oxigênio (banda larga amplificada e banda estreita). O projeto foi implementado em uma ECU (Eletronic Control Unit) idealizada para desenvolvimento de rotinas de programa voltadas ao gerenciamento eletrônico para motores de combustão interna ciclo Otto, denominada Flex-ECU. A ETAS/Bosch Flex-ECU possui programação aplicada à ferramenta ASCET (Advanced Simulation and Control Engineering Tool), o qual trata-se de um código open source para sistemas embarcados de tempo real. Por fim, são exibidos resultados de controle, desempenho e eficiência do motor para diferentes composições de combustível comercializados para a frota de veículos leves em território nacional. Os experimentos revelam a dinâmica de funcionamento do controle A/C bicombustível e discute as suas principais características, com o objetivo de exemplificar métodos de otimização de sua eficiência. / In the present work, the ethanol fuel concentration is used to establish stoichiometric corrections in a direct and instantaneous manner, to eliminate the period necessary for adaptation, from the measurement of the oxygen sensor (lambda probe) in events of refueling. To ensure Flex-fuel operation, closed-loop air/fuel regulation methods were used, fed by oxygen sensors (amplified wide band and narrow band). The project was implemented in an ECU (Electronic Control Unit) designed for the development of code routines for electronic management of an Otto cycle internal combustion engine, labeled Flex-ECU. The ETAS / Bosch Flex-ECU has programming applied to the ASCET (Advanced Simulation and Control Engineering Tool) tool, which is an open source code for real time embedded systems. Finally, results of engine control, performance, and efficiency are presented for different fuel compositions available in Brazil for the fleet of light vehicles. The experiments show the dynamics of the operation of the bi-fuel A/C control and discusses its main characteristics, aiming to exemplify optimization methods of its efficiency.
|
26 |
Vérification des contraintes temporelles de bout-en-bout dans le contexte AutoSar / Verification of end-to-end real-time constraints in the context of AutoSarMonot, Aurélien 26 October 2012 (has links)
Les systèmes électroniques embarqués dans les véhicules ont une complexité sans cesse croissante. Cependant, il est crucial d'en maîtriser le comportement temporel afin de garantir la sécurité ainsi que le confort des passagers. La vérification des contraintes temporelles de bout-en-bout est donc un enjeu majeur lors de la conception d'un véhicule. Dans le contexte de l'architecture logicielle AUTOSAR standard dans les véhicules, nous décomposons la vérification d'une contrainte de bout-en-bout en sous-problèmes d'ordonnancement sur les calculateurs et sur les réseaux de communication que nous traitons ensuite séparément. Dans un premier temps, nous présentons une approche permettant d'améliorer l'utilisation des calculateurs exécutant un grand nombre de composants logiciels, compatible avec l'introduction progressive des plateformes multi-coeurs. Nous décrivons des algorithmes rapides et efficaces pour lisser la charge périodique sur les calculateurs multi-coeurs en adaptant puis en améliorant une approche existant pour les bus CAN. Nous donnons également des résultats théoriques sur l'efficacité des algorithmes dans certains cas particuliers. Enfin, nous décrivons les possibilités d'utilisation de ces algorithmes en fonction des autres tâches exécutées sur le calculateur. La suite des travaux est consacrée à l'étude des distributions de temps de réponse des messages transmis sur les bus CAN. Dans un premier temps nous présentons une approche de simulation basée sur la modélisation des dérives d'horloges des calculateurs communicant sur le réseau. Nous montrons que nous obtenons des distributions de temps de réponse similaires en réalisant une longue simulation avec des dérives d'horloge ou en faisant un grand nombre de courtes simulations sans dérives d'horloge. Nous présentons enfin une technique analytique pour évaluer les distributions de temps de réponse des trames CAN. Nous présentons différents paramètres d'approximation permettant de réduire le nombre très important de calculs à effectuer en limitant la perte de précision. Enfin, nous comparons expérimentalement les résultats obtenus par analyse et simulation et décrivons les avantages et inconvénients respectifs de ces approches / The complexity of electronic embedded systems in cars is continuously growing. Hence, mastering the temporal behavior of such systems is paramount in order to ensure the safety and comfort of the passengers. As a consequence, the verification of end-to-end real-time constraints is a major challenge during the design phase of a car. The AUTOSAR software architecture drives us to address the verification of end-to-end real-time constraints as two independent scheduling problems respectively for electronic control units and communication buses. First, we introduce an approach, which optimizes the utilization of controllers scheduling numerous software components that is compatible with the upcoming multicore architectures. We describe fast and efficient algorithms in order to balance the periodic load over time on multicore controllers by adapting and improving an existing approach used for the CAN networks. We provide theoretical result on the efficiency of the algorithms in some specific cases. Moreover, we describe how to use these algorithms in conjunction with other tasks scheduled on the controller. The remaining part of this research work addresses the problem of obtaining the response time distributions of the messages sent on a CAN network. First, we present a simulation approach based on the modelisation of clock drifts on the communicating nodes connected on the CAN network. We show that we obtain similar results with a single simulation using our approach in comparison with the legacy approach consisting in numerous short simulation runs without clock drifts. Then, we present an analytical approach in order to compute the response time distributions of the CAN frames. We introduce several approximation parameters to cope with the very high computational complexity of this approach while limiting the loss of accuracy. Finally, we compare experimentally the simulation and analytical approaches in order to discuss the relative advantages of each of the two approaches
|
27 |
Distribution d'une architecture modulaire intégrée dans un contexte hélicoptère / Distribution of an integrated modular architecture in a helicopter contextBérard-Deroche, Émilie 12 December 2017 (has links)
Les architectures modulaires intégrées (IMA) sont une évolution majeure de l'architecture des systèmes avioniques. Elles permettent à plusieurs systèmes de se partager des ressources matérielles sans interférer dans leur fonctionnement grâce à un partitionnement spatial (zones mémoires prédéfinies) et temporel (ordonnancement statique) dans les processeurs ainsi qu'une réservation des ressources sur les réseaux empruntés. Ces allocations statiques permettent de vérifier le déterminisme général des différents systèmes: chaque système doit respecter des exigences de bout-en-bout dans une architecture asynchrone. Une étude pire cas permet d'évaluer les situations amenant aux limites du système et de vérifier que les exigences de bouten- bout sont satisfaites dans tous les cas. Les architectures IMA utilisés dans les avions centralisent physiquement des modules de calcul puissants dans des baies avioniques. Dans le cadre d'une étude de cas hélicoptère, ces baies ne sont pas envisageables pour des raisons d'encombrement: des processeurs moins puissants, utilisés à plus de 80%, composent ces architectures. Pour ajouter de nouvelles fonctionnalités ainsi que de nouveaux équipements, le souhait est de distribuer la puissance de traitement sur un plus grand nombre de processeurs dans le cadre d'une architecture globale asynchrone. Deux problématiques fortes ont été mises en avant tout au long de cette thèse. La première est la répartition des fonctions avioniques associée à une contrainte d'ordonnancement hors-ligne sur les différents processeurs. La deuxième est la satisfaction des exigences de communication de bout-en-bout, dépendantes de l'allocation et l'ordonnancement des fonctions ainsi que des latences de communication sur les réseaux. La contribution majeure de cette thèse est la recherche d'un compromis entre la distribution des architectures IMA sur un plus grand nombre de processeurs et la satisfaction des exigences de communication de bout-en-bout. Nous répondons à cet enjeu de la manière suivante: - Nous formalisons dans un premier temps un modèle de partitions communicantes tenant en compte des contraintes d'allocation et d'ordonnancement des partitions d'une part et des contraintes de communication de bout-en-bout entre partitions d'autre part. - Nous présentons dans un deuxième temps une recherche exhaustive des architectures valides. Nous proposons l'allocation successive des fonctions avioniques en considérant au même niveau la problématique d'ordonnancement et la satisfaction des exigences de bout-en-bout avec des latences de communication figées. Cette méthode itérative permet de construire des allocations de partitions partiellement valides. La construction des ordonnancements dans chacun des processeurs est cependant une démarche coûteuse dans le cadre d'une recherche exhaustive. - Nous avons conçu dans un troisième temps une heuristique gloutonne pour réduire l'espace de recherche associé aux ordonnancements. Elle permet de répondre aux enjeux de distribution d'une architecture IMA dans un contexte hélicoptère. - Nous nous intéressons dans un quatrième temps à l'impact des latences de communication de bout-en-bout sur des architectures distribuées données. Nous proposons pour celles-ci les choix de réseaux basés sur les latences de communication admissibles entre les différentes fonctions avioniques. Les méthodes que nous proposons répondent au besoin industriel de l'étude de cas hélicoptère, ainsi qu'à celui de systèmes de plus grande taille. / Integrated Modular Architectures (IMA) is a major evolution of avionics systems. A spatial (predefined memory zones) and temporal (off-line scheduling) partitioning as well as communication resources reservation permit several systems not to interfere in this architecture. The determinism of systems is proved thanks to these static allocations: each system must respect end-to-end requirements in an asynchronous architecture. A worst-case study permits to assess the bounds of systems in order to verify that end-to-end requirements are satisfied in all the cases. IMA architectures physically centralize powerful computing resources in avionics bays in aircraft. These aren't feasible in helicopters due to size reasons: powerless processors, at least 80% used, set these architectures. In order to add new functionalities and equipment, the aim is to distribute processing power over a larger number of processors in the context of a globally asynchronous architecture. Two strong issues have been advanced throughout this thesis. The first one is the distribution of avionics functions with an off-line scheduling constraint on the different processors. The second one is the satisfaction of end-to-end requirements, depending on allocation and scheduling of functions as well as communication latencies over the networks. This thesis proposes a trade-off between the distribution of IMA architectures on a larger number of processors and the satisfaction of end-to-end communication requirements. We answer at this topic as follows: - First, we formalize a communicating partitions model based on the partitions allocation and scheduling constraints on the one hand and end-to-end communication constraints on the other hand. - Second, we present an exhaustive search of valid architectures. We introduce a successive allocation of avionics functions considering altogether the scheduling and the satisfaction of end-to-end constraints with fixed communication latencies. This iterative method allows the building of partially valid allocations schemes, but the scheduling search is expensive here. - Third, we create a greedy heuristic to reduce the scheduling search space. It permits to meet the challenges of the distribution of IMA architecture in a helicopter context. - Finally, we focus on the impact of end-to-end communication latencies on given distributed architectures. We define for them the networks based on eligible communication latencies between the different avionics functions. Our methods answer the industrial case study needs as well as bigger size systems needs.
|
Page generated in 0.0426 seconds