© Copyright: Ben Livson, 1991-2024. All rights reserved.


Web BAL Consulting


Published by ACM SIGSOFT, January-February 1991.

NB: The author had seen the ARPANET in 1979 as a guest to the Griffiths Air Force Base but the term Internet was yet to be coined. Thus, we speak of computer networking and use OSI terminology trendy back in 1990. The author was an early user of the first generation object databases (ONTOS from Ontologic) and expert in object oriented software engineering. References to browsers relate to tools then available in OO development environment and very different from the Web Browsers. UNIX and X-Windows was the most modern operating and windows system.

Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

Rich Cook

Software Chips Data Base SCDB

Link: Best of Software Engineering







Business Rational

 "After 45 years of experience the most effective ways of building software are gradually discovered. These Endings are starting to show up in libraries of reusable designs (termed 'blueprints') and libraries of reusable code.

The economic impact of re-usability for software is as significant as the-impact of reusable parts on manufacturing.

Modern CASE environments, fourth generation languages, and application generators are resulting in staff month productivity of 10 - 20 function points.

Leading-edge companies such as Toshiba in Japan and Hartford Insurance in the U.S. are starting to develop applications with more than 50% software reuse setting new world records of productivity in excess of 100 function points per staff month."

Source: Capers Jones, Reusability and Software World Records, Software Productivity Research Inc. Cambridge, MA: 1/31/88.

The worst impediment to software QUALITY is reinvesting the wheel. The quality improvement from software reuse is even more important than the productivity increase.

"Software Reuse is less than twenty per cent (200/o) for most software developers.

Software Reuse of sixty per cent (60%) requires catalogues or libraries of at least 35,000 reusable software components.

Source: Larry Constantine, June 1990 Object Symposium, Sydney.

The largest software libraries contain a maximum of a few thousand chips. A chip is our jargon for resusable software component.

Efforts by the Japanese, TRW Aerospace and Carnegie-Mellon University Software Engineering Institute to establish true Software Factories for reusable software have failed.

The stumbling block is the lack of any tool that can help software engineers to handle Very Large Scale Integration VLSI of Software Chips.

Current research tools, for instance the University of Lancaster's Dragon Software Components Catalogue' published by IEEE Software May 1990, are still toys in their infancy.

Software Reuse of more than ninety per cent (90%) requires a Software VLSI DATABASE populated by millions of software chips.

The SCDB will run as a black box for the future software chips supermarkets.

Software chip customers can browse the SCDB as readily and easily as a shopper browses the shelves in a super market.

The SCDB tool customers include medium-to-large MIS shops, software vendors and system integrators. Any software user is a potential customer of populated SCDBs.

The potential market for the SCDB tool could be several hundred million dollars. The market for populated SCDBs could be in the tens of billions of dollars.

The SCDB will be based on Object Data Base Technology. Object Oriented Software Engineering facilitates large-scale reuse of software.

The SCDB, however, will be able to support the '77 billion Cobol lines written'.

The SCDB technology described is leading edge but designed to serve the traditional as well as the object oriented software markets.

This proposal defines the initial requirements for the SCDB.

Requirements for the Software Chips Data Base SCDB top

Rl Capability to store (a class of) software chips:

R101 Specifications

R102 Plans (Management, Development, Test, Quality Plans etc.)

R103 Repository Meta-Data Schema

R104 Application Database Schema

R105 Test Entities (Design, Procedures, Cases, Logs, Reports etc.)

R106 Development Environment (Operating System and Utilities)

R107 Repository Entities (full repository)

R108 Sources

R109 Compiled Binaries

Rl10 Linked Images

Rl11 Any form of Documentation (System, User. Marketing etc.)

Rl12 Any form of Presentation (Graphics, Video, CD-quality Sound)

Rl13 Any Data or Object Instances of the above .

R114 Relationships if all the above, both internal and external to the class of software chips.

R115 All methods that can operate on the (class of) software chips

R2. Schema what to store for (a class of) chips follows the chip object class hierarchy. The SCDB administrators can extend or modify the schema both off-line and at runtime.

R3 The storage can be either physical or by a reference to an entity external to SCDB. The references shall be fully distributed.

A reference can reference references. The references can be anywhere in a computer network, other SCDBs or can be an organisational reference, say another vendor selling a chip.

R4 The SCDB arranges all chips into an object class hierarchy

R41 SCDB object class hierarchy maintenance is fully automatic.

R42 Object Programming Languages (C++, Ob etc 4GL, Object SQL, Smalltalk, Object Cobol etc.) interfaced with the SCDB Object Database Engine are supported by a Classify utility automatically storing and maintaining the object class schema.

R43 Chips have a hierarchical 'Build' class schema. The Build class tells how a chip is to be built and maintained in the SCDB and how a chip construction can be driven from the SCDB. Build classes are an intelligent means of importing and exporting all the materials and Instructions how to build a chip in the SCDB and how to build the chip from the SCDB.

R44 Traditional 3GLs will be subject to Call Graph analysis. The Interfaces for 3GL procedure/function invocation will be subject to argument list and type checks before Import into the SCDB. CASE Reverse Engineering tools will be used for further analysis.

R45 Entities that cannot be subject to computerised analysis enter the SCDB following the SCDB Natural Language Interface dialogue.

R5 SCDB has to provide full Version Control of everything stored. SCDB shall have a full Software Configuration Management System as an integral part of its functionality.

R6 SCDB has to provide a graphical browser and query interfaces for programmers, systems integrators and casual users:

R61 Graphical Browser displaying the class hierarchy has to comply with the X-Windows OSF Open Look and Presentation Manager/Windows industry standards.

R62 Unix-like wild card, regular expression text searches, graphic expression searches, and higher object semantic searches.
R63 Object SQL.

R64 Query by keywords, by example and by graphical forms. The minimum is the query functionality of computerised reference libraries.

R65 Natural Language Interface NLI driven queries.

R66 Hypermedia display of chip documentation, video and sound to support NLI and other query methods: "Show me and then I'll know whether I really want a chip from your super market'. The SCDB can be integrated as part of a hyper media and programming environment.

R7 Intelligent Multi-Pass Report Writer

Integration of a multi-pass report writer with desktop publishing software and hypermedia is required to support SCDB use.

R8 Communication Facilities.

SCDB may be accessed by computer networks, ISDN or even by digital phones with alphabet. Later releases have to understand spoken natural language with limited vocabulary. Ultimately, populated vendor SCDBs shall process phone orders.

R.9 Manufacturing interfaces.

The integrated vendor SCDB system has to be able to manufacture customer chip into magnetic media, video, paper or whatever media requested. The SCDB contains a Bill-Of-Materials used for the manufacturing process of software chips and their distribution via computer networks to customers either by computer networks, mail or by other means.

R10 Design, Manufacturing and Logistics Support of Software Chips shall comply with the STEP/PDES/CALS standards.

Rl1 Portability to support leading operating systems and in particular UNIX.

Software Chips Data Base SCDB Technology top

Tl. The SCDB core technology is based on Object Data Base Management currently supporting implementation of requirements Rl, R2, R3, R41, R42, R43, R5 (partly), R61, R63, R64 (partly), R7, R8 (partly), R9, RIO, Rl1.

T2. Hypermedia embedding the Object Data Base as a black box. The Fluent Machines Hypersystem CD Quality sound and video under the object database. Requirements Rl12, R66 and some of R8 could be implemented by using special gear driven by the Object Database. A partial solution is to integrated object database with desktop publishing software.

T3. Several Natural Language Interfaces NLI are commercially marketed to implement R45 and R65.

T4. Toolkits to implement the Presentation Standards R61 (OSF/Motif and so on) are readily available.

T5. The speech recognition hardware and software of R8 is available from third parties.

T6. The 3GL analysis of R44 is basic compiler technology marketed by a number of companies. MetaWare Inc. is a candidate for subcontracting this work if necessary.

Software Chips Data Base SCDB Schedule top

The schedule is only a sketch and refers to the technical implementation of SCDB.

Month-1 Specification

Month-2 Object Model

Month 3-4 Prototype

Month 5 Sparsely Populated SCDB

Month 6 Venture Capital Demonstrations

Month 6-11 Full Scale Development without Hardware

Month 12 Benchmark and scale-ability volume testing

Month 13 Initial Launch

Month 12-18 Beta Program

Month 12-18 Hardware and Third Party Product Integration

Month 18-24 Prerelease Candidate and Marketing Campaign

Month 25 Full Launch

Sales of the core product may commence the 13th month and the fully integrated SCDB software-hardware system may commence the 25th month.

Software Chips Data Base SCDB Technical Skills top

TSl System Development Manager

TS2 System Integrator

TS3 Electronics Engineer

TS4 Experts on Object Modeling, Databases and Languages

T55 System and Software Quality Assurance

TS6 Configuration Manager

TS7 Technical Writers

TS8 Graphics Designer

TS9 Human Factors Specialist

TS10 Compiler Technology Expert

TSl1 User Interface Management Systems Expert

TS 12 Product and Support Managers

TS13 Experts on Artificial Intelligence for Natural Language Interfaces,

Expert Systems, Speech and Pattern Recognition.

User Scenarios for the SCDB top

Major upgrade of treasury dealing room from version x to y. The critical tasks include a real time connection to major banks and stock exchanges around the world and the associated real rime decision support.

The analysis to implement this scenario include:

1: Communications implementations

2: S.W.1.F.T, x400, X500 and Odp

3: OSI Security

4: Interface specifications with other banks and stock exchanges

5: Decision support software

6: Mathematical treasury modelling

7: Real time Object Databases

8: Real time graphics, video and voice

9: Link to existing Bank-X MIS systems

10: Communications and computer resources of Bank-X

A task group of seven experts is formed to specify the system Upgrade:

- MIS Manager

- Treasury Business Analyst

- Communications expert

- Security expert

- Mathematician

- User interfaces expert

- Object database expert

The behaviour and interactions of the seven interacting with SCDB are sketched briefly:

SCDB-1: Interrogate the chips of the existing treasury software to analyse which chips are affected by the upgrade. The existing system is analysed by browsing via the SCDB for the object class schema and all the related elements.

SCDB-2: The communications expert browses the local SCDB and the SCDBs of all other banks and stock exchanges to find out the ISDN, S.W.1.F.T, X400, X500 and Odp arrangements. These arrangements are stored in the public part of the SCDBs with permission for Banks and Stock Exchanges by mutual agreement. The SCDB activities of the security expert are similar.

SCDB-3: The communications expert browses the entire vendor SCDBs based on the above information. The end result will be a section in the Treasury Specification about the communications arrangements and products necessary, and installation of the gear a logistics schedule for the acquisition and with the Treasury and associated software and integration of all this with the Treasury Software and Bank-X existing systems.

Savings: Every day lost costs the bank one million dollars. Access of SCDBs saves two months and $60m for the bank when compared with traditional queries by site visits, phone, fax and electronic mail. Further savings result from optimised purchase and smooth integration.

SCDB-4: The business analyst browses all the bank and stock exchange SCDBs to determine the data exchange requirements. The result is a detailed interface specification entered into the SCDB. In fact, the search of SCDBs may reveal the existence of similar documents.

SCDB-5: The business analyst browses SCDBs for any information about other Treasury Systems: Why reinvent the wheel if we can buy something ready and tried?

SCDB-6: The business analyst and object database expert produce an object model for the system upgrade. The object model is entered into the local SCDB. The schema describes new chips and chips to be modified.

SCDB-7: The MIS Manager oversees work by the others, coordinates everything with other branches of the bank and negotiates with all the third parties including vendors, other banks and stock exchanges.

The MIS Manager by browsing the SCDBs always has the current up to date information about his project. The SCDBs provide a unified storage of all information of the chips and the chips themselves, a unified access to everything, transparent distribution, and the complete working environment.

SCDB-8: The mathematician browses SCDBs for realtime forecasting models. Bank-Z offers its Futures Chips C140482 and C230529- C230696 for sale for three million dollars. It's a deal! The mathematician is unhappy about the Fourier transformation in chip C230603, and wants a third order Fourier filter instead of the second order. The mathematician accesses the 'Mathematica' S CDB of the Magnificent University, and finds the right Fourier filter for $5,420.

The SCDB relieves the mathematician from being a poor Fortran programmer into being a real thinking person.

The SCDB is a powerful search tool, demonstration tool, and the mechanism for transferring the payments and the actual chips between SCDBS.

Contrast this to the current situation: "The mathematician wants a better Fourier filter. He starts phoning his colleagues. After two days he gets three contacts and faxes for information. The Magnificent University software seems to be interesting. The mathematician goes to the MIS manager, and gets permission to request for an evaluation copy. After three weeks the reduced capability evaluation copy arrives by Federal Express. After a week the mathematician has filled out a Purchase Request for the MIS Manager to sign.

If all goes well, the software is available 63 days after the mathematician expressed initial interest."

The SCDB cuts the whole process from 63 days into two hours. Productivity and work moral is improved. Less administration, cheaper purchase and improved budget control can all be achieved by SCDB use.

SCDB-9: The SCDB use by the user interfaces expert is very sophisticated. The expert can search for SCDB chips and see live, presentation of real time animation, voice and video. All this will enable the choice of the appropriate chips.

SCDB-10: The initial work by the seven experts will be split into work teams with each software engineer using the SCDB as an integral part of the working environment for maximal software reuse for top Quality and productivity.

To err is human, but to really foul things up requires a computer.
Farmers' Almanac