Thinking Things (T2) are active objects which are modeling real things - from absolutely abstract notion and concept up to the most concrete things. The object model of T2 supports representation of different qualitative properties and aspects of real concepts and things. Active communication of T2 via Internet enables sharing, extension and modification of this knowledge. Interconnected and interoperating Thinking Things as units of knowledge form together a World-Wide Mind (WWM), which, at the beginning, will be able to learn from users (just like small kids), and then publish and share world-wide what it has already learned. This shared knowledge may be reused, extended, modified or negated by anybody with access to Internet.
Further, Thinking Things enable active deployment of this knowledge in individial or collective (distributed and/or multi-user) applications. Such applictions just include concrete objects (a kind of instances), based on the knowledge available somwhere in the WWM. If necessary, the reused knowledge may be adapted to meet actual requirements of the particular application (which means just another extension or modification of the shared knowledge). Applications (as a kind of databases or information systems) may be also published and accessed by anybody (or by a selected group of people). Examples of possible applications are private or public calendars, PIMs, ticket reservation and purchase systems, document editors, libraries of structured and/or active documents, systems supporting team work, project planning and controlling systems, but also conceptual models of natural systems in the field of biology, medicine, physics, chemistry, relevant sample data and experiments with them. The knowledge about the behavior of the T2s included in the application will be a kind of "software" shared from the WWM while the concrete T2s in the application will be a kind of "database" or "application data". Since the "software" will be shared from WWM, the application will be operated always by the most up-to-date knowledge.
Publishing knowledge as T2 will enable seamless cooperation and exchange of information between expert and researchers in a very native, interoperable form (not just in the form of texts an papers). For example, with a published proposal of a conceptual model in the field of high energy by one researcher, his colleagues world-wide will be able to experiment with their own data and hence proof or reject the proposed concept. By such a cooperation, the WWM will include still more and more knowledge, proved by other researchers or users. Still, alternate knowledge (different opinion) about the same concepts will be possible.
The object model of T2 and the execution environment of T2 includes identity, kind, attributes, associations, compositions (whole and parts), state, abilities (methods), actions, constraints, rules (laws), events, body (spatial features), environment and inheritance (prototype-based). Every important property of real world which cannot be described by a combination of other already existing properties, has its conterparty included in the model. The model is open in order to be able to accomodate possible new quality in the future.
Thinking Things will reside on Thinking Thing Servers (T2S). T2S will provide a local object space for the T2s, the interconnected T2S will provide a global Internet-wide object space. Within this object spaces, T2s will communicate by an internal protocol.
For the communication with users, T2S will accept also http protocol and T2s will answer their html presentation. In this way any www browser may be used as front-end for interaction with published T2s. In this way Thinking Things will be available from the very first moment to everybody world-wide for inspection "how it works" or "what's there already", for publishing own knowledge and for creating own applications. More dynamic interaction will be possible by applets, plug-ins or directly on the T2S screen.
With regard to known technologies, Thinking Things will be a kind of Worl-Wide Web, however, solely with active objects instead of (passive) documents or isolated (dynamic) scripts and applets. Documents (incl. standard www-based html documents) will be just a special kind of T2. While documents describe real things in words, and hyperlinks are in certain sense able to represent associations between these things, Thinking Things are modeling the real things per se with all their features and behavior. With regard to agents, Thinking Things provide a very suitable environment for defining agents, but also for defining the databases and structures of documents an information on which the agents operate.
From the available technologies, Squeak had been selected for the implementation of Thinking Things. After starting-up the first T2S, implementations in other languages and environments may follow (Java, CLOS, other dialects of Smalltalk).
OOPSLA'98 Business Object Workshop IV