80 likes | 288 Views
Real Time OSGi. Glenn Coates, Sr. Design Consultant. PERC Product Line. PERC Ultra – soft real-time Java PERC Pico - hard real-time Java PERC Raven - safety-critical Java. Benefits of OSGi for Real Time Systems. OSGi provides many benefits for SRT systems and potentially HRT systems
E N D
Real Time OSGi Glenn Coates, Sr. Design Consultant
PERC Product Line • PERC Ultra – soft real-time Java • PERC Pico - hard real-time Java • PERC Raven - safety-critical Java
Benefits of OSGi for Real Time Systems • OSGi provides many benefits for SRT systems and potentially HRT systems • Runtime maintenance and upgrade • Component abstraction and software decomposition • However, a number of issues need to be considered. • RT OSGi bundles, must be compatible with one another • Functional Viewpoint • Real Time View point • Memory Usage and CPU usage • Timing compatibility in RT systems is often as important as functional compatibility. • Real Time partitioning within OSGi
OSGi for Soft Real Time • Each OSGi Soft Real Time Bundle could specify: • CPU usage budget • Memory utilization budget • Obtained via profiling, and measurement • Resource budgets need to be “enforced” by the OSGI platform • Look at existing Adaptive Partitioning Systems for Soft and Firm Real Time Systems • Enforcement of CPU budgets under heavy/full load • Components can borrow free CPU time from other components • CPU slack time is not wasted • Resource budgets can be modified at run-time so system can adapt to fault conditions or other scenarios
Hard Real Time Java • Missed deadlines cannot be tolerated • Very small memory footprint • Throughput efficiency of optimized C • Simplicity of run-time environment • No garbage collection, Scoped Memory used instead • Compile-time proof that system is free from memory errors. • Support for local static analysis instead of brittle global static analysis to automatically determine worst case resource needs
OSGi Hard Real Time • Each OSGi HRT Bundle could specify: • Worst Case CPU Utilization • Worst Case memory utilization • Based on static analysis or programmer annotations • Worst case resource budgets need to be “guaranteed” by the OSGI platform • Example, ARINC 653 OS Partitioning for Safety Critical Avionics • Spatial Partitioning - isolation, safety and integrity • Temporal Partitioning - Hard enforcement of component CPU usage
OSGi RT Profiles Profile Model? OSGi ‘Profiles’ OSGi-Enterprise OSGi-SRT OSGi-HRT OSGi Core Common OSGi Platform
Conclusion • Smaller OSGi for Embedded RT Systems - existing OSGi is too big • Real Time Partitioning to prevent Bundles from interfering with one another. • Look at existing Adaptive Partitioning Systems for Soft Real Time Systems OSGi • Look at ARINC 653 OS Partitioning for Hard Real Time OSGi • One OSGi does not fit into every environment. Could a layered OSGi with distinct profiles be adopted?