This was the year that IBM unveiled the PC Convertible (their first "laptop" computer); that Intel introduced the 386 microprocessor series; and that the IMAP protocol was created.
SISCOG was born in an era of great technological advancement, where computers were seen as the future.
One of those futures, envisioned computers as expert systems, capable of modeling complex rules and processing large amounts of information.
In this article, I'd like to take you across the technological history of SISCOG that spans over 35 years, sharing details of our origins, all the different systems and technologies we've used, and some little nuggets of trivia.
Fábio Almeida, Software Engineer, @SISCOG | 4 min read
It all started back in 1985, when our founders, Ernesto Morgado and João Pavão Martins, negotiated a partnership with Sperry Corporation (which would become Unysis Corporation in 1986) to bring the Texas Instruments' Explorer Lisp Machine to Portugal.
The idea was to develop a series of workshops to demonstrate the potential of the Explorer, while Sperry would provide the hardware itself.
In order to demonstrate the Explorer, but also to explore its capabilities, they developed an expert system for the tourism sector.
This prototype combined information about the city of Lisbon and weather information to help tourists in Lisbon.
Image 1: Ernesto Morgado working on Texas Instruments' Explorer Lisp Machine (1986).
Image 2 and 3: Screenshots of the tourism expert system developed for SISCOG's workshops (1986).
And thus began our relationship with Lisp (specifically, Zeta Lisp) and the search for a market to apply Artificial Intelligence.
In this joint venture with Sperry, our company was born in 1986: SISCOG - Sistemas Cognitivos (which can be translated to "Cognitive Systems").
The stability and reliability of Common Lisp are defining factors of our success.
Image 4 and 5: Screenshot of the ENERGY prototype; and a prototype developed for TAP (1986).
During those initial days, many prototypes were developed.
Just to illustrate two of them, in Image 4 we can see the prototype ENERGY that aimed to balance the distribution of electricity across Portugal's national grid; and in Image 5 we can see a prototype developed for TAP Air Portugal to manage crews flying the Boeing 727 planes.
This prototype developed for TAP was heavily based on IntelliCorps's Knowledge Engineering Environment (KEE) and heavily influences the products we develop today.
Image 6: The Texas Instruments Explorer which still remains at our headquarters in Lisboa.
THE FIRST CONTRACT
The first contract came in 1989, with the development of a tool for Comboios de Portugal (CP), the Portuguese national railways, pushing SISCOG a little into its current area of expertise: planning, management and control of train operations.
This marked the start of the development of our flagship product: CREWS; and the upgrade to the Texas Instruments Explorer II.
Image 7: Screenshot of the ESCALAS system (1990).
That system, called ESCALAS, never made it into production but paved the way for our first big technology change in 1991: from the Texas Instruments Explorer II and Zeta Lisp to Solaris and Lucid Common Lisp.
Fortunately, we were still able to use KEE, which was ported for Lucid Common Lisp at the time, however, the graphical user interface had to be remade to use the X Window System.
Image 8: Screenshot of the TRUTH system developed for IBERIA (1995).
The development of prototypes based on CREWS continued and in Image 8 you can see a screenshot of a system developed for IBERIA, the flag carrier airline of Spain.
In this system, made for Solaris with Lucid Common Lisp, we can see the results of innovations made during the era of the Texas Instruments Explorer II: the representations of crew schedules using Gantt diagrams.
The real breakthrough came in 1993 with our biggest and oldest client: Nederlandse Spoorwegen (NS), the Dutch national railway company.
A project which had a very curious twist one year before going into production: it had to run on Windows machines.
And so, in 1997, began our second big technology change from Solaris and Lucid Common Lisp to Windows and Allegro Common Lisp (ACL).
A project almost entirely developed in UNIX was then delivered in Windows, a curious but nonetheless impressive feat.
This time around there was no port for KEE, and thus was born SISCOG's Knowledge Environment (SiKE).
SiKE is an implementation of a part of KEE made on top of the Common Lisp Object System (CLOS) which contains KEE's most relevant features (for SISCOG): relations, worlds, and interned objects.
And of course, a complete remake of the GUI had to be made to use ACL's Common Graphics package, but not without taking the appropriate precautions for future changes: we developed an abstraction layer on top of Common Graphics to facilitate any further changes.
Image 9: Screenshot of the ONTIME product on Windows and Allegro Common Lisp (2010).
THE BRIGHT FUTURE
For many years and clients, things remained quite stable on the software development front for SISCOG, but in 2019 we've decided to embark on a new era and embrace portability.
This endeavor has led us into Steel Bank Common Lisp.
Our biggest challenge this time around has been the GUI (again).
Fortunately, we've learned our lesson and the abstraction layer previously mentioned was invaluable in rebuilding things on top of CommonQt5, which we have made publicly available on Github.
Although we have used proprietary technology for most of our existence, this has also marked our first steps in the open-source world.
SISCOG has been around the block (a few times).
We've seen many technologies come and go over the years, but Lisp has been a part of our 35 years of existence.
We find the stability and reliability of Common Lisp to be a defining factor of our success, and we hope to keep using it for many more years to come.
Note: As a supporter of the Lisp community, SISCOG sponsored the European Lisp Symposium 2023. More information here.