Máquina abstrata

Uma máquina abstrata (ou computador abstrato) é um modelo teórico de um sistema computacional de hardware ou software usado para detalhar o funcionamento do sistema,[1] usado na teoria dos autômatos. A abstração de processos computacionais é usada tanto na ciência da computação quanto na engenharia de software, e geralmente assume um tempo discreto, dividido em amostras.

Na teoria da computação, as máquinas abstratas são geralmente usadas em experimentos mentais relacionados à computabilidade ou para analisar a complexidade de algoritmos. Uma máquina abstrata típica consiste em uma entrada, uma saída, e um conjunto de operações que transformar uma em outra. Um exemplo clássico é a máquina de Turing,[1] mas também podem ser citados as gramáticas livres de contexto e os autômatos finitos.

Definições mais complexas criam máquinas abstratas com um conjunto completo de instruções, registradores e modelos de memória. Também podem se referir a um microprocessador que ainda não foi implementado em hardware. Uma máquina abstrata implementada como uma simulação de software, ou interpretada de alguma forma, é chamada de máquina virtual.[1]

Através das máquinas abstratas é possível estipular a quantidade de recursos (como em tempo e espaço de armazenamento) necessária para realizar uma tarefa sem construir o sistema de fato.

Notas

  1. Macura

Referências

Macura, Wiktor K. «Abstract Machine». Wolfram MathWorld (em inglês). Wolfram Research, Inc. Consultado em 15 de agosto de 2009

Ver também

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.