Abstract

Time-critical systems for instance in avionics, isolate applications from each other to provide safety and timing guarantees. Resources are partitioned in time and space to create an isolated partition per application which facilitates fault containment and independent development, testing and verification of applications. Current partitioned systems do not allow dynamically adding applications. Applications are statically loaded in their respective partitions. However, dynamic loading can be useful or even necessary for scenarios such as on-board software updates, dynamic reconfiguration or re-loading applications in case of a fault. Multiprocessors offer higher performance and by integrating applications on different single-core chips onto a single multiprocessor chip, power consumption and weight of the system can be reduced. For these reasons, interest in using multiprocessor platforms for time-critical systems has recently increased.In this paper we propose a software architecture to dynamically create and manage multiprocessor partitions. We also propose a method for composable dynamic loading in uniprocessor and multiprocessor platforms which ensures that loading applications do not affect the running applications and vice versa. Furthermore the loading time is also predictable i.e. the loading time can be bounded a priori. We achieve this by splitting the loading process into parts, wherein only a small part which reserves minimum required resources is executed in the system partition and the other parts are executed in the allocated application partitions which ensures isolation from other applications. We implement the software architecture for a SoC prototype on an FPGA board and demonstrate its composability and predictability properties.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call