Today’s space systems, such as the PLATO satellite, need to process a large amount of data in space, and therefore may use multi-core architectures. To improve timing predictability and reduce analysis complexity, they may use Asymmetric Multi-Processing (AMP), where each core has its own application and operating system.As cores can execute subsystems supported by different operating systems, the overall system implementation requires inter-core communications implemented through portable mechanisms. These communications might also have to meet timing constraints.In this article, we propose PrAICC (Predictable AMP Inter-Core Communication), a timing predictable inter-core communication model for multi-core heterogeneous AMP architectures. PrAICC has been designed to enforce schedulability while ensuring message latency requirements. It is based on shared memory and platform-agnostic spinlocks to ensure portability, and on polling for timing predictability. We also propose a method to assess the schedulability of applications communicating with PrAICC.Our evaluations showed that the schedulability model is able to predict message latencies and task worst-case response times. They also emphasized that the task worst-case response time is mainly due to spinlock waiting time and holding time. Furthermore, PrAICC performance is independent of the core count.The schedulability model of PrAICC is able to explore trade-offs between schedulability analysis pessimism and message latency. An evaluation based on the PLATO case study was conducted to validate the effectiveness of PrAICC. It determined that the best compromise between message latency and predictability is achieved with a polling period of 100 ms. We can note that this result is consistent with the choice previously made by the teams working on the operational requirements of the PLATO mission. With such a period, the message latency and the schedulability analysis pessimism are respectively bounded to 133ms and 48%.
Energy-harvesting embedded systems, like sensors and medical implants, must satisfy real-time constraints under strict energy limitations. Traditional schedulers, which prioritize timing over energy, often fail to produce valid schedules, particularly for non-preemptive task models. We introduce HELIOS, a lightweight, table-driven scheduler that treats timing and energy as joint first-class constraints while supporting limited-preemptive execution. HELIOS introduces energy readiness, ensuring jobs execute only when both temporal and energy conditions are met. The scheduling problem is formulated as an integer linear programming (ILP) problem, jointly optimizing task ordering, preemption points, and execution under energy constraints. By leveraging non-preemption and energy readiness, HELIOS maintains complexity proportional to job count. A key innovation is the use of worst-case energy footprints to guarantee safe execution via an energy readiness threshold. The table-driven runtime ensures compatibility with resource-constrained kernels. Experiments demonstrate that HELIOS achieves higher schedulability than priority-based baselines.
The emergence of multi-core architectures in space systems presents a real challenge in terms of predictability. Asymmetric multiprocessing (AMP) architectures attempt to solve this problem by approaching uniprocessor behavior. In this paper, a new real-time communication model for AMP architectures is presented. The paper demonstrates, by logic, the predictability of the model, and describes a set of evaluations designed to prove it.
Modern real-time embedded systems increasingly integrate software with varying criticality levels, which increases the interest in mixed criticality scheduling (MCS). MCS provides runtime adaptation mechanisms when low criticality tasks exceed their allocated execution budgets in order to guarantee the timing constraints of high criticality tasks. Most of the current research on MCS adaptation mechanisms focuses on guaranteeing timing constraints by interrupting and discarding low criticality tasks when their budgets are exceeded. They consider only the temporal dimension, without taking into account the quality of the results obtained. Quality is defined as the accuracy level of the results computed by a task within a given execution time. In this article, we propose an approach to integrate quality in a new task model to establish a relationship between quality and scheduling design. We propose the q-AMC scheduling algorithm to validate our task model. This algorithm integrates quality degradation into the scheduling adaptation mechanism. Simulation-based experiments show that our approach increases the quality up to 44.6% compared to the original AMC approach.
This paper presents an approach, called CosiCosi, whose the aim is to characterize the temporal behavior of complex systems. The analyzed systems are defined by their software and hardware architectures, and by the duration of the processing jobs. The abstraction of jobs by their execution time enables early verification, at a phase where all the implementation details of the components are not yet defined. The tool that supports the verification is a SystemC simulator configured from AADL architecture models. It simulates the temporal behavior of the model components, respecting the AADL runtime specification as defined in the standard. The targeted use of the tool is the qualification of hardware/software architectures through intensive testing under an expected workload. The evaluation shows the tool's ability to simulate a system composed of 600 threads, over 1 hour of operation, in approximately 2 minutes on a desktop computer.
Nowadays, many functionalities are integrated in embedded real-time systems, leading to an increase in the number of their software and hardware components. In this context, the interest in mixed-criticality scheduling is growing [1].
This article deals with scheduling anomalies in real-time systems. We present MONANO, a POSIX user-level library allowing applications to dynamically detect a preidentified set of real-time scheduling anomalies. The MONANO library is based on the modelling of architecture and runtime constraints. MONANO monitors during the runtime the timing behavior of the application and deduces properties needed to identify scheduling anomalies. We present also a benchmark to evaluate our approach. The benchmark is composed of several programs implementing the most frequent real-time scheduling anomalies.
The Architecture Analysis and Design Language (AADL) is a SAE standard for modeling both hardware and software architecture of embedded systems. Widely embraced by stakeholders in critical real-time embedded systems, the AADL standard is used to address a large set of concerns including performances (latency, schedulability), safety, and security. The ADEPT workshop aims to present and report on current projects in the field of design, implementation, and verification of critical real-time embedded systems where AADL is a first-citizen technology. This article is a summary of the second edition of the workshop in 2023.
Abstract Time and Space Partitioning (TSP) introduces the concept of partitions that allow application isolation. Applications can be assigned to partitions according to various objective functions or constraints related to safety, security, schedulability or energy requirements. Some of these objective functions may be conflicting, i.e. an improvement of one objective leads to a decrease of another. For example, improving the safety by active redundancy of a system may impact its schedulability. In this paper, we investigate the conflicting aspect between schedulability and security (confidentiality and integrity) in TSP real-time systems. We formulate 3 design space exploration algorithms with a meta-heuristic called Pareto Archived Evolutionary Strategy (PAES). These algorithms are implemented into Cheddar, a schedulability analysis tool. We investigate the effect of different architecture implementations to bring confidentiality and integrity in TSP systems. Our experiments reveal that the security architecture implementation alternatives offer opportunities for good trade-offs between schedulability and security. We also establish that our proposed mutation algorithms are adapted to large-scale problems. Comparison with the exact method for small size test-case shows that the proposed approach converges towards the Pareto front, missing only one non dominated solution.
Interference within a multi-core architecture may have several origins. Understanding where interference comes from is mandatory for verification and certification purposes. Unfortunately, the complexity of current architectures makes it difficult to quantify such interference. In this article, a new approach is introduced that enables benchmark configurations to isolate and quantify interference. An experiment with DMA interference is presented and shows a WCET overhead of up to 0.26% at 25 Mbit/s. This experiment was also able to discover and identify interference related to DMA, such as interruptive flow overhead, around 3% for 25 Mbit/s, or packet transmission memory access overhead, around 9% for 25 Mbit/s.
This article deals with scheduling anomalies in real-time systems. We present MONANO, a POSIX user-level library allowing applications to dynamically detect a preidentified set of real-time scheduling anomalies. The MONANO library is based on the modelling of architecture and runtime constraints. MONANO monitors during the runtime the timing behavior of the application and deduces properties needed to identify scheduling anomalies. We present also a benchmark to evaluate our approach. The benchmark is composed of several programs implementing the most frequent real-time scheduling anomalies.
The Architecture Analysis and Design Language (AADL) is a SAE Standard for the modeling of both the hardware and the software of embedded systems. The AADL standard is now mature and is today employed by numerous stakeholders in the domain of critical embedded real-time systems to address a large set of concerns: performances (latency, schedulability), safety, or security, ... The ADEPT workshop aims to present and report on current projects in the field of design, implementation, and verification of critical systems where AADL is a first-citizen technology. This article is a summary of the ADEPT 2022 workshop.
In this article, we investigate the interest in applying a mixed-criticality approach to schedule convolutional neural network (CNN) applications on multicore architectures. We deal with software composed of real-time interactive applications and CNNs that have different criticality levels. A classical means to schedule software with various criticality levels is to apply partitioning methods to enforce spatial and temporal isolation, which may be inefficient if application execution times have a high level of variability. In that case, applying a mixed-criticality approach may improve resource usage. We conducted a measurement campaign to assess the variability of CNN execution time and investigate whether this kind of application could benefit from a mixed-criticality approach. The results show that the execution times of the chosen CNN application vary with an average execution time of 109 ms and a worst case of 252 ms. Furthermore, they indicate a potential save of computing resources up to 73 % when applying a mixed-criticality approach instead of partitioning methods.
Les Systèmes Multi-Agents (SMA) ont montré depuis plusieurs années leur adéquation à modéliser et simuler les systèmes complexes. Nous suivons cette approche pour modéliser une colonie d’abeilles située dans une ruche Dadant, où plusieurs dizaines de milliers d’individus interagissent, dans le but d’évaluer l’impact d’actions locales au niveau des abeilles (e.g. pratiques apicoles) sur la colonie. Nous nous concentrons ici sur l’activité de butinage, en nous intéressant plus particulièrement au phénomène d’auto-organisation qui conduit les butineuses à sélectionner les meilleures sources de nourriture disponibles. Les interactions des butineuses avec l’environnement extérieur de la ruche, qui diffère de l’intérieur en termes de granularité des actions et d’échelle, sont simulées grâce à un module paramétrable et compatible agent, en fonction de la météo et des sources de nourriture environnantes. Les résultats de deux expérimentations du modèle, l’une sur une année complète, et l’autre sur une journée, montrent que le phénomène d’auto-organisation des butineuses résulte du comportement des butineuses et des mécanismes de recrutement implantés, et offrent une première validation de notre modèle.