Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397

Issue N8 2016 year

DOI: 10.17587/prin.7.351-359
Application of Software Design Patterns for Implementation of Indirect Agent Interactions in a Smart Space
I. V. Galov, galov@cs.karelia.ru, Department of Computer Science, Petrozavodsk State University, Petrozavodsk, 185910, Russian Federation
Corresponding author: Galov Ivan V., Postgraduate Student, Junior Researcher, Petrozavodsk State University, 185910, Petrozavodsk, Russian Federation, e-mail: galov@cs.karelia.ru
Received on May 25, 2016
Accepted on May 31, 2016

The paper considers the problem of agent interaction arrangement in a smart space. Each smart space creates a computing service-oriented environment, which adapts for users needs. The main purpose of such an environment is construction and delivery of information services to users. Service construction is performed by software agents interacting with each other and processing various information sources. Therefore, the problem of agent interaction arrangement is crucial for application development for smart spaces. Interactions among agents can be direct and indirect. In the case of indirect interaction, the agents construct information services based on cooperative information accumulation and processing in a shared information storage. Because of the diversity of different possible interactions and the necessity of involving a large number of agents it is necessary to elaborate new methods for simplifying and automating smart space application development. Recent research studies in this field consider only abstract conceptual models or solve narrow problems such as agent coordination for shared resources. There is no generic approach to design agent interaction in smart spaces. This paper considers an approach to arrange agent interactions based on software design patterns. We introduce a set of interaction patterns, which describe how to implement such interactions in software applications for a wide range of problem domains. The interaction patterns include patterns of information publishing and retrieving between two agents based on the query and subscription operations. Such patterns can be extended to one-to-many interactions where recipients are agents of the same type. More complicated patterns encompass sequential interaction among three or more agents where the transmitted information is processed and transformed by a mediator agent. The suggested patterns can be combined to achieve non-trivial interaction chains. The applicability is shown using previously developed software applications for smart spaces. The proposed interaction patterns can also be used for code generation, hence allowing the developer to concentrate on agent processing algorithms implementation instead of interactions implementation.

Keywords: smart spaces, M3 architecture, multi-agent systems, agent interaction, software design, interaction patterns
pp. 351–359
For citation:
Galov I. V. Application of Software Design Patterns for Implementation of Indirect Agent Interactions in a Smart Space, Programmnaya Ingeneria, 2016, vol. 7, no. 8, pp. 351—359.
This research is financially supported by the Ministry of Education and Science of Russia within project no. 1481 of the basic part of state research assignment for 2014—2016. The reported study was supported by the Russian Foundation for Basic Research, research project no. 14-07-00252.