From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Date: 23 Apr 93 07:53:59 GMT From: mcsun!news.funet.fi!butler.cc.tut.fi!news.cs.tut.fi!olavip@uunet.uu.net (Poutanen Olavi) Subject: Re: Banking software in Ada in Finland Message-ID: <1993Apr23.075359.17757@news.cs.tut.fi> List-Id: In article <9304171233.aa07341@dsc.blm.gov> cjames@DSC.BLM.GOV (Colin James 062 1) writes: ... >Request from anyone the valid internet address(es) for Nokia for info >re source code availability and licensing details for Ada banking >software as used in Finland. > >Email is fine, or post if of general interest. Because I think the answer may be of general interest I'll post it publicly. I worked at Nokia (actually in its software house subsidiary called Softplan) at the time when "the Ada banking system in Finland" was developed and lived through the intensive Ada-period at Nokia. With regard to licensing and source code availability I think Nokia is not prepared for that. Anyway in that respect you may call me as first contact. But the actual answer (somewhat long, sorry) could be titled as: The rise and fade-out of Ada at Nokia ------------------------------------- Those of you who in the middle of 80s participated Ada-Europe/Tri-Ada conferences may remember that in the official opening session speeches the speaker usually gave a list of early Ada pioneers and mentioned also Nokia and its Ada banking system in this context. Below I'll summarize my perception how Nokia started to develop a banking system in Ada, what portions of it actually are in Ada, and what is the status now. Finland is a country of many nation-wide banks. Nokia was a dominant banking system vendor. The mainframe computers were some of the big brands (Honeywell, IBM, ...), but the branch office technology was Nokia manufactured (all the equipments and computers at the branch office including their software). At the end of 70s the banks indicated that they soon will upgrade their systems. What is Nokia's offer for upgrade? Nokia proposed a PC/LAN based solution in the branch offices. It contained intelligent 80186-based workstations for the clerks and a server machine for the LAN. Where to get this server? It was decided that it will be developed as own design, i.e. starting from the chips, instruction set design, operating system, programming language, file management, systems software layer, etc. That was not felt to be a too big deal, because the same was successfully done in the previous computer gene- ration. There were no powerful (and cheap) enough machines and operating systems, which would satisfy the needs. (Today there are 80386/486s with OS/2 - and soon with NT -, Unix was for some reason disliked.) The man, who led the work (and had led the previous generation machine development as well) was very knowledgeable of what was state-of-the-art in the field. There were 'capability based addressing', 'object-oriented architecture', 'sound software engineering principles', etc. The goals were quite ambitious. At the same time (c. 1980-81) the promise of Ada came around. It fitted well in the picture. So the machine became Ada-programmable. Already in the instruction set design and firmware Ada was taken into account (c.f. Rational today?). One special argument in favor for Ada was its promise of portability. Already at that time it was seen that in the long run there is no future for a small manufacturer with a closed proprietary environment. But if your code is Ada there would be a better chance to save your investments. So, the machine called Nokia MPS 10 was built and quite a lot of Ada code developed: Operating system, an advanced Ada compilation system (first a large subset Ada/MPS, then ANSI level Ada based on DDC-I's technology), object management system (containing file management), command language interpreter, a full-scale relational DBMS (having a novel Ada/SQL binding, somewhat similar as in SAMeDL now), line communication layers, LAN-server software, network control and file distribution software, utilities, bank application specific code, etc., etc. - some 2 million lines of Ada altogether. In 1984-85 three bank deals were won with this 3-tier architecture (workstations, branch office server, mainframe). One of those banks was later merged to another bank and so there were two banks left. And still today they have these MPS 10 machines with Ada code in their operational bank system. If I have understood it right in these bank systems there is not so much of the actual bank application code written in Ada (such code, which would 'drive' deposits, draws, loans, etc.). Instead MPS 10 handles many of the backbone functionalities like file serving to workstations, WAN connections, file and new program version distributions from the central site to branch offices, etc. The initial delivery was difficult. There were delays, performance problems, not so good project management, quarrels with the customer. But finally the sufficient robustness, functionality, performance and customer satisfaction was found. Some of the problems can be attributed to Ada (the implementation had some inefficiencies and it took some time to tune them out), but only some. There were a lot of other problem sources as well. The initial idea was that the bank personnel would develop in Ada much more their application related code into MPS 10. They got Ada training, but after the first enthusiasm they lost their Ada spirit. Sufficient critical mass of them didn't grasp the Ada way of doing things. Some coded Ada still in the old COBOL way, which was inefficient. The early experiences with (at that time) somewhat slow and sometimes crashing system were not encouraging. Currently all Ada + MPS 10 maintenance is at Nokia (no problems with that as such, Ada is easy to maintain). MPS 10 had its role in Nokia's banking system offer. Some deals were won with that offer and so Nokia successfully defended its big market share in this business segment. If looking at the MPS 10 machine and its Ada development alone it surely consumed much more money than it earned. It was a much bigger and much more difficult exercise than ever thought in the beginning. Soon it turned out that MPS 10 couldn't compete in price/performance with new coming and more 'industry standard' platforms (80386/486, OS/2 - Nokia has always relied on Intel+Microsoft). So further development of MPS 10 was stopped, current customers were just supported. This happened c. 1986-87. But the Ada game at Nokia wasn't over yet. At Nokia there were quite many engineers, who were used to Ada. But most of all, there was a strong management support to get Ada as development tool also into DOS and OS/2. According to our experiences the "sound software engineering principles" had played very well in Ada. I think this goal was seen strategic in getting efficiency and quality improvements in internal development. For DOS Alsys' Ada was taken into use. One major customer project was implemented in Ada into DOS. It was into Norway 'Vinmonopolet' (Norway state's liqueur monopoly shop) back office system. The application area is POS (Point Of Sales), which is one of Nokia's areas (besides bank systems). For OS/2 there was no Ada compiler, but it was ordered from Alsys. One of the basic ideas was that 80286/386/486 and OS/2 would eventually replace MPS 10, but MPS 10's useful Ada code could be reused. At that time it was thought that OS/2 is the way to go, and in PCs the future graphical operating system would be Program Manager (at least in the operational systems of the big corporations, which were Nokia's main target). Alsys delivered the compiler. Some projects were started with it. Rather intensive experiments were made to find out the ways how we could call other language code from Ada (yes), call Ada from other language code (no), use Ada for Windows programming (no - not felt to be important either at that time), use Ada for Presentation Manager programming (no), etc. The Microsoft platform with its switches and 'hackings' just turned out to be so 'C-minded' and too unfriendly to Ada. In many cases, based on technical usability ratings (especially when doing systems programming), the choice was not free between Ada and C, if your intention was to develop something to run smoothly in this environment. One special battle was played in the POS group at the end of 80s. The question was should the new OS/2 based POS generation be developed in Ada or in C++. Ada lost. One technical reason was that Ada couldn't be used for OS/2 PM programming. But even if Ada had passed that and all the other technical "musts", I think, in this case, Ada might have lost the selection anyway. The explanation is 'psychological'. Nokia was (and is) a big company. Not everybody were involved nor committed to the previous big MPS 10 Ada effort. It had had quite a lot of difficulties, and those difficulties had been poured on Ada (perhaps much unfairly). The 'Ada-hype' of the early 80s had broken with its counter effects. It was true (and is still) that the Ada compilations were slower and more resource consuming than C compilations. (Today, I think, this is no more a big deal.) Anyway at least two major Ada projects were completed in OS/2 whose results were available in Nokia's PC/LAN product offering. New version of the first system has already been re-implemented in C. The second system is still there but its upgrade version will most likely to be in C++. So, summa summarum, Nokia tried to take Ada into widespread use also in MS-DOS and OS/2 environments. Unfortunately that didn't succeed. Those who previously wrote Ada into MPS 10, write now C or C++ into Windows, OS/2, or NT. Olavi Poutanen Testwell Oy Kanslerinkatu 8 SF-33720 Tampere Finland Tel. +358-31-316 5464 Fax. +358-31-183 311 E-mail. olavip@cs.tut.fi --------- Some final comments: what are these companies? When mentioning 'Nokia' I actually mean some of the below listed companies. When the MPS 10 project started the company name was Nokia Information Systems, which was the computer branch of the Nokia Corporation. Softplan was a software house, subsidiary to Nokia Information Systems. In the mid of 80s Softplan had an active Ada marketing campaign (do you still have Softplan's beautiful Ada poster?). Softplan was merged to its mother in 1987. In 1988 Nokia purchased Ericsson Information Systems, the computer business of the Swedish Ericsson Corporation. The resultant company was named to Nokia Data. In 1991 ICL Plc from UK (80% Fujitsu/Japan owned) purchased Nokia Data. The resultant company name is ICL Data (the sales company in Finland) and ICL Personal Systems (the product development company, PC manufacturing and mostly PC/LAN based systems software development). The remaining Nokia is still a major electronic company and a world-class player with its Nokia Mobile Phones, Nokia Telecommunications, etc. companies. Thanks to the succesful acquisition of Nokia Data ICL has increased its market share as PC vendor remarkably in Europe, and the trend seems to be increasing. TESTWELL is a MBO spin-off from ICL Personal Systems (1992). Testwell's business is testing tools for Ada, C and C++. For Ada we have TBGEN System (Test Bed Generator For Ada, a novel test harnessing tool facilitating a superior specification-based module testing environment on your Ada packages) and TCMON System (Test Coverage Monitor / Program Bottleneck Finder For Ada, an industry-strength instrumentation-based dynamic analysis tool for your Ada code). These tools were initially developed along with the Nokia MPS 10 work. Being written in Ada they have been ported to many environments (PC, VAX, Sun-3, Sun-4, Rational, Apollo, and more). If interested to hear more of these tools (more detailed descriptions, references to evaluation reports, distributors, references,...), please contact me. Testwell Oy Olavi Poutanen