HalfAdder is a two bit adder which is composed by Gates components.
Its logic behavior is like this:
HalfAdder behavior
input a | 
input b | 
sum s | 
carry c | 
| 
 0  | 
 0  | 
 0  | 
 0  | 
| 
 1  | 
 0  | 
 1  | 
 0  | 
| 
 0  | 
 1  | 
 1  | 
 0  | 
| 
 1  | 
 1  | 
 0  | 
 1  | 
The parameter delayTime is the delay time (tLH=tHL) of both the components.