Input-Process-Output (IPO)
Input–Process–Output on Wikipedia
Systems can be incredibly complex, but can typically be broken down into smaller parts that follow a simple pattern:
- Input is provided
- Some kind of processing or transformation is performed
- Output is returned
A sort function in a programming language or system could be a classic example of the IPO pattern; where arbitrary input is sorted based on a predicate and returned back. A web server could be modelled as an IPO system, where HTTP requests are transformed into HTTP responses. A highly complex Generative AI system could likewise be modelled in this way, with user input being passed through a complex model and a response being generated.
The IPO pattern is present in different forms across almost all technological domains, from functional programming languages that explicitly follow IPO patterns to The Unix Philosophy, which suggests that highly complex systems can be built by chaining together many simple IPO programs.
See also: