This paper presents the Affinity Platform, a plugin platform for developing software systems centered around the idea of Independent Components. "Independent" refers to the ability of a plugin to run on a machine not just as part of a software system but also on its own. This way, software systems can be built out of chains of Independent Components, making it easier to partially reuse their Components and also to extend these systems in the future. The Affinity Platform uses a graphical user interface to represent a software system in the shape of a diagram. By analyzing this diagram, it can generate linking scripts for Components. The Affinity architecture also facilitates the development of distributed and parallel software systems, as Components are capable of operating independently on different threads and machines. The Affinity Platform was used in the development of an emotion recognition application in a multimodal setup running on a mobile and resource-scarce medium. In this scenario, the strongest points of the platform were the ability to offload code to other machines, the ease of adapting the system to different sensor setups, and the convenience of developing Components individually and only having to connect them at the end.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.