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.