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