En informatique théorique, et notamment en théorie des automates, un automate abstrait ou une machine abstraite est un modèle théorique d'un ordinateur digital et discret. Il importe peu, dans ce cadre, de savoir si cet appareil peut effectivement être construit, mais plutôt d'appréhender, par ce modèle simplifié, le fonctionnement des machines, et de les comparer entre eux.
La notion d'automate ou de machine abstraite, aussi appelé « modèle de machine » joue un rôle central en informatique théorique. Ainsi, en théorie de la calculabilité et en théorie de la complexité les automates modélisent la notion centrale de calcul. Les automates jouent aussi un rôle déterminant en informatique pratique, par exemple dans la définition du langage intermédiaire durant la construction des compilateurs et plus généralement comme modèle pour la description du fonctionnement de programmes informatiques. En électronique numérique les automates servent dans les circuits de commande ou dans les systèmes hybrides. De tels automates de commande ont des applications en architecture matérielle, en réseau informatique et dans les systèmes réactifs.
En général, une machine abstraite consiste en données d'entrée, en données de sortie et en un ensemble d'opérations autorisées pour transformer les entrées en sorties. On peut considérer les possibilités de transitions internes qui régissent le comportement d'une machine comme le programme informatique qui la dirige.
La machine de Turing est historiquement la première machine abstraite imaginée et c'est par conséquent la plus connue. D'autres exemples sont les types abstraits dont le comportement peut être défini par leur sémantique opérationnelle; l'illustration la plus simple est la spécification d'une pile (informatique) à l'aide d'un tableau (informatique).
Une machine abstraite peut aussi être un projet de microprocesseur pas encore réalisé, ou servant seulement de modèle. Une machine abstraite implémentée par un logiciel de simulation ou pour laquelle un interprète existe, est appelée une machine virtuelle.