# Incremental Construction for Scalable Component-Based Systems
## 1 Introduction  
Technological advancements have made many dreamed autonomous and intelligent systems possible these days. The role of smart sensors [1] for the construction of a cyber-physical system (CPS) is vital. Based on the internet of things (IoT) [2, 3], many companies offer services to quickly make such systems. Some of these systems are critical systems [4, 5]. Keeping in view the aforementioned, we have entered in the era where bigger and complex systems are created from existing heterogeneous subsystems. In this context, for the CPS domain, the open issues may include scalability, heterogeneity, distribution, real-time optimization, self-adaptability and etc. The scope of this paper is to work on the scalability issue as the construction of bigger and complex systems in a shorter time is more needed than ever. In general, there are two kinds of software based systems: systems with changeable requirements and systems with relatively fixed requirements. The system specifications driven by external factors (e.g., government policies) are best built by following agile methods [6]. However, a CPS is more stable for its specifications and such a system can be best built by a more bureaucratic process models (e.g.,waterfall model [7]). In constructing a CPS, coping with the scale and ever-increasing complexity in manageable incremental and iterative steps is highly desired. The concept of an incremental and iterative process to construct systems is very old [8; 9]. In practice, many system development/construction processes deal with incompleteness or imprecision in system requirements. For example, in an incremental step, an existing system behavior may be changed or deleted in the agile and evolutionary software development methods [6; 10]. Hence, the natural benefit of such a construction process is its ability to incorporate the change in the system requirement; however, an incremental step does not mean adding new functionality. Incremental system construction aims to build systems iteratively by adding increments in a stepwise manner, starting from a small initial system. Such an approach holds the promise of managing scale and complexity, and should therefore be useful for building large systems. In the context of software development, many approaches based on refinement have been proposed for incremental system construction. In general, these approaches are top-down and not bottom-up. The view taken in this paper is that incremental construction is intrinsically bottom-up and would therefore be easier to achieve by means of component-based development (CBD), which is also intrinsically bottom-up. In this paper, based on the behavior containment and preservation, we define our notion of incremental construction by which we focus only on growing the system in increments, i.e., incremental construction. In our view, an iterative software construction approach is incremental if the functionality of the system under construction is incremented in each successive iteration. This means that in the construction process functionalities are only added, and not altered or deleted. Such an approach is applicable to construct systems with fixed requirements or specifications. This paper contributes a redefinition of the notion of incremental construction with an emphasis on the behavior containment. Next, in the context of incremental construction, we contribute a study of current component models to investigate how incremental construction can be achieved in the three main categories of current component models, namely models where components are: (i) objects, (ii) architectural units, and (iii) encapsulated components. This study has not been presented in the literature before. By studying and comparing the strengths and weaknesses of component models from the three categories, we propose a taxonomy of component models with respect to component/system behavior and select the EX-MAN component model (EX-MAN) [11; 12] for its comparative suitability for incremental construction.