Welcome to Zen-CD

Zen-CD is a pattern-based, interactive configuration derivation methodology to maximize opportunities of automatically deriving correct configurations of CPSs, by benefiting from pre-defined constraints and configuration data of previous configuration steps.

Zen-CD requires architectures of CPS product lines modeled with a light extension to Unified Modeling Language, along with constraints specified in Object Constraint Language (OCL). Zen-CD is equipped with 324 configuration derivation patterns (60 static configuration derivation patterns and 264 dynamic configuration derivation patterns) that we defined by systematically analyzing the OCL constructs and semantics.


Approach & Evaluation

Steps of Zen-CD
  • Static Derivation Pattern (SDP) Identification
  • Incremental Conformance Checking Provided by Zen-CC
  • Dynamic Derivation Pattern (DDP) Match

Illustrating Pi-CD at a Configuration Step

Static Derivation Pattern (SDP)
  • A SDP refers to specific OCL operations where derivation might be enabled. OCL expressions without SDPs do not have any possibility of derivation. Derivation Pattern Flag (DPF: true/false) indicates when an OCL expression with SDPs can enable configuration derivation.
  • A SDP can then be formally defined as: SDP = ({Name}, DPF), where {Name} indicates a set of OCL operation names in this SDP while DPF refers to the derivation pattern flag for this pattern, which can be calculated based on {Name}.
  • SDPs are defined only based on OCL operations and are not associated to any dynamically updated information of Dynamic Validtion Trees. SDPs are applied before a configuration process starts and therefore classified as ‘static’.

Formalization of SDPs (3 out of 60)

Dynamic Derivation Pattern
  • Dynamic derivation pattern (DDP) defines calculation of the desired value (DV) of each node in a Dynamic Validation Tree with the ultimate aim to make the desired value (also evaluation value) of the root node to be true.
  • A DDP can be formalized as: DDP = ({P.Name}, P.DV , {C+.EV}, {C-.DV}). {P.Name} refers to a set of OCL operation names related with a parent node. P.DV means the desired value of this parent node. {C+ ∪ C-} represents all the direct child nodes of the parent node. {C+.EV} indicates the evaluation values for part of the child nodes. {C-.DV} denotes the desired values for the remaining child nodes, which can be calculated based on {P.Name}, P.DV and {C+.EV}.
  • DDPs tightly rely on dynamic information of Dynamic Validation Trees and therefore classified as 'dynamic'.

Formalization of DDPs (5 out of 264)

Case Studies Used For Evaluation
  • Material Handling System
  • Subsea Production System
Evaluation Results

Results show that Zen-CD can derive up to 73% of configurable parameter instances with a negligible cost and is scalable in terms of handing products with large numbers of configurable parameter instances.


Project Leaders

Related Links