Journal:Informatica
Volume 35, Issue 2 (2024), pp. 379–400
Abstract
Multi-agent approach is very popular for modelling and simulation of complex phenomena, design and programming of decentralised computing systems. Asynchronous beings, which do not share state but communicate using messages are a convenient abstraction for representing various phenomena observed in the real world. When the number of the considered agents grows, the designers and developers of such systems must address the problem of performance. Introducing distribution is often a weapon of choice, which, however, does not guarantee obtaining proper scalability and efficiency. The intensity of communication in a large-scale agent-based system can easily exceed the abilities of a distributed hardware architecture, leading to poor performance. After analysing various distributed agent-based systems, we identified several reasons for limited performance and several architectural solutions, which can help overcoming this problem. The main aim of the presented work is identification and systematization of these architectural solutions in the form of design patterns. As a result, we propose three new design patterns for building scalable distributed agent-based systems. A systematic description of their aims, structure, variants and features is provided, together with examples of applications.
Journal:Informatica
Volume 27, Issue 4 (2016), pp. 843–862
Abstract
This paper deals with the problem of selecting a suitable design pattern when necessary. The number of design patterns has been rapidly rising, but management and searching facilities appear to be lagging behind. In this paper we will present a platform, which is used to search for suitable design patterns and for design patterns knowledge exchange. We are introducing a novel design pattern proposing approach: the developer no longer searches for an appropriate design pattern, but rather the intelligent component asks the developer questions. We do not want to invest extra effort in terms of maintaining a special expert system. Guided dialogues consist of independent questions from different sources and authors that are automatically combined. The enabling algorithm and formulas are discussed in detail. This paper also presents our comparison with human-created expert systems via a decision tree. Experiments were executed in order to verify our approach performance. The control group used a human-created expert system, while others were given a proposing component to find appropriate design patterns.
Journal:Informatica
Volume 20, Issue 4 (2009), pp. 555–578
Abstract
ASPECTJ and composition filters are well-known influential approaches among a wide range of aspect-oriented programming languages that have appeared in the last decade. Although the two approaches are relatively mature and many research works have been devoted to their enhancement and use in practical applications, so far, there has been no attempt that aims at comparing deeply the two approaches. This article is a step towards this comparison; it proposes a mapping between ASPECTJ and Composition filters that put to the test the two approaches by confronting and relating their concepts. Our work shows that the mapping is neither straightforward nor one-to-one despite the fact that the two approaches belong to the same category and provide extension of the same Java language.