Description
Solution Design
You program must contain the following classes:
- Router Class: that contains a list of connections and methods to occupy a connection and release a connection.
- Semaphore Class: as given the synchronization lab.
- Device Class: represent different devices (threads) that can be connected to the router; each device has its own name (i.e. C1) and type (i.e. mobile, pc, tablet…) and it may perform three activities: connect, perform online activity and disconnect/logout.
- Network Class: this class contains the main method in which the user is asked for two inputs:
- N: max number of connections a router can accept ● TC: total number of devices that wish to connect).
- TC lines that contain: name of each device, and its type
Program Output
You will print the output logs in a file, which simulates the execution order of the devices threads and the printed messages of each device
NOTE THAT: This is just an example not the only scenario that can be applied.
Sample Input
What is the number of WI-FI Connections?
2 What is the number of devices Clients want to connect?
4
C1 mobile
C2 tablet
C3 pc
C4 pc
Sample Output
- (C1)(mobile)arrived- (C2)(tablet)arrived
- Connection 1: C1 Occupied- Connection 2: C2 Occupied
- C4(pc) arrived and waiting
- C3(pc)arrived and waiting- Connection 1: C1 login
- Connection 1: C1 performs online activity- Connection 2: C2 login
- Connection 2: C2 performs online activity
- Connection 1: C1 Logged out
- Connection 1 : C4 Occupied- Connection 1 : C4 log in
- Connection 1 : C4 performs online activity
- Connection 2: C2 Logged out- Connection 2: C3 Occupied






