A kind of Data Flow in Programming Languages where data is communicated by giving values as arguments to function calls and by returning values as results from function calls.