Locking Protocols for Parallel Real-Time Tasks with Semaphores under Federated Scheduling