We present a design pattern which allows for easy multithreaded application development, without requiring parallel programming expertise from potential users. The pattern encourages reusability considering threads as truly independent software components, or agents, while hiding the low level details about safe data sharing and synchronization. Though coarse grained, the solution is perfectly compatible with other more specific multithreading techniques, which could be used in more computationally intensive agents. The approach is based on the classical pipeline pattern, but includes also asynchronous communications and event driven responses, and implements an efficient distributed synchronization and data sharing technique, which minimizes overhead. These features make the pattern specially adequate for real time applications that possibly need to be monitored by an interactive GUI, such as computer vision or signal processing applications, among others. © 2008 Springer-Verlag Berlin Heidelberg.
CITATION STYLE
Rodríguez, A. L., López-De-Teruel, P. E., Ruiz, A., García-Mateos, G., & Fernóndez, L. (2008). A design pattern for component oriented development of agent based multithreaded applications. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 5168 LNCS, pp. 709–718). https://doi.org/10.1007/978-3-540-85451-7_76
Mendeley helps you to discover research relevant for your work.