예제 #1
0
 private static ISolverStatement TransformToStatement(Z3Context context, BLL.BusinessObjects.CompositionRule compositionRule)
 {
     ISolverStatement returnStatement = null;
     switch (compositionRule.CompositionRuleType)
     {
         case BusinessObjects.CompositionRuleTypes.Dependency:
             returnStatement = context.MakeImplies(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier);
             break;
         case BusinessObjects.CompositionRuleTypes.MutualDependency:
             returnStatement = context.MakeEquivalence(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier);
             break;
         case BusinessObjects.CompositionRuleTypes.MutualExclusion:
             returnStatement = context.MakeExcludes(compositionRule.FirstFeature.SlvMapIdentifier, compositionRule.SecondFeature.SlvMapIdentifier);
             break;
     }
     return returnStatement;
 }
예제 #2
0
 private static ISolverStatement TransformToStatement(Z3Context context, BLL.BusinessObjects.Relation relation)
 {
     ISolverStatement returnStatement = null;
     switch (relation.RelationType)
     {
         case BusinessObjects.RelationTypes.Mandatory:
             returnStatement = context.MakeEquivalence(relation.ParentFeature.SlvMapIdentifier, relation.ChildFeature.SlvMapIdentifier);
             break;
         case BusinessObjects.RelationTypes.Optional:
             returnStatement = context.MakeImplies(relation.ChildFeature.SlvMapIdentifier, relation.ParentFeature.SlvMapIdentifier);
             break;
     }
     return returnStatement;
 }