Data distribution service (DDS) has been defined by the OMG to provide a standard data-centric publish-subscribe programming model and specification for distributed systems. DDS has been applied for the development of high performance distributed systems such as in the defense, finance, automotive, and simulation domains. To support the analysis and design of a DDS-based distributed system, the OMG has proposed the DDS UML Profile. A DDS-based system usually consists of multiple participant applications each of which has different responsibilities in the system. These participants can be allocated in different ways to the available resources, which leads to different configuration alternatives. Usually, each configuration alternative will perform differently with respect to the execution and communication cost of the overall system. In general, the deployment configuration is selected manually based on expert knowledge. This approach is suitable for small to medium scale applications but for larger applications this is not tractable. In this paper, we provide a systematic approach for deriving feasible deployment alternatives based on the application design and the available physical resources. The application design includes the design for DDS topics, publishers and subscribers. For supporting the application design, we propose a DDS UML profile. Based on the application design and the physical resources, the feasible deployment alternatives can be algorithmically derived and automatically generated using the developed tools. We illustrate the approach for deriving feasible deployment alternatives of smart city parking system.
- Data Distribution Service (DDS)
- Design optimization
- Feasible deployment
- Model-driven development
- Software architecture analysis