The Global, Eternal,
Active Object Architecture.Link to Work In Progress (Push Logic). Page.
We are not far off from the establishment of the eternal, global computing infrastructure. This is the Universal or Ubiquitous Computing Substrate (UCS) or `Matrix'. Will it consist of an anonymous, secure tuple space? Or will it be an extension of electronic banking? Or will it be built on http using GENA and SOAP? Something shall certainly become the de facto. It's ontological!
Currently emerging peer-to-peer systems appear to offer the most potential. One will dominate. This will embody a collapse of the network layer (IP) and current middleware into a single universal substrate. In addition, high-level languages used for applications will have a far-richer type and binding system, to allow code to be robust over a wide range of platforms. Indeed most of the commercial and policy focus will be on the binding decisions: these are the future marketplace.
In the past, we have seen monolithic applications grow and grow. There is no better (worse) example than Microsoft Word, where a single program manipulates .doc files held in a proprietary file format. Exactly the correct version of Word is required to access the file and the functions available are essentially limited to those provided by the writers of Word. Why should the same application be used to print the document as to count the words in it? These are disjoint operations on the document. More advanced operations on the document, such as translating the language of the document or making it read itself out, fit uneasily with this architecture: should these functions be part of Word ? Clearly the monolithic, proprietary application has its limitations.
Also in the past, storage of objects such as a document has been very basic. The file paradigm of an ordered list of bytes has been the mainstay of computing in the last 35 years, but it has its restrictions. The basic limitations are in the areas of revision control, security and access control, ownership, archiving control, support of `metadata' and choice of storage location. Recent developments have seen the filename take on greater significance and also the magic number held in the first two bytes of the file. Equally, Gnutella shows how objects are more likely to be stored from now on. However, the most significant restriction on the file paradigm is that it is weakly-typed and inevitably coupled to a serial I/O paradigm dating directly back to half-inch magnetic tape accessed as a linear file by a dedicated application program.
Today's reality is that information needs be used in manifold different ways. When we check-in to an hotel room, do we expect the speech recogniser in the TV to be trained already with our own voice prints? Not yet. Today we are still at the other extreme. For instance we pay a high-street bank to look after one number for us - our account balance. This is simply a piece of personal data. For that data we have come to expect certain levels of access control, audit trail and global accessibility. In the future, we will expect gigabytes of personal data to be looked after in the same way on our behalf. The data will cover all aspects of life, including high-scores in games, electronic money, licenses and permits, personal medical information, and multimedia. We will expect seamless, global access to our home movies and our eternally-licensed music collection via the same interface as grants access to Hollywood on a pay-per-view basis.
Equally, we no longer wish to own personal copies of monolithic applications to translate between languages, watch television or query our share portfolio.
Recently, XML and the concept of a `common runtime system' have begun to provide an insight towards the final, de facto Active Object architecture. Software objects of the future will be highly mobile and exist in a biotic matrix that enables them to draw power and spawn. The matrix spans the planet and enters every computing object connected to the network. The software objects will be active and will encapsulate state and offer various method interfaces for interaction. Some will act as primary repositories for data whereas others shall act as servants, scurrying about. The myriad functions of the old monolithic applications will become individual software pebbles that also inhabit the same matrix. And things rather like catalysts and enzymes will provide attractive forces that implement binding and provide lower levels of execution.
To get there, there is a lot more to do...
Prospective Research Students: Please get in touch if you would like to work in this area. Send a good research proposal.
We shall award a prize (100 Euros) for the person who provides a reference to the earliest published use of the word `Matrix' to describe the eternal active object space. In the 1980's, episodes of Star Trek and Dr Who have both used this term. The prize will be awarded in October 2004 for the best information received.
Related LinksLink to Work In Progress (Tuplecore/Pushlogic).