2 research outputs found

    A Model-Based Approach to the Software Configuration of Integrated Control Systems

    Get PDF
    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 contro

    Towards Automated Transformation of UML/OCL to Prolog for Efficient Configuration of Integrated Control Systems

    Get PDF
    The configuration of product-lines can be an error-prone and time consuming process. In this thesis we extend on the work by Behjati [A model-based approach to the software configuration of integrated control systems,2012], where a product-line methodology has been proposed. The end goal is to implement a configuration tool that will ease the product-line configuration process. The configuration tool demands two model transformations. The first transformation produces an intermediate model (used internally by the tool) from a product-line model, the implementation of this transformation is fully described in this thesis. The second transformation uses this intermediate model, together with OCL constraints, to produce a logic-program, specified in Prolog. The efficiency of the generated Prolog code is critical for the configuration tool. In this thesis we take steps towards this transformation. We hypothesized that the following aspects of the Prolog code is critical for efficiency: How instances of the intermediate model are represented in Prolog (i.e., the structure of the Prolog query), how associations are represented and resolved, and how the Prolog predicates, representing the intermediate-model and OCL, are organized. We performed a large scale experiment investigating these factors, as well as the impact of instance size, the configuration of attributes (i.e., if values has been set), and impact of changing the OCL constraint sets used. The main findings were the following: Representing the instances as a binary-tree structure, combined with a resolution of associations through id-references, yielded the highest efficiency. Further, condensing the Prolog predicates led to increased efficiency in cases where the individual predicates (i.e., the transformed OCL constraints), shared association-navigations. The configuration of attributes were found to not impact efficiency. Future work can take advantage of these findings to move even closer to getting a fulfilled and efficient transformation to Prolog
    corecore