A software engine is a core component of a complex software system. The word "engine" is a metaphor of a car's engine. Thus a software engine is a complex subsystem.
There is no formal guideline for what should be called an engine, but the term has become widespread in the software industry.[1][2][3]
In different contexts, software engines can mean different things.