Priority inversion in Ada

It should be possible to program the following two assertions about the interactions between a set of client task s and a server task . First, when the highest priority client requests service by calling a server's entry, the maximu m delay until the server starts the rendezvous (the blocking time) should be whatever time it takes the server to finis h with an existing client, if any . Second, when the highest priority client is not requesting service from the server, i t should not be possible for the server to delay that highest priority client . It should also be possible to apply thes e two assertions to lower priority clients provided we allow for preemption by higher priority clients, or by the serve r on behalf of higher priority clients .