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.
List of papers. Paper 2 is removed from the thesis due to copyright restrictions.
Paper 1. SimPL: A Product-Line Modeling Methodology for Families of Integrated Control Systems Razieh Behjati, Tao Yue, Lionel Briand, and Bran Selic NOTICE: this is the author’s version of a work that was accepted for publication in Journal of Information and Software Technology. Changes resulting from the publishing process, such as peer review, editing, corrections, structural formatting, and other quality control mechanisms may not be reflected in this document. Changes may have been made to this work since it was submitted for publication. A definitive version was subsequently published in: Journal of Information and Software Technology, Volume 55, Issue 3, March 2013, Pages 607–629 doi:10.1016/j.infsof.2012.09.006
Paper 2. Architecture-Level Configuration of Large-Scale Embedded Software Systems: A Formal Specification Razieh Behjati, Shiva Nejati, and Lionel Briand Submitted to ACM Transactions on Software Engineering and Methodology, 2012.
Paper 3. Model-Based Automated and Guided Configuration of Embedded Software Systems Razieh Behjati, Shiva Nejati, Tao Yue, Arnaud Gotlieb, and Lionel Briand Published in the proceedings of the 8th European Conference on Modeling Foundations and Applications, ECMFA 2012. Lecture Notes in Computer Science Volume 7349, 2012, pp 226-243. The original publication is available at www.springerlink.com. doi:10.1007/978-3-642-31491-9_18
Paper 4. A Modeling Approach to Support the Similarity-Based Reuse of Configuration Data Razieh Behjati, Tao Yue, and Lionel Briand Published in the proceedings of ACM/IEEE 15th International Conference on Model Driven Engineering Languages and Systems, MODELS 2012. Lecture Notes in Computer Science Volume 7590, 2012, pp 497-513. The original publication is available at www.springerlink.com. doi:10.1007/978-3-642-33666-9_32