Smart-M3 is a name of an open-source software project that aims to provide a Semantic Web information sharing infrastructure between software entities and devices. It combines the ideas of distributed, networked systems and semantic web. The ultimate goal is to enable smart environments and linking of real and virtual worlds.

The key idea in Smart-M3 is that devices and software entities can publish their embedded information for other devices and software entities through simple, shared information brokers - a push-based information sharing model rather than specific publish-subscribe. The understandability of information is based on common ontology models common data formats. Another key idea is that Smart-M3 is device, domain, and vendor independent. It is free to use, open-source solution available in BSD license. So, Smart-M3 refers to a piece of software technology, several software products encoding this software technology, a computing platform that the software products make available, and any computing system that has been developed and deployed by using this computing platform.

Smart-M3

The Smart-M3 software technology is an evolving development of the Semantic Web with some specialized properties. The Smart-M3 software products are open-source software. They are available at SourceForge. The Smart-M3 software products enable implementation of a Smart-M3 computing platform. The Smart-M3 computing platform allows to store and retrieve information based on tuple space mechanisms. Like in Linda (coordination language), a small defined set of semantically based interaction capabilities exists. A programmer can develop pieces of software that will make use of these interaction capabilities. A number of Smart-M3 software products are available that support such software development. Any such software must comply to the defined interface of the Smart-M3 computing platform, the defined communication protocol and the general design principles. A Smart-M3 system is existing when such pieces of software have been built and deployed together with the Smart-M3 computing platform.

Smart-M3

The Smart-M3 is being developed at Nokia Research Center within Artemis JU programme in Sofia (smart objects for intelligent applications) and in Finnish national DIEM (Device interoperability ecosystem) research projects.

Smart-M3

Technology

Smart-M3 takes aim of the multi-vendor, multi-device and multi-part issue (that's where the term M3 comes from). This M3 issue means that many kinds of devices shall interact with each other, for instance a mobile phone, a television set and a laptop. A device may be composed of parts that are considered as individual partners for interaction with another device. For instance, a user makes use of the keyboard of a desktop computer for typing input to a mobile phone. Further, the user shall be free in choosing the manufacturer. Any piece of software engaging this M3 issue must at least be able to work properly in an environment constrained by these issues. Moreover, the Smart-M3 technology allows to build pieces of software that are able to take advantage of the opportunities such an environment offers.

When humans make use of the Web, they produce and consume human readable information and exchange this information based on the paradigm of 'persistently publish and actually read'. A piece of software executing in a device used by humans may transform, render, analyze and index that human readable information, but this software will not understand the information. Also the technology of the Smart-M3 approach does not make such human-human communication machine-understandable. Instead, Smart-M3 follows the principle of the Semantic Web that machine-understandable information has to be prepared explicitly for software reasoning. However, instead of specifying explicitly the means of interaction between a piece of software producing data and sending it across the internet to a piece of software consuming that data, Smart-M3 follows exactly the human-human interaction paradigm of 'persistently publish and actually read' also when software interacts with software across the internet.