Modeliavimas yra realaus pasaulio vaizdavimas kompiuteryje. Programinė įranga yra programos ir įprastos programos, skirtos veikti kompiuteriuose. Modeliavimo programinė įranga vadinama kompiuterių programine įranga, vaizduojančia realias situacijas ir patirtį kompiuterinėje aplinkoje, skirta studijoms, pramogoms, projekcijoms, efektyvumui didinti, galimų alternatyvų modeliavimui prieš strateginį pasirinkimą ir dėl kitų priežasčių.
Vienas iš būdų suskirstyti skirtingus modeliavimo programinės įrangos tipus yra pagal modeliavimo taikymo sritį. Akademinėje aplinkoje modeliavimo programinė įranga naudojama tokiose srityse kaip žemės ūkis, verslas, ryšiai, gynyba, sveikata, gamyba, naftos terminalai, paslaugos, eismas ir atliekų apdorojimas. Pramoninėje aplinkoje taikymo sritys apima verslo procesus, ryšius, kompiliatorių tinklus, klientų aptarnavimą, platinimą, gamybą, pakavimo sales, remontą, statistinį atranką atliekant tyrimus ir atsargų kontrolę. Pramogoms sukurti modeliai sudarytų kitą šios hierarchijos kategoriją.
APES™ (Agricultural Production and Externalities Simulator) yra programos, naudojamos nustatant, kaip oro sąlygos ir valdymo metodai paveiks žemės ūkio gamybą, pavyzdys. StarLogo™ yra modeliavimo programinė įranga, naudojama analizuoti, kaip veikia decentralizuotos sistemos, ir gali būti naudojama, pavyzdžiui, eismo kamščiams analizuoti. SimCity® by Electronic Arts® yra daugelio modeliavimo žaidimų produktų linija. Taip pat yra elektronikos aparatinės įrangos modeliavimas, mechaninių ir cheminių sistemų modeliavimas,
Antrasis būdas suskirstyti skirtingus modeliavimo programinės įrangos tipus yra pagal programinės įrangos funkcionalumą. Pavyzdžiui, agentų modeliavimas gali apimti žmones aplinkoje ir gali būti naudojamas modeliuoti daugelio žmonių elgesį ir sąveiką realiame pasaulyje, pavyzdžiui, oro uostuose ar prekybos centruose. Arba jis gali būti naudojamas pramogoms, kai vartotojas perkelia pseudoportretą per aplinką. Tinklo modeliavimas sukuria tinklo elgsenos modelį testavimo tikslais. E-mokymosi modeliavimas gali dubliuoti aplinką, kad vartotojas galėtų išmokti valdyti įrangą ar dirbti pavojingoje aplinkoje su minimaliomis gedimo pasekmėmis arba tiesiog patobulinti savo įgūdžius.
Trečias būdas suskirstyti modeliavimo programinę įrangą į kategorijas yra jos visapusiškos galimybės. Plačiausiu mastu kai kurios modeliavimo programinės įrangos gali modeliuoti atskirą įvykį, o kitos gali modeliuoti nuolatinį laiką arba dinamines sistemas. Taip pat yra hibridinių simuliatorių, galinčių modeliuoti tiek nuolatinį laiką, tiek atskirus įvykius.