Back to 2015-proposals

Title: Component Framework implementation in C++11
Proposer: Sergey Sadovnikov
Proposer: Vladimir Vishnevskii
Type: Presentation
Duration: 90 mins
Description:
Component based approach is widely used in modern software engineering. The framework that will allow easy reconfiguring of the allocation of components by distributed executable modules, keep solution scalable by ability to add new component instances, with hot-update support via plugins, and extensive support of interconnection including local and remote IPC can significantly facilitate large distributed applications development. Unfortunately, despite the large number of actively developing general purpose C++ frameworks that cover substantial parts of developers’ needs it is still challenging to find frameworks that support component based software design, especially if as an addition to the features above it is also required that this framework has to be free to use, lightweight and has no heavy-weight dependencies.

In our presentation we explore the motivation for development of our in-house component framework from scratch, present its design and main stages of its architecture elaboration including short review of the component based approach and comparison of the most common patterns for components interoperability such as Service Locator and IOC Containers. We also particularly emphasize on C++11 features and how they were utilized in our design.