This web page is the replication package of the paper we submitted to CBSE 2016 with title “On the Use of Component-Based Principles and Practices for Architecting Cyber-Physical Systems”.

This study has been designed, developed, and reported by the following investigators:

For any information, interested researchers can contact us by writing an email to any investigator listed above.

The data and the results of its analysis are available here:

  1. Primary studies. The complete list of selected primary studies is available here: CBSE_2016_primary_studies.pdf
  2. Extracted data. Extracted data is available as a Tab delimited textual file here: data.txt
  3. Analysis scripts. Extracted data has been synthesized and summarizing using R scripts, they are available here: scripts.zip

Abstract
A considerable number of component models have been used in embedded and distributed systems, and many of them have specific characteristics, different from general-purpose component models.

By focussing on Cyber Physical Systems (CPS), this paper investigates how component-based principles and practices are used and support the activity of architecting CPSs. For doing so, by running a systematic process, we selected 49 primary studies from the most important publishers search engines. Those papers have been analyzed and their contents classified according to the Classification Framework for Component Models proposed in our previous work.

The results show that the main concerns handled by CPS component models are those of integration, performance, and maintainability. The instruments to satisfy those concerns, while architecting CPS, are ad hoc software/system architecture, model-based approaches, architectural and component languages, and design. The IEC 61499 standard with its functions block is remarkably used to drive the work on six papers. Java is the most frequently used programming language used for implementing the components. Components are deployed mostly at compile time. Interfaces are almost equally distributed into port-based and operation-based. XML is the most frequent language used for specifying or constraining interfaces.