- A method of controlling the scheduling of software tasks to be executed in a predetermined application context, the software tasks (26a,..., 26z) being adapted to be implemented by a computing device in a non-privileged execution mode, the computing device comprising hardware resources (14a-20a) managed by an operating system with a kernel executable in privileged execution mode, the method being implemented by said kernel of the operating system and performing a scheduling of software tasks to be executed using a previously stored configuration structure (36, 100), said configuration structure comprising, for said given application context, at least one priority level associated with each software task of said application context, characterized in that said configuration structure further comprises for each software task of said application context, information relating to authorised communications from said task to one or more destination software tasks, and for said given application context, a set of global states, with for each global state, an indication of tasks authorized in said state, and an indication (142, 143) of authorized transitions between global states, the method comprising steps of: - receiving at least one event to be processed, - identifying at least one eligible software task, to be executed following said at least one event to be processed, an eligible task being an authorized task in a current global state according to said indication of authorized tasks, - scheduling eligible tasks according to the priority level associated with each eligible task, and - selecting the eligible task listed in a list of eligible tasks, of the highest priority and authorized in the current global state. the method being implemented by said kernel of the operating system and performing a scheduling of software tasks to be executed using a previously stored configuration structure (36, 100), said configuration structure comprising, for said given application context, at least one priority level associated with each software task of said application context, characterized in that said configuration structure further comprises for each software task of said application context, information relating to authorised communications from said task to one or more destination software tasks, and for said given application context, a set of global states, with for each global state, an indication of tasks authorized in said state, and an indication (142, 143) of authorized transitions between global states, the method comprising steps of: - receiving at least one event to be processed, - identifying at least one eligible software task, to be executed following said at least one event to be processed, an eligible task being an authorized task in a current global state according to said indication of authorized tasks, - scheduling eligible tasks according to the priority level associated with each eligible task, and - selecting the eligible task listed in a list of eligible tasks, of the highest priority and authorized in the current global state. - receiving at least one event to be processed, - identifying at least one eligible software task, to be executed following said at least one event to be processed, an eligible task being an authorized task in a current global state according to said indication of authorized tasks, - scheduling eligible tasks according to the priority level associated with each eligible task, and - selecting the eligible task listed in a list of eligible tasks, of the highest priority and authorized in the current global state.