Welcome to Zen-CC
Fully automated configuration of large-scale and deployable CPSs is not feasible. Manual input from users is mandatory. To ensure the correctness of the configuration, conformance checking is of significant, which is to verify that configuration decisions made during a configuration process conform to a set of predefined constraints on configurable parameters.
We propose an automated, incremental and efficient conformance checking approach, Zen-CC, to ensure that the manual configuration of a variation point conforms to a set of pre-defined conformance rules specified in the Object Constraint Language (OCL). Zen-CC has been implemented and integrated with Zen-Configurator.
Approach & Evaluation
Dynamic Validation Tree (DVT)
- Can represent OCL in the instance level, and will dynamically update based on the configuration
- Can build the bidirectional relationship of product model and the intermediate representation of OCL (i.e., Dynamic Validation Tree), hence when configuring a variation point, only relevant parts of the intermediate representation need to be checked
Metamodel of the Dynamic Validation Tree
Incremental DVT Updation
- Branching and Pruning: When constructing a validation tree, by default we initialize an iterator node or root node with exactly one branch or the multiplicity if there is a fix number in the product line model. When we configure a cardinality variation point, the number of branches of the iterator node or root node is updated based on its configuration data.
Pruning is usually needed when reconfiguring the value to a smaller one.
- Evaluation: Starts from the leaf node and propagates upwards until it cannot propagate. Whether it can or can not propagate to the root node, the value of the root node represents the status of conformance.
Case Studies Used For Evaluation
- Crisis Management System
- Subsea Production System
Results show that the number of the configuration steps required to configure a product does not affect the performance of Zen-CC and thus it is scalable for configuring a product requiring a large number of configuration steps, which was not the case for the baseline algorithm. Moreover, Zen-CC can perform and scale much better than the baseline engine with the large-scale configuration in real industry.
- Lu, Hong, Tao Yue, Shaukat Ali, Kunming Nie, and Li Zhang. "Zen-CC: An Automated and Incremental Conformance Checking Solution to Support Interactive Product Configuration." In Software Reliability Engineering (ISSRE), 2014 IEEE 25th International Symposium on, pp. 13-22. IEEE, 2014.
- Lu, Hong, Tao Yue, Shaukat Ali, and Li Zhang. "Model-based incremental conformance checking to enable interactive product configuration." Information and Software Technology 72 (2016): 68-89.