Signals in Natural Domain
Chapter 3 :  Discrete-Time Systems
 
Causality :
A system is causal if the output at anytime depends only on values of the input at the present time and in the past.
y[n] = f(x[n], x[n-1],...)

All memoryless systems are causal. An accumulator system defined by

is also causal. The system defined by
$\displaystyle y[n]=\frac{1}{2N+1}\sum\limits_{k=-N}^{N}x[n-k]$

is noncausal.
For real time system where n actually denoted time causality is mportant. Causality is not an essential constraint in applications where n is not time, for example, image processing. If we are doing processing on recorded data, then also causality may not be required.