Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397
Issue N8 2016 year
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.