Popis: |
Software product-line engineering is a paradigm for developing software applications through reuse and mass customization. A product family provides a repository of reusable components, where each component has a number of configurable features. Product development in this context is done through configuration, which is the process of selecting and customizing the reusable components according to the specific needs of a particular product. Software product-lining has been extensively applied in the design and development of integrated control systems, which are large-scale, heterogeneous, and hierarchical systems typically used in the oil and gas domain. Due to the complexity of such systems, the lack of concise abstractions, and inadequate automation support, product configuration, in the integrated control systems domain, is typically error-prone and laborious. In this thesis, we identify and formulate the configuration challenges in the integrated control systems domain, and propose a model-based semi-automated configuration approach to overcome those challenges. Our solution to the configuration problems consists of a UMLbased modeling methodology, named SimPL, and a semi-automated configuration approach. The SimPL methodology enables creating concise abstractions of families of integrated control systems. Our semi-automated configuration approach uses constraint satisfaction techniques to provide automation support for deriving products that are guaranteed to be consistent with the SimPL models of their respective product families. We have performed a comprehensive domain analysis to identify characteristics of families of integrated control systems, and their configuration challenges. We then derived a set of modeling requirements based on the findings of our domain analysis. The SimPL methodology is proposed to fulfill these requirements. We have defined and formalized the notion of product configuration and its consistency, in the integrated control systems domain, and we have provided mathematical analysis to prove that our approach to configuration ensures the consistency and the correctness of the derived products with respect to their product family models. We have implemented our configuration approach in a configuration engine and we have evaluated its capabilities by applying it to a family of real subsea oil production systems from our industry partner. To evaluate the ability of the SimPL methodology in fulfilling the modeling requirements, we applied it to a large-scale industrial case study. Our experience with the case study shows that the SimPL methodology can provide a model of the product family that meets all the modeling requirements. Moreover, our experiments with the configuration engine shows that up to 50% of the configuration decisions can be automated using our approach, therefore reducing configuration effort. Furthermore, by taking into account the internal similarities, our approach can offer a higher automation rate of more than 60%. In conclusion, the research presented in this thesis shows that software configuration in the domain of integrated control systems can be mechanized and automated to a considerable extent. Such automation support can reduce configuration effort and configuration complexity, and can ensure the consistency of final products. Moreover, our work shows that UML-based modeling methodologies, such as SimPL, can be tailored to provide the foundation required for providing the automation support. |