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.[1][2]

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.

The Smart-M3 software technology[3] is an evolving development of the Semantic Web with some specialized properties.[4][5] The Smart-M3 software products are open-source software. They are available at sourceforge.[6] 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[7] is existing when such pieces of software have been built and deployed together with the Smart-M3 computing platform.

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.[8][9]


Smart-M3 takes aim of the multi-vendor, multi-device and multi-part issue[10][11][12] (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.[13][14]

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.[15] 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.[16] 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.[17]

While the notion of the Semantic Web embodies the vision of a single, universal web of machine-understandable information, Smart-M3 organizes the machine-machine communication by setting up in the Web many distinct spots of information exchange. At each spot a number of pieces of software executing in potentially many devices of potentially many kinds may publish and read information. This information has been prepared not only explicitly in machine readable form but also explicitly for each particular spot. Any particular spot of information exchange has a particular purpose or focus. All information that a particular spot of information exchange makes available will be dedicated to the particular purpose or focus of that spot. The number of pieces of software exchanging information at a particular spot is consequently limited to those that share this dedication.

At the core of the M3 issue is the issue of interoperability. The Smart-M3 approach deviates direct point-to-point interoperability because it applies the 'publish and read' mechanism at dedicated spots of information exchange in the Web. The publishing entity does not need to be interoperable with the reading entity. In fact the two even do not need to know about each other. Instead, Smart-M3 simply takes means that the publisher is able to publish at the selected spot of information exchange and the reader is able to read there.

System decompositionEdit

Figure 1 shows a top view of a single system based on the software technology of the Smart-M3 approach. At the heart of the system is the corpus-M3 which decomposes further into a semantic information broker (SIB) and the real physical storage of data. Of course, this corpus-M3 must be hosted by a device. A number of devices hosts many M3-agents, including optionally the device already hosting the corpus-M3.

Figure 1: System decomposition

The SIB is the access point for receiving information to be stored or retrieving such stored information. In the data storage all this information is stored as a graph that conforms to the rules of the Resource Description Framework (RDF).

A M3-agent is a piece of software that has been produced and deployed for the purpose of communicating with a SIB and publishing or reading information there. A particular M3-agent is in range of a particular SIB if this M3-agent physically is able to communicate with this SIB by using one of the potentially many communication means this SIB is capable of and this M3-agent has been produced and deployed explicitly for publishing or reading information at this SIB. A particular M3-agent is associated with a particular SIB if this M3-agent is in range of this particular SIB and this M3-agent has been accepted by this SIB for publishing or reading information due to a positive result of some negotiation performed when this M3-agent made the initial communication attempt.

Various domains and application areas involve devices of many kinds and these devices may have different communication capabilities. To achieve interoperability in such an heterogeneous situation, the SIB supports multiple transport mechanisms, such as TCP/IP, HTTP, Bluetooth and NoTA.[18] Depending on the actual operating environment the most suitable transport technology is selected.

Notion of applicationEdit

Applications are not constructed in the monolithic manner but rather from collaborating - through information sharing - sets of agents (M3-agents). Said set of agents depends upon the particular situation and context that the user is either experiencing or requires at that time. Agents may by provide a monolithic style user-interface but this is purely a user-interface and not functionality concept. The programming model is analogous to that of the actor model.[19]

The Smart-M3 approach envisions computing beyond the traditional monolithic application program.[20] Instead, scenarios are considered in which a set of M3-agents executing in various devices mash-up the information that these M3-agents store and retrieve in/from a particular SIB. This collaboration of M3-agents forms the application. Which collaboration and mash-up of information occurs depends on the data available and is not even known a priori.[21]

Based on the data available within a space, a Smart-M3 system allows maintenance of an up-to-date digital representation of an environment covered by a set of devices executing M3-agents. If any information about the surrounding environment is easily available, an unlimited number of mash-up scenarios can be imagined that benefit from this information.[22]

Development of technology and software productsEdit

The anonymous agent coordination technology for knowledge processors in smart spaces has been proposed and documented.[23]

Three examples of the application of this technology have been demonstrated in so called smart home environments,[24] in the environment of smart room”[25] and in social networking situations.[26]

Smart-M3 in AcademiaEdit

Open SMART-M3 training at 8th FRUCT conference at Lappeenranta, Finland 2010

The technology is among key focus areas of FRUCT.

There is an intensive R&D work in mobile software and services laboratory (MSSLab) in Saint Petersburg State University of Aerospace Instrumentation (Saint Petersburg, Russia) regarding the technology and concept in common. Main research topics are information search and access control in distributed smart spaces. PhD thesis work and several master's degree works are in progress. Development activities include CoffeeBreak Assistant application, which intended to provide information support, communication and expert-finding services during conferences and other events.[27]

The project SmartSlog[28] in the wireless and mobile technology laboratory of Petrozavodsk State University (Petrozavodsk, Russia) develops an ANSI C ontology library generator. It maps a Web Ontology Language (OWL) description to ANSI C code (ontology library). The library provides API for programming M3-agents in high-level terms of ontology entities instead of low-level triplet-based terms. The ontology library is between an agent application and a low-level (mediator) library. Currently, SmartSlog employs the KPI_low interface (oriented to small embedded devices) for triplet-based communications with SIB.

The project SmartConference[29] is an intelligent system for automation of processes during conference. It provides conference participants possibilities to control their presentations using their mobile devices, automated scheduling system and other useful services.

The project SmartScribo[30] in the wireless and mobile technology laboratory of Petrozavodsk State University (Petrozavodsk, Russia) develops an ANSI C, C#, Python mobile distributed system for multiblogging.


  1. ^ Ian Oliver (ed.) M3 Information SmartSpaces Technology Overview. Nokia Research Center Technical Report NRC-TR-2009-M3-1
  2. ^ Ian Oliver, Ora Lassila (2011) Integration In The Large. W3C Workshop on Data and Services Integration
  3. ^ Oliver Ian, Jukka Honkola(2008). “Towards the Dynamic Semantic Web Archived 2011-07-28 at the Wayback Machine”. Presented at TripCom 2008
  4. ^ Oliver Ian, Honkola Jukka (2008). “Personal Semantic Web Through A Space Based Computing Environment”. Presented at ICSC 2008
  5. ^ Oliver Ian, Honkola Jukka, Ziegler Jurgen (2008). “Dynamic, Localized Space Based Semantic Webs”. IADIS WWW/Internet 2008. Proceedings, p.426, IADIS Press, ISBN 978-972-8924-68-3
  6. ^ "Smart-M3". Retrieved 2010-03-05.
  7. ^ Honkola Jukka, Laine Hannu, Brown Ronald, Oliver Ian (2009). “Cross-Domain Interoperability: A Case Study”. Lecture Notes in Computer Science, Volume 5764/2009, p. 22 ISBN 978-3-642-04188-4. Presented at ruSMART 2009
  8. ^ Liuha, P., Lappeteläinen, A., and Soininen, J-P. Smart Objects for Intelligent Applications - first results made open[permanent dead link], ARTEMIS Magazine, October 2009, No. 5, pages 27-29.
  9. ^ Koljonen, T. ARTEMIS and the rest of the world[permanent dead link], ARTEMIS Magazine, October 2009, No. 5, pages 30-31.
  10. ^ Soldatos John, Alexopoulos Dimitris (2006). “Web Services-based network management: approaches and the WSNET system”. International Journal of Network Management, Volume 17 Issue 1, Pages 33 - 50. Wiley InterScience.
  11. ^ Farley P., Capp M (2005). “Mobile Web Services”. BT Technology Journal, Volume 23, Number 3, p. 202-213, ISSN 1358-3948 (Print) 1573-1995 (Online) . Springer.
  12. ^ Liuha Petri, Soininen Juha-Pekka (2008). “Devices and Interoperability Ecosystem (DIEM)”. Archived 2011-07-20 at the Wayback Machine
  13. ^ Oliver Ian, Törma Seppo, Nuutila Esko (2009). “Context Gathering in Meetings: Business Processes Meet Agents and The Semantic Web”. Presented at TCoB 2009
  14. ^ Jantunen Joni, Boldyrev Sergey, Oliver Ian, Honkola Jukka (2009). ”Agent/Space-Based Computing and Radio Frequency Memory Tag Interaction”. Presented at IWERT 2009
  15. ^ Web Architecture from 50,000 feet. W3C
  16. ^ Berners-Lee Tim, James Hendler, Ora Lassila (2001). "The Semantic Web". Scientific American.
  17. ^ "Triple Space Communication". Archived from the original on 2009-10-27. Retrieved 2009-10-07.
  18. ^ NoTA World Open Architecture Initiative Archived 2008-11-19 at the Wayback Machine
  19. ^ Ian Oliver (2012) Apps Considered Harmful
  20. ^ Ian Oliver (2008) Sedvice: Triple-Space Computing Exploration Platform. Tripcom Workshop. Galway, Ireland
  21. ^ Soininen Juha-Pekka, Lappeteläinen Antti (2009). ”M3 Smart Environment Infrastructure”. NoTA 2009 Conference Archived 2013-02-13 at
  22. ^ Cinotti Tullio Salmon, Bartolini Sara, D’Elia Alfredo, Roffia Luca, Spadini Federico, Trevisan Riccardo, Vergari Fabio, Zamagni Guido (2009). “Approaching the design of interoperable smart environments applications”. NoTA 2009 Conference Archived 2013-02-13 at
  23. ^ Smirnov, A., Kashevnik, A., Shilov, N., Oliver, I., Lappetelainen, A., Boldyrev, S. Anonymous Agent Coordination in Smart Spaces: State-of-the-Art. Smart Spaces and Next Generation Wired/Wireless Networking (ruSmart 2009), S. Balandin, D. Moltchanov, Y. Koucheryavy (Eds.), Springer, LNCS 5764, pp.42-51.
  24. ^ Kary Främling, Ian Oliver, Jukka Honkola, and Jan Nyman (2009) Smart Spaces for Ubiquitously Smart Buildings. UBICOMM 2009.
  25. ^ Alexey Kashevnik, Yuras Valchenko, Michael Sitaev, and Sergey Kokorin (2009) Smart Space Application: Meeting in an “Intelligent Room”. FRUCT program.
  26. ^ Sergey Balandin, Ian Oliver, and Sergey Boldyrev (2009) Distributed Architecture of a Professional Social Network on Top of M3 Smart Space Solution Made in PCs and Mobile Devices Friendly Manner. UBICOMM 2009. (winner of the best paper award)
  27. ^ "CoffeeBreak Assistant". 2009-10-21. Retrieved 2010-03-05.
  28. ^ "SmartSlog".
  29. ^ "SmartConference".
  30. ^ "SmartScribo".