Main areas of business
My business card tells me that I’m developing software for industry and telecommunications. This is true. In the early days of my company I mainly developed software for interactive voice response systems, later I specialized in writing software for industrial plants with a huge percentage of communication and interfacing.
At the moment, developing software for industrial applications is my main job. The type of work I’m doing can be divided in two areas. One is developing software for running autonomous production cells automatically. The other is developing CAD/CAM interfaces to ease the production of products engineered on a computer platform.
Automation of autonomous cells
In an industrial process, two types of production cells can be distinguished. One type is the completely autonomous one. Such a cell is capable of running without interference or input from outside. An
example of this process type is a cold store.
If certain constraints are met, autonomous processes can be run without human interference. In the example of a cold store, the main goal of the control unit is to keep the temperature at a constant low level. This can be done by a PLC system running appropriate software. When automating such a system I’m not looking at the main goal only. In case of a cold store for example, the average amount of energy needed is very important for the daily costs of the installation. These secondary goals are also taken care of in the development process.
How long are the abbreviations CAD and CAM used together, 10 years, or even more? This would suggest that in the current days it should be able to automatically produce products developed with CAD software without too much trouble.
Have you ever tried it?
In most cases, software vendors of CAD software are only telling you the simpleness of the graphical user interface, the 16 million colors that can be chosen to draw lines and all that sort of non practical information. The general manager of a machine factory, and hopefully the engineer who will use the system will be overwhelmed by this sort of information, but people dependent of the information produced by the software will be hardly asked about their opinion.
The effect is that in most cases CAD/CAM production without severe human interfacing is only an Utopia. For reducing the amount of manual work between generating the data out of the CAD system and feeding it to the production machines, I’m writing software interfaces capable of linking several CAD systems to different types of production machines. This software not only reduces manual labor, it also reduces the error percentage in the production process, because there are less manual actions involved.
Interactive Voice Response
My first steps on the slippery road of running a small software house started with the development of a Windows 3.11 based multi-line voice response system called TalkToMe. This piece of software, whose basic structure had been developed by an earlier programmer, was sold by a Dutch company specialized in software and equipment for the voice response market.
This software has some features which are still not found in any other voice response software on the market. Because of its flexible modular design based on run-time addable DLL modules, it is possible to upgrade the system with any wanted functionality by just adding files to the program’s system directory.
Another still unbeaten feature of this software is the multi-lingual capacity. Language modules for 15 different European languages are shipped with the basic system which are capable of pronouncing numbers and dates correctly, even in difficult languages like Czech and Spanish. The technique behind is based on a context sensitive natural language parser developed by me based on my knowledge of natural languages and parsers. If I hadn’t been studying both computer science and linguistics before, I should not have been able to develop such a piece of software. A typical example where two different fields of study fuse together.
Development and target platforms
In the more than twenty years that I am developing commercial software, I have used a large number of development and target platforms. This list is not exhaustive, but gives a good overview.
My favorite programming language is Ada because of its power, strictness and readability, but I use C/C++ for most commercial applications because most customers feel more comfortable with it. Ada was the language chosen by the Department of Defense in the USA to become the primary programming language for their projects. But just as with the natural language Esperanto, you can’t force people to use it if they feel more comfortable with other languages. However, despite the rumors, Ada is not a dead language. The Boeing 777 flies for 99% on Ada software, just like most military airplanes and helicopters.
Intel x86 based