Kernel
In this page, we provide technical information of analysis features implemented in Cheddar Kernel
Feasibility tests
Location: trunk/src/framework/feasibility_tests
Cheddar implements various feasibility tests. Processor utilization feasibility tests can be applied on other scheduling policies. Furthermore, WCRT can be computed on periodic tasks. Those WCRTs can integrate delays related to shared resources (i.e. shared resource blocking time). Finally, few feasibility tests for hierarchical architectures have also been implemented.
Scheduling simulator
Location: trunk/src/framework/scheduling_simulator
Several classical scheduling algorithms are implemented in Cheddar scheduling analyzer. Users may experiment classical schedulers such as RM, DM, EDF, LLF or POSIX 1003 policies, both preemptive and non preemptive. Those algorithms have been implemented in the context of uniprocessor scheduling and also in the context of global multiprocessor scheduling
Scheduling simulations can be run for usual task models such as periodic, aperiodic and sporadic. Tasks can be constrained by dependencies related to shared resources, precedence or communication task relationships.
From an architecture model, various performance criteria can be extracted from scheduling simulation: worst/best/average response time, probability distribution of response time, worst/best/average shared resource blocking time, number of context switch or preemption, deadlock, priority inversion or specific properties defined with a domain specific language.
Furthermore, specific schedulers or task models can also be specified with the help of the Cheddar ADL. Those specific schedulers allow users to extend the scheduling analysis capability without a deep understanding of Cheddar design and implementation. This feature allows users to quickly adapt the scheduling verification tool to their needs (i.e. implementing a scheduling method which does not exist yet in Cheddar).
Architecture generator
Location: trunk/src/framework/architecture_generator
Priority assignment algorithms
Location: trunk/src/framework/priority_assignment
Cache analysis
Location: trunk/src/framework/cache_system_analysis
MILS security analysis
Location: trunk/src/framework/MILS
Design pattern analysis
Location: trunk/src/framework/design_pattern_analysis
Network analysis
Location: trunk/src/framework/network_analysis