Original Article: Forth Success Stories

Author: Forth

Histórias de sucesso de Forth

Forth pode ser encontrada em:

  • Espaço aéreo (incluindo o ônibus espacial)
  • Sistemas embutidos
  • Open Firmware / Open Boot / Um Laptop por Criança
  • Astronomia
  • Oceanografia
  • Engenharia elétrica
  • Aplicações de recursos escassos
  • Matemática
  • Plataformas de hardware novas e experimentais
  • Windows, Mac, DOS, Unix e autônomos
  • Microcontroladores
  • …e muitos outros!

Aplicações Espaciais para Forth foram originalmente compiladas pelo cientista da NASA James Rash, já aposentado, e publicado em http://forth.gsfc.nasa.gov/. Desde então, o conteúdo foi removido do site, mas está arquivado aqui.

Notas de Aplicação na FORTH, Inc.

Aplicações de música


Forth e Música de Computador no Departamento de Tecnologia em Música e Artes Relacionadas (TIMARA) do Conservatório Oberlin – 28/04/2006

Artigo completo

TalberTronics- Projetos de John Talbert


1984

O protótipo do MIDI Horn é projetado e construído. Este é um controlador de vento com um sensor de pressão, 8 interruptores e vários controles / pedais. Os dados do controlador são alimentados para um microcomputador Z8 de placa única que interpreta os dados e os converte em sinais de controle MIDI. A linguagem Forth foi usada para programar o dispositivo, já que BASIC acabou sendo muito lento.

1987

A versão final do MIDI Horn Este é um instrumento controlador de MIDI baseado em um microcomputador de placa única e programado na linguagem Forth. Gary Nelson leva o MIDI Horn na estrada com mais de 200 apresentações ao redor do mundo. Ele usa o MIDI Horn como parte da interface de desempenho de um “hiper-instrumento” composto por um computador Macintosh, um conjunto de sintetizadores digitais, e o software (Max / MSP) ligando todos entre si. Em um ‘hiper-instrumento’ o controlador não necessariamente toca ‘notas’, ele envia sinais ativados por um programa de computador composto para controlar como a música vai tocar.

Depois de trabalhar com Linguagem de Programação Forth no MIDI Horn, estou impressionado com sua velocidade, capacidade, e facilidade de uso. A linguagem Forth consiste em um dicionário de palavras (sub-rotinas) e várias pilhas para armazenar os dados da sub-rotina. A programação em Forth consiste em construir novas “palavras” combinando palavras previamente construídas que já estão no dicionário, criando assim uma hierarquia de palavras. As palavras de nível mais alto podem ser facilmente testadas executando seus componentes de nível inferior. Palavras de nível inferior que lidam diretamente com o hardware do processador são facilmente construídas, mesmo usando o código assembly, se isso for considerado necessário para velocidade.

O Microcomputador Científico de Ohio é atualizado em 1987 com um sistema baseado em Forth (RSC Forth). A linguagem é significativamente estendida com palavras que lidam com o Sintetizador Híbrido, entrada e saída MIDI, um temporizador, um novo chip sintetizador SID e todos os dispositivos usados ​​para controlar os sintetizadores analógicos, tais como DACs de controle e ADCs, detectores de pulso e geradores. A interface do Sintetizador Híbrido é reconstruída com novos geradores de forma de onda e controle de tempo. Unidades de disquete são instaladas para armazenamento de programas de usuário.

1988

Os circuitos sintetizadores analógicos atingem uma certa maturidade com a disponibilidade de chips, como os chips Solid State Music e os chips de música Curtis. Eu uso estes para projetar e construir um Amplificador Controlado da Tensão octal (VCA), um Filtro Controlado de Tensão quad (VCF), um Excitador Aural com todos seus componentes disponíveis, e uma Caixa Analógica da Linha de Atraso. Todos estes são controláveis com o Micro Científico de Ohio usando as palavras de utilidade estendidas de Forth.

1993

O trabalho é iniciado na concepção e construção de controle de voltagem para dispositivos MIDI. Um projeto usa um microprocessador 8088 com um sistema ROM baseado em Forth que controla ADCs de 8 bits. Outro projeto é reprogramar uma caixa Roland PG1000 para apagar qualquer tipo de sinal MIDI.

Chris Passauer


Aplicações Comerciais


Microscópio de Tunelamento de Escaneamento- 27/05/2011

“Lembro-me lá no final dos anos 80 como legal foi conseguir uma impressão de uma matriz de átomos de carbono a partir do primeiro Microscópio de tunelamento de escaneamento de mesa, que usava como controlador nosso PC com placa plug-in PC4000, que usava como seu microprocessador o chip Forth Novix NC4000. Este STM foi um dos primeiros êxitos OEM da Silicon Composers. Acho que ainda tenho em algum lugar o código Forth de baixo nível usado para controlar a cabeça de agulha do microscópio na posição xyz que literalmente voaria sobre a amostra de carbono. Nas primeiras versões pré-clientes do sistema, a cabeça ocasionalmente batia nas montanhas do carbono.”

“Bons tempos.”

George Nicol
george at inscenes.com


Analisadores de Motor- 21/10/2010

“Em 1986 trabalhei para a Bear Automotive em Brookfield, WI, que estava usando a Forth para programar analistas de motores (Pre-OBD). Eles estavam trabalhando com a Mercedes-Benz na época”.

“Anexei documentações sobre o produto que foi construído em torno do software Forth. A máquina em que trabalhei foi o hardware do analisador modelo PACE 200/400”.

“Eu trabalhei para a empresa em 1986-1987, pouco antes de sua mudança de Brookfield para New Berlin, WI, no último ano. Em maio de 1988, a empresa foi comprada da SPX Corporation por US$ 66 milhões.

“Ainda há uma empresa de restauração chamada Team Bear USA, Não tenho nenhuma afiliação com a empresa”.


Movie Crane- 31/12/2009

“Eu fiz uma adição para a Grua de Filme da Panavision chamada Back Pan Plus. A adição ajuda o operador da câmera tirando os movimentos dos punhos e mantendo a câmera apontada para o ator. O tempo total de programação foi de apenas algumas semanas. Desde então tem sido usado em muitos filmes, e um está embutido permanentemente no set de Oprah. Forth continua a ganhar vitórias impressionantes em todos os lugares que é aceita.

  • Randy M. Dumse
  • New Micros
  • Rmdumse at newmicros.com
  • Rmd at newmicros.com

Aplicação Pulmonar- 20/11/2004

“Uma única aplicação em hospitais da linguagem Forth tem funcionado continuamente na divisão pulmonar do centro médico de Cedars-Sinai desde o final dos anos 70.”

“As aplicações centrais foram desenvolvidas pela FORTH, Inc. para o PDP 11/60 com apenas 16K de memória. Chuck Moore e Beth Rather, aparentemente, passaram longas noites curvados sobre terminais da Tektronix, desenvolvendo as minúsculas aplicações. Uma foi o sistema de aquisição de dados para o Teste de Função Pulmonar, e o outro foi um banco de dados para os dados do Gás no Sangue Arterial. O kernel do Forth foi inferior a 1 K. Quando saíram, as aplicações foram funcionais, embora o sistema falhasse mais ou menos a cada 20 minutos.”

“Eu tenho trabalhado com este sistema desde 1981, quando uma aplicação de faturamento era também ascendente, e os rascunhos de um sistema de entrada de ordem para a terapia respiratória estavam sendo desenvolvidos. Este último seria uma aplicação 24×7, exigindo um sistema operacional muito mais estável. Depois de fazer engenharia reversa do kernel, descobri alguns bugs que estavam causando as constantes falhas. Escrevi um gerador de kernel para que eu pudesse corrigir os bugs e adicionar alguns recursos necessários, e reescrevi o multi-programador para ser mais eficiente e estável. Estávamos no caminho certo. Há alguns anos atrás, havia sempre 2-3 programadores na equipe, apenas para desenvolver e manter aplicações.

“Ao longo dos anos, as aplicações foram adicionadas e descartadas, incluindo um sistema de exercício de teste respiro-por-respiro em tempo real, e várias aplicações de banco de dados. Migrou para um PDP 11/84 em 1987 e, em seguida, a fonte de aplicação foi reescrita para LMI’s UR / Forth em um PC em 1998. “

“Hoje, o ambiente LMI Forth é executado em uma caixa de DOS em um PC com Windows 98SE, que faz interface com usuários, impressora, scanners de código de barras, equipamentos de laboratório e outros computadores através de 35 portas seriais. Mantém conexões HL7 com outros sistemas hospitalares, enviando dados de laboratório e recebendo informações de Admissão, Baixas, e Transferências. Uma porta é alimentada por outros sistemas hospitalares como uma fila de impressoras e centenas de relatórios financeiros e clínicos são “impressos” diariamente por esta fila, onde o sistema Forth os analisa para preencher vários bancos de dados. Uma habilidade única para conciliar automaticamente informações que outros departamentos devem fazer manualmente a partir de relatórios impressos.”

“Hoje as principais aplicações são todas de banco de dados; as aplicações em tempo real ter sido substituídas por sistemas turnkey que se conectam em série. As principais aplicações são entrada de ordem RT, faturamento, PFT / dados de exercício e dados de laboratório ABG. Existem mais de 5.000 blocos de Forth código fonte ativos – talvez 50.000 linhas de código.Temos 2GB de dados principalmente binários, contendo resultados de laboratório, ordens e dados financeiros, alguns lá dos anos 1970. “

“Eu sou agora o gerente do departamento de Medicina Pulmonar e a única pessoa que ainda apoia o sistema Forth. A linguagem ainda está em fluxo constante, adicionando capacidades e adaptando-se ao atendimento ao paciente e requisitos de eficiência. Hospitais são um desafio regulamentar e financeiro hoje. Poucos operam na escuridão, e todos têm dificuldade de manter-se atualizados com a tecnologia e os regulamentos de cuidados de pacientes sempre mudando. Nosso sistema é único por não custar quase nada para operar, mas temos o controle total de todas as aplicações, e, devido à facilidade e poder de programação Forth, podemos nos adaptar em curto prazo.”

George Applegate
Applegat-at-ix.netcom.com


Veículo submersível Argo

O conjunto de sonares, luzes e câmeras de Argos foi orquestrado por uma variedade de computadores que cada um programou em uma linguagem diferente. O computador no Argo não tripulado foi programado em Forth, uma linguagem concisa, mas versátil, originalmente projetada para regular o movimento de telescópios e também usada para controlar dispositivos e processos que vão desde monitores cardíacos a câmeras de vídeo de efeitos especiais. O computador no Knorr foi programado em C, uma linguagem poderosa, mas bastante enigmática, capaz de especificar com precisão as operações do computador. O sistema de telemetria em cada uma das extremidades do cabo coaxial da espessura de um dedo que ligava os vasos, que permitia que seus computadores se comunicassem uns com os outros, foi programado em uma terceira linguagem rudimentar conhecida como linguagem assembly.

Forth era a única linguagem de alto nível que podia ser usada no computador submersível de Argo.

Resumido de: O Tortuoso Caminho do Início da Programação

Confira esta página Enchanted Learning para obter informações sobre Robert D. Ballard, Explorador Submarino

Uma referência de uma linha para esta aplicação Forth pode ser encontrada na entrada de 1985 em Uma Breve História de linguagens de programação: “Forth controla o trenó submersível que localiza o naufrágio do Titanic”, de Byte.”

Controladores de estacionamento BART por AM Research – 15/01/2004

“Os controladores do estacionamento BART estão executando uma versão inicial do amrFORTH em um microcontrolador 80C552. Pronta há quase 10 anos, você verá esta máquina como uma caixa de aço inoxidável dentro da estação depois de comprar o seu bilhete e passar pela catraca.

“Você deve se lembrar do seu número de barraca de estacionamento, em seguida, introduzir isso na máquina. Uma base de dados distribuída contém todas as barracas de estacionamento atualmente usadas. A segurança roda um código especial e recebe uma impressão de barracas ostensivamente vazias, todos os carros em que são etiquetados. Isto impede que estacionamentos BART fiquem lotados com clientes enquanto ainda mantém estacionamento acessível à usuários.”

Albert Lee Mitchell


Controlador MIDI Ztar

O Starr Labs Ztar é um controlador tipo guitarra para sintetizadores musicais MIDI. Ao contrário dos dispositivos que tentam derivar um fluxo de controle MIDI a partir da saída de áudio de uma guitarra convencional, o Ztar é um instrumento totalmente digital com um microprocessador interno e sensores para trastes e cordas.

Centenas de sensores devem ser amostrados e processados em tempo real para gerar um fluxo de controle MIDI, e para evitar discrepâncias de tempo que seriam dolorosamente perceptíveis em uma performance musical. O Ztar utiliza um microprocessador Zilog Super8, programado numa mistura de Forth e assembler, para satisfazer estes requisitos.


Analisador de protocolo WAN / LAN Tektronix

Este produto é um aplicativo de banco de dados sofisticado usando Forth.

Veja também os seguintes links:


Dorado Systems- 15/01/2004

“Aqui está uma miniatura da Forth e Sistemas Dorado. Vendemos 650 controladores de energia para Lucky Markets feito em Forth, vários milhares de painéis de controle de acesso e dezenas de milhares de leitores de cartões de banda magnética (apenas 4.000 para o Aeroporto Internacional de Denver).”

“Todos os produtos foram feitos em Forth, principalmente 68HC11, em Forth assembler, e alguns produtos maiores em controle de energia, codificação de leitor de cartão, etc., em alto nível Forth. Alguns produtos funcionavam em PCs, alguns 6502s para sistemas 68HC11 embutidos. Andrew McKewan foi nosso guru quando eu gradualmente fui abandonando a programação de produtos no final dos anos 80.”

Bill Ragsdale


Projetos

Boeing


Sistemas Aviônicos Boeing 777

“Kernel em projetados e codificados em Forth para serem executados em sistemas aviônicos Boeing 777. Os núcleos Forth são usados para a verificação do projeto de engenharia, fabricação e depuração de falha unidades de hardware. O núcleo foi escrito em linguagem assembly para o 68030, 68332 e 80960. Eu dei aulas introdutórias de programação Forth para os engenheiros de projeto de hardware, e dei assistência com problemas em seu código Forth. O desenvolvimento foi feito em um computador VAX usando CMS (Code Management System) para acompanhar o desenvolvimento do código fonte. A depuração e integração do kernel foi feita usando Emuladores Embutidos Em Circuito.”

Robert Blythe


Núcleos de Testes Funcionais

“Foi responsável pela incorporação de Kernels de Teste Funcional (FTK) em todos os LRUs CAS / CMS 777. O FTK é um intérprete Forth residente em todas as placas de computador do Boeing 777. A tarefa também exigiu a incorporação de novos recursos Forth e novo hardware para a série 68xxx.

Dennis R. Montgomery


Aplicações de Pesquisa

Reabilitação


Cadeira de Rodas Alexis

Alexis era uma cadeira de rodas elétrica inovadora que usava um projeto de “rodas dentro das rodas.” É exclusiva no sentido em que pode girar em posição e mover-se lateralmente. O Centro de R & D de Rehab da VA Palo Alto Heath Care System autorizou a Intex Industries a disponibilizar Alexis comercialmente em 1987 e a Intex fez 40 unidades de pré-produção para testes de campo na área de San Antonio. Durante os esforços subseqüentes redesenho, a empresa entrou em falência, impedindo a comercialização até o momento.


Lingraphica

Lingraphica é um dispositivo portátil de comunicação assistiva e terapêutica para pessoas com afasia de derrame ou outra lesão cerebral. Foi desenvolvido sob um projeto da revisão do mérito do VA no centro do R & D de Rehab em 1987-1989 e comercializado em 1990 sob o ato da transferência de tecnologia. Em 1996, a empresa-mãe, a Lingraphicare America, reorientou seus esforços de venda de dispositivos médicos para fornecer serviços de linguagem clínica e terapia fonoaudiológica para adultos com afasia. Seus serviços empregando Lingraphica relatam maiores taxas de melhoria e resultados finais do que a terapia tradicional de fala e linguagem.


Cadeira de rodas controlada ultrasônica controlada pela cabeça

Esta interface para uma cadeira de rodas motorizada permite que indivíduos com quadriplegia controlem a velocidade e direção da cadeira inclinando sua cabeça na direção desejada.


Mão para soletrar Ralph

Esta mão eletro-mecânica controlada por computador oferece aos indivíduos surdos-cegos um melhor acesso a computadores e dispositivos de comunicação, além de conversas de pessoa para pessoa.