Smart Spaces-Based Application Development: M3 Architecture, Design Principles, Use Cases, and Evaluation

Smart Spaces-Based Application Development: M3 Architecture, Design Principles, Use Cases, and Evaluation

Dmitry G. Korzun (Petrozavodsk State University (PetrSU), Petrozavodsk, Russia), Sergey I. Balandin (FRUCT Oy, Helsinki, Finland & ITMO University, St. Petersburg, Russia), Alexey M. Kashevnik (SPIIRAS, Saint-Petersburg, Russia & ITMO University, Saint-Petersburg, Russia), Alexander V. Smirnov (SPIIRAS, Saint-Petersburg, Russia & ITMO University, Saint-Petersburg, Russia) and Andrei V. Gurtov (ITMO University, Saint-Petersburg, Russia & IDA, Linköping University, Linköping, Sweden)
DOI: 10.4018/IJERTCS.2017070104
OnDemand PDF Download:
No Current Special Offers


Smart spaces form now an emerging paradigm for application development in the various domains of ubiquitous, pervasive, mobile, embedded, and edge-centric computing. The smart space-based development still lacks matured methodologies appropriate for a wide range of application domains. The authors consider a particular class of smart spaces where interaction of many participants is information-driven and ontology-oriented using the indirect interaction models from multi-agent systems and knowledge manipulation technologies from the Semantic Web. The paper summarizes more than ten years of the authors' experience for this class of smart space-based application development. The M3 architecture (multidevice, multivendor, multidomain) for smart spaces enables concept development of service-oriented applications based on information sharing by software agents running on various devices and acting as knowledge processors. The Smart-M3 platform is an open source solution that implements the M3 architecture.
Article Preview


The amount of information is growing in the Internet so fast that users cannot efficiently utilize the existing multitude of resources. A lot of work exists for making digital services intelligent and sensitive to users, e.g., see Cook, Augusto, & Jakkula, 2009; Evers, Kniewel, Geihs, & Schmidt, 2014. The users are more interested in context-aware, situational, and personalized services. The observable lack of mechanisms for information exchange between services results in high fragmentation, i.e., information collected in one service is rarely accessible in another. The challenge is intelligent use of all available information appropriate for the situation. In this case, service provision chains become lengthy and, in addition to Internet resources, involve a multitude of heterogeneous devices, services, and users localized in the physical surrounding: various embedded and consumer electronics devices as well as personal equipment that accompanies people.

The Internet of Things (IoT) is a paradigm, which supports internetworking of different devices and sensors in the Internet (Gubbi, Buyya, Marusic, & Palaniswami, 2013; Kiljander, Ylisaukko-oja, Takalo-Mattila, Eteläperä, & Soininen, 2012; Buyya, Yeo, Venugopal, Broberg, & Brandic, 2009). In according with Manyika et al., 2015 the IoT is growing fast into a large industry and it has a total potential economic impact of $3.9 trillion to $11.1 trillion a year by 2025. Several specific platforms have been developed that support IoT device communication (e.g., Soldatos et al., 2015 presented OpenIoT). The most common view of IoT refers to the connection of physical objects, while the core of technology is in information interconnection and convergence (see, Atzori, Iera, & Morabito, 2010; Wang et al., 2013). Operation is based on continued processing of large number of data flows, originated by various sources and consumed by multiple applications, e.g., see Wu, Zhu, Wu, & Ding, 2014.

The smart space paradigm (Cook & Das, 2007; Oliver & Boldyrev, 2009; Gilman, Davidyuk, Su, & Riekki, 2013) aims at application development for advanced computing environments, when participating objects acquire and apply knowledge for service construction in order to enhance user experience, quality and reliability of the provided information (see, Chen, Abedin, Chao, Godwin, Li & Tsai, 2015). In according to Kortuem, Kawsar, Sundramoorthy, & Fitton, 2010 each participating object is represented with a software agent—an autonomous information processing unit, which is not necessarily attached to a fixed device. Services are constructed by agents interacting on shared information, i.e., the interaction is indirect, in contrast to the communication level provided by the IoT technology. Agents act as knowledge processors to create proper service construction chains. At the end of the chain a meaningful information value is shaped to deliver it as a service to the users.

In this paper, we consider an approach to applying the smart space paradigm for interaction of different devices as well as information and computation resources on the interoperability level. The approach is based on the M3 architecture for smart spaces, where M3 stands for Multidevice, Multivendor, and Multidomain (Kiljander et al., 2012; Ovaska, Cinotti, & Toninelli, 2012; Korzun, Lomov, Vanag, Balandin, Honkola, 2011; Korzun, Balandin, Gurtov, 2013). The key priority is to promote openness and to focus on the interoperability. This way, a lot of new opportunities are provided to developers of service-oriented applications. In particular, the variety of services can be constructed and accessible through the Internet, and the variants are only limited by the imagination. The Smart-M3 platform is an open source solution that implements the M3 architecture for smart space development and deployment in various computing environments (Honkola, Laine, Brown, & Tyrkkö, 2010). Now a lot of pilot smart spaces-based applications have been developed using Smart-M3 (Korzun, Kashevnik, Balandin, & Smirnov, 2015). This paper overviews and summarizes our more than ten years’ experience in this application development area. The summary focuses on using the M3 architecture and Smart-M3 platform for enabling the interoperability of heterogeneous services and devices even in the large-scale case of IoT environments.

Complete Article List

Search this Journal:
Open Access Articles
Volume 13: 4 Issues (2022): Forthcoming, Available for Pre-Order
Volume 12: 4 Issues (2021): 2 Released, 2 Forthcoming
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 2 Issues (2018)
Volume 8: 2 Issues (2017)
Volume 7: 2 Issues (2016)
Volume 6: 2 Issues (2015)
Volume 5: 4 Issues (2014)
Volume 4: 4 Issues (2013)
Volume 3: 4 Issues (2012)
Volume 2: 4 Issues (2011)
Volume 1: 4 Issues (2010)
View Complete Journal Contents Listing