Software paradigm