GENETIX: THE NEXT BIG THING
excerpt from the newsletter the Software View
Dear readers, I offer to you what I believe to be the "Next Big Thing". And this "Next Big Thing" is actually something quite particularly small.
It runs in the genes
Historically, all software systems are essentially derived from a model based upon the stored program concept of mathematician John von Neumann. In this model, applications are developed as free-standing objects that exist (for the most part) independently of other applications. With users requiring software of increasing complexity this has led to the chaotic state we have today, characterized by huge resource consumption and spurious reliability.
In contrast, the operation of the GENETIX Java Virtual Machine closely resembles that of the Universal Machine proposed by mathematician Alan M. Turing in his landmark paper entitled, "On Computable Numbers". Turing envisioned a machine that served as a general-purpose computing engine for which, in his own words, "There will positively be no internal alterations to be made even if we wish suddenly to switch from calculating the energy levels of the neon atom to the enumeration of groups of order 720". More specifically, the machine would be able to switch obliviously from computing one function to another, the full set of functions would be readily available during any computation, and functions could be used recursively.
GENETIX Software International Ltd. has built a Java Virtual Machine based upon Turing's vision. It was actually developed on Intel processors and runs on everything from an 8086 to the current Pentium class microprocessors. They are currently using Linux workstations to create a version portable to other platforms. The reason for targeting 80x86 first was that the majority of processors sold for embedded systems are x86 or compatible.
The basis of the GENETIX philosophy is that relatively few computer functions are repeatedly utilized throughout all software applications. This fundamental tenet of functional reusability mirrors the concept of genetic structure in organic matter. Given a defined set of software modules or software genes, it is possible to develop any type of software application. This eliminates the need to write millions of lines of unique computer code for each application. In a GENETIX system, "programming" now consists of combining appropriate genes to fashion an application.
The GENETIX system architecture consists of two main components:
- A Virtual Machine, or VM: the VM is a software module that interprets and executes the software genes on a specific hardware platform.
- A Software Gene Database: a comprehensive set or pool of genes that provides functionality ranging from something as simple as painting a pixel to rudimentary database operations. These genes are fully reusable throughout all applications, and all applications are solely constructed of the genes in this database. The genes consist of strings of commands that can either invoke themselves or other genes.
There are many benefits to GENETIX users:
- Compact footprint: The resources consumed by the system are remarkably small. In the prototype, the basic processor requires 2 Kilobytes of memory with a gene pool of 600 genes occupying 26 Kilobytes. This makes it ideal for areas where real estate is at a premium such as embedded systems and smart cards.
- Robustness: Because of the small, well-tested gene pool, the GENETIX architecture makes for increased robustness.
- Platform independence: "Write once, run anywhere". The software genes are platform independent. Applications developed in GENETIX are very rapidly ported to another platform.
- Reduced maintenance and development times: Maintenance and development times are drastically reduced using GENETIX. One Project Manager estimated that as much as 60 percent could be taken off the cost of system development by utilizing GENETIX.
GENETIX Software International Ltd. is a young company with a very old history.
GENETIX Software International Ltd. has direct links back to Alan Turing and his group at the University of Manchester and beyond and thus has its roots in the very beginnings of computing. It is developing technologies which are directly related to Turing's work. In addition, Bernard Hodson, GENETIX Software International Ltd.'s founder was supervised by Audrey Bates, Turing's assistant at the University of Manchester.
GENETIX Software International Ltd. was founded in 1989 by Bernard Hodson in order to perform specific consulting functions and separately to commercialize technologies which he had developed for creating ultra-low footprint technologies. One of its roles was intended to be to carry out contract research for what was then Fairchild Data Services. As Fairchild was bought up by Schlumberger shortly thereafter, GENETIX Software International Ltd. has a claim to be one of the last of the "Fairchildren", the group of spin-offs from Fairchild that ultimately resulted in much of what we know today as Silicon Valley.
During the course of work for a number of clients over a period of some thirty years, Hodson, who during 1997 served as Adjunct Professor of Computer Science at the University of Ottawa, Canada, noted that in virtually every project there existed functional elements common to each software system, independent of the application. He theorized that, in a manner analogous to organic matter, software could be reduced to a finite set of functional components or genes. By simply combining these software genes in various ways, one could theoretically create any program.
The code that is generated using this approach is efficient, ultra-compact, and maintenance and development times are drastically reduced. In fact, the general-purpose nature of the system had more in common with the theoretical computing engine proposed by world-renowned mathematician, founder of computing and code-breaker Alan M. Turing than anything previously developed by the software industry.
In March of 1998, GENETIX Software International Ltd. gave public demonstrations of its GENETIX Software at Bletchley Park, the world-famous deciphering centre. The technology was met with strong approval from industry, journalists and users alike, generating much press coverage. The location was particularly relevant as GENETIX traces its intellectual descent back to Alan Turing. Bernard Hodson worked in Turing's Department in the early 1950s at the University of Manchester.
Lewis Foti, Head of Production, has worked in commercial information technology since the mid-1980s when he was Technical Director of Real Time Systems. In 1991, he left RTS to work for Bacmac, a supplier of real time information and analysis systems to the financial community. Upon leaving Bacmac, he became Technical Director of Fusion UK Ltd., the UK arm of US information house Fusion Inc. After leaving Fusion, he joined Morgan Stanley International, where he carried out various senior Information Technology roles and was responsible for testing and roll-out of several major products for global use. From Morgan Stanley, Foti went to Barclays Capital, where he again developed a number of major systems. Since then, he has been involved in system development for a Chicago-based trading house and recently has been head of the design team for the award winning web service of the Guardian newspaper. He has contributed to GENETIX Software International Ltd. and its predecessors at a variety of levels and is now responsible for productization.
Russel Winder, Head of Research (Europe), has a long and distinguished career in academia and is recognized as one of the World leaders in object-oriented systems. Author of one of the seminal texts on software development in Java, he has been involved at a variety of levels with the Information Technology Industry as both an advisor and as a participant in projects with companies such as Fujitsu-ICL, Bull, Sun and a number of others. He has also been active among the pan-European consortia responsible for developing the future of Information Technology in Europe. Winder heads the European research activities working on some of the key future direction of GENETIX Software International Ltd.'s technology. Winder is also Head of the Department of Computer Science at King's College in London.
Peter Dzwig is the Chief Executive Officer. Professor Dzwig is also co-founder and owner of the private venturing and research company Summa Ventures Ltd., (originally Albourne Ventures Ltd.), which specializes in venture-links for groups applying high performance and novel computing. Over the years, he has been involved in a number of start-ups and spin-outs including Parsys Ltd. for THORN EMI and Albourne Associates Ltd. for LPAC and others. With over twenty-five years experience in computing, he is recognized as an expert in the application of high performance computing; particularly to real time financial modeling. Formerly Director of the London Parallel Applications Centre, he is Visiting Professor in the Department of Computer Science at Kings College London and also Honorary Senior Research Fellow at Queen Mary and Westfield College, University of London. He was a member of the board of The European Industrial Information Technology Initiative, Editor of its influential report "The Future of High Performance Computing in Europe" and was Chairman of the former UNIX International Parallel Processing Special Interest Group.
I thought I was a busy person. I got nothing on this guy!
Big things come in little packages
Gentle Readers, the world of the future will look very much different from today. No longer will a desktop personal computer be the sole way that some people access the Internet and World Wide Web. The world will be populated by a prolific amount of single-function, small memory footprint, resource-constrained Internet appliances. And each device will possess its own IP address. You will use interactive televisions, set-top boxes, DVD players, video cassette recorders, video game consoles, audio/video equipment, telephones, printers, scanners, Web cams, disk drives, compact disc players, alarm systems, heart monitors, heating and air-conditioning systems, automobile engine and dashboard computers, kitchen appliances, personal digital assistants, wireless mobile cellular phones, watches, pagers, or smart cards to access the Internet. Every single electronic device in the world will possess an embedded integrated circuit and a Java virtual machine.
It is worth pointing out that GENETIX sees its major market as being in "ubiquitous computing" or "Tier zero" computing. That is, in realizing the dream of computing which was NOT to put a PC on everyone's desk, but to enable computers to be with you all the time, wherever you are. Remember all those science fiction movies?
For Java, home is where the heart is. The consumer electronics world is perking with excitement about a new breed of smart, network-connected products that will greatly simplify computing, and expand network computing power to markets far beyond the desktop. These appliances will communicate via Sun's Jini spontaneous networking Java technology. Imagine a huge global network with a host of myriad devices and it all just works.
The GENETIX Java Virtual Machine occupies a parsimonious amount of conventional Random Access main Memory. Not only is it compact and concise, but it is also comprehensive and expressive.
Embedded systems, both the mass market of cars and appliances, and the dedicated (but less voluminous) market, are ideal for GENETIX. Embedded systems make up over ninety percent of all microprocessors sold (in volume not in dollar terms). They are what control many of our automobile functions, microwaves, remotely controlled television cameras, handicapped wheelchairs, automated toll booths and such. GENETIX will enable these embedded systems will be able to handle many more applications simultaneously than they do now.
The GENETIX Engine could be placed on a CD-ROM reader, along with the peripheral drivers, and completely bypass the operating system, such as is done with several computer games today. There are some fundamental changes needed in the software industry today for which this approach can act as catalyst. GENETIX subsumes the role of the operating system. This will put the emphasis back on solving problems, which was, after all, the original rationale for computers.
Another potential opportunity for GENETIX would be to provide the infrastructure to enable software agents. A software agent is a piece of computer software which acts to accomplish tasks on behalf of it's user whilst travelling around cyberspace. These agents move around networks collecting data, handling transactions or working on whatever task has been assigned to them. Such software agents also known as ghost, daemons, knowbots or intelligent agents are just becoming available on the commercial market. The ideal software agent should have a number of essential attributes: autonomous, mobile, communicative, adaptive, goal-oriented, and flexible. Java applications developed with the GENETIX approach are so small (dozens of bytes rather than tens of thousands) that the "software genes" they use can be transmitted in a few seconds, requiring very little bandwidth.
Your wallet is about to get thinner. Smart cards, long familiar to consumers in Europe and Asia, and increasingly to the rest of the world, are about to get smarter and more versatile. With one card - indistinguishable from an ordinary credit card - you can, for starters, manage digital money, create unforgeable signatures, sign email, authenticate legal documents, and store a user profile. Users can combine several services on one card and lighten the load on their wallets. It can be used for payment, TV billing and access, Internet access log-in, health care insurance and payments, transportation ticketing and mileage - the list goes on and on.
The GENETIX Java Virtual Machine could make smart cards almost equal in capability to existing computers, with the entire system being placed in the secure area of the card. Instead of being only able to do one or two applications on a card, it will be possible to place many applications on the same card.
Java virtual machines can take up anywhere from 100 kilobytes to 41 Megabytes of conventional Random Access main Memory. Sun's PersonalJava Specification states that such an application can fit in 2 Megabytes of ROM and 2 Megabytes of RAM and must be API compatible with the JDK 1.1.6. But these specifications are crippled in order to allow Java applications to fit within these small memory footprint, resource-constrained environments.
Not only will the entire GENETIX Java environment fit on a smart card, but it also fully supports the Java 2 platform version 1.2. This means that you could create an entire Swing application on a smart card! The thought of being able to do this makes my mouth water.
Finally, Gentle Readers, imagine what you would have done had you known that back in 1999, the GENETIX Java Virtual Machine was going to become the "Next Big Thing". Would have you have done things differently? Would you have rewritten history?
The future is up to you. It is in your hands.