35 anos a “Lispar” na SISCOG – Uma viagem ao passado

DESENVOLVIMENTO DE SOFTWARE | 06-06-2023
35 anos a “Lispar” na SISCOG – Uma viagem ao passado
35 anos a “Lispar” na SISCOG – Uma viagem ao passado
A SISCOG foi fundada em 1986.
Este foi o ano em que a IBM lançou o PC Convertible (o seu primeiro computador portátil); que a Intel introduziu a série de microprocessadores 386; e que o protocolo IMAP foi criado.
A SISCOG nasceu numa época de grande avanço tecnológico, onde os computadores eram vistos como o futuro.
Um desses futuros imaginava os computadores como sistemas especialistas, capazes de modelar regras complexas e processar grandes quantidades de informação.
Neste artigo, gostaria de vos levar através da história tecnológica da SISCOG que se estende ao longo de 35 anos, partilhando pormenores das nossas origens, detalhes sobre os diferentes sistemas e tecnologias que usámos e algumas curiosidades.
35 anos a “Lispar” na SISCOG – Uma viagem ao passado

 

Fábio Almeida, Software Engineer,  @SISCOG  |  4 min leitura

___________

 

AS ORIGENS

Tudo começou em 1985, quando os nossos fundadores, Ernesto Morgado e João Pavão Martins, negociaram uma parceria com a Sperry Corporation (que se tornaria a Unysis Corporation em 1986) para trazer para Portugal a Lisp Machine Explorer da Texas Instruments.
A ideia era desenvolver uma série de seminários para demonstrar o potencial do Explorer, enquanto a própria Sperry forneceria o hardware.

Para demonstrar o Explorer, mas também para explorar as suas capacidades, desenvolveram um sistema especialista para o setor do turismo.
Este protótipo combinou informação sobre a cidade de Lisboa com informação meteorológica para ajudar os turistas em Lisboa.

 

SISCOG | First Explorer in Portugal

Imagem 1: Ernesto Morgado a trabalhar na Lisp Machine da Texas Instruments, o Explorer (1986).

 

SISCOG | Screenshot 1 of the tourism expert system   SISCOG | Screenshot 2 of the tourism expert system

Imagem 2 e 3: Capturas de ecrã do sistema especialista para o setor do turismo desenvolvido para os seminários da SISCOG (1986).

 

E assim começou o nosso relacionamento com o Lisp (especificamente, Zeta Lisp) e a procura por um mercado para aplicar Inteligência Artificial.
Desta joint venture com a Sperry, nasceu em 1986 a nossa empresa: SISCOG - Sistemas Cognitivos.

 

A estabilidade e fiabilidade do Common Lisp são fatores determinantes para o nosso sucesso.

______________________

 

 

SISCOG | Screenshot of the ENERGY prototype SISCOG | Screenshot of the TAP prototype.

Imagem 4 e 5: Captura de ecrã do protótipo ENERGY; e um protótipo desenvolvido para a TAP (1986).

 

Durante esses dias iniciais foram desenvolvidos muitos protótipos.
Apenas para ilustrar dois deles, na Imagem 4 podemos ver o protótipo ENERGY que visava equilibrar a distribuição de eletricidade na rede nacional Portuguesa; e na Imagem 5 vemos um protótipo desenvolvido para a TAP Air Portugal para gerir as tripulações dos aviões Boeing 727.
Este protótipo desenvolvido para a TAP foi fortemente baseado no Knowledge Engineering Environment (KEE) da IntelliCorps e influencia fortemente os produtos que desenvolvemos hoje.

 

SSICOG | Texas Instruments Explorer at our headquarters in Lisboa

Imagem 6: O Explorer da Texas Instruments continua na nossa sede em Lisboa.

 

O PRIMEIRO CONTRATO

O primeiro contrato surge em 1989 com o desenvolvimento de uma ferramenta para os Comboios de Portugal (CP), empurrando um pouco a SISCOG para a sua atual área de especialização: planeamento, gestão e controlo da operação ferroviária.
Isto marcou o início do desenvolvimento do nosso principal produto: CREWS; e a atualização para o Explorer II.

 

SISCOG | Screenshot of the ESCALAS system

Imagem 7: Captura de ecrã do sistema ESCALAS (1990).

 

Esse sistema, chamado ESCALAS, nunca entrou em produção, mas abriu caminho para a nossa primeira grande mudança tecnológica em 1991: do Explorar II da Texas Instruments e Zeta Lisp para o Solaris e Lucid Common Lisp.
Felizmente, ainda podíamos usar o KEE, que foi na época adaptado para Lucid Common Lisp, no entanto, a interface gráfica do utilizador teve de ser refeita para usar o X Window System.

 

SISCOG | Screenshot of the TRUTH system developed for IBERIA

Imagem 8: Captura de ecrã do sistema TRUTH desenvolvido para a IBERIA (1995).

 

O desenvolvimento de protótipos baseados no CREWS continuou e na Imagem 8 podemos ver uma captura de ecrã de um sistema desenvolvido para a IBERIA, a companhia aérea de bandeira da Espanha.
Neste sistema, feito para Solaris com Lucid Common Lisp, podemos ver o resultado de inovações realizadas durante a era do Explorer II: representações de escalas de tripulação usando diagramas de Gantt.

 

O GRANDE AVANÇO

O verdadeiro avanço veio em 1993 com o nosso maior e mais antigo cliente: Nederlandse Spoorwegen (NS), a companhia ferroviária nacional dos Países Baixos.
Um projeto que teve uma reviravolta muito curiosa um ano antes de entrar em produção: tinha de correr em máquinas Windows.

E assim, em 1997, começou a nossa segunda grande mudança tecnológica de Solaris e Lucid Common Lisp para Windows e Allegro Common Lisp (ACL).
Um projeto quase inteiramente desenvolvido em UNIX foi então entregue em Windows, uma façanha curiosa, mas ainda assim impressionante.

Desta vez não havia nenhuma adaptação do KEE, e assim nasceu o SISCOG Knowledge Environment (SiKE).
O SiKE é uma implementação de uma parte do KEE feita sobre o Common Lisp Object System (CLOS) que contém os recursos mais relevantes do KEE (para a SISCOG): relações, mundos e objetos internos.

E, claro, teve de ser feita uma reconstrução completa da interface gráfica (GUI) para usar o pacote Common Graphics do ACL, mas não sem tomar as devidas precauções para futuras alterações: desenvolvemos uma camada de abstração em cima do Common Graphics para facilitar quaisquer alterações posteriores.

 

SISCOG | Screenshot of the ONTIME product on Windows and Allegro Common Lisp

Imagem 9: Captura de ecrã do produto ONTIME em Windows e Allegro Common Lisp (2010).

 

O FUTURO BRILHANTE

Ao longo de muitos anos e clientes, tudo permaneceu bastante estável na frente de desenvolvimento de software da SISCOG, mas em 2019 decidimos embarcar numa nova era e abraçar a portabilidade.
Esse esforço levou-nos ao Steel Bank Common Lisp.

O nosso maior desafio desta vez foi a GUI (novamente).
Felizmente, aprendemos a nossa lição e a camada de abstração mencionada anteriormente foi inestimável na reconstrução sobre o CommonQt5, que disponibilizamos publicamente no Github.
Embora tenhamos usado tecnologia proprietária durante a maior parte de nossa existência, isso também marcou os nossos primeiros passos no mundo do código aberto.

A SISCOG já deu a volta por cima (algumas vezes).
Vimos muitas tecnologias surgirem e desaparecerem ao longo dos anos, mas o Lisp fez parte dos nossos 35 anos de existência.
Consideramos a estabilidade e a fiabilidade do Common Lisp um fator determinante do nosso sucesso e esperamos continuar a usá-lo por muitos anos.

 

 

Note: Como apoiante da comunidade Lisp, a SISCOG patrocinou o recente European Lisp Symposium 2023. Mais informação aqui.