A case study on modularity violations in cyber‐physical systems. Issue 3 (8th March 2020) - Xiao, Lu; Pennock, Michael J.; Cardoso, Joana L. F. P.; Wang, Xiao
Abstract: In recent years, cyber‐physical systems (CPS) have been widely used in different problem domains. The hardware and software components in a CPS are deeply intertwined at various levels of abstraction under changing contexts to achieve the desired goals. One way to manage this complexity is through the use of modular architecture that enables portions of a CPS to be upgraded, replaced, or fixed in a plug‐and‐play manner. In practice, nominally modular architectures depart from this ideal. Thus, there is a need to identify, measure, and understand the causes of these departures. Techniques have been developed to accomplish this for pure software systems, but can these techniques be adapted to infer hardware‐related modularity violations in a CPS? To investigate this question, we adapted methods from pure‐software systems and analyzed two open‐source CPS: OpenWrt and MD PnP. We found that the software architecture of these systems is well modularized. However, we were able to detect and measure modularity violations associated with hardware and other domain‐related concepts. Furthermore, software components related to hardware were more likely to change frequently compared to general software components. Together, these findings suggest that it is feasible to identify a subset of hardware‐driven modularity violations using techniques adapted from pure software systems.