Skip to content

Commit

Permalink
Add PatternId to pattern modeling constructs
Browse files Browse the repository at this point in the history
  • Loading branch information
wederbn committed May 14, 2024
1 parent d57eecd commit 65c31a9
Show file tree
Hide file tree
Showing 3 changed files with 44 additions and 19 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import { replaceErrorCorrectionPattern } from "./correction/ErrorCorrectionPatte
import { replaceMitigationPattern } from "./mitigation/MitigationPatternHandler";
import {
attachPatternsToSuitableConstruct,
getSolutionForPattern,
removeAlgorithmAndAugmentationPatterns,
} from "../util/PatternUtil";
import { findOptimizationCandidates } from "../../quantme/ui/adaptation/CandidateDetector";
Expand Down Expand Up @@ -156,6 +157,12 @@ export async function startPatternReplacementProcess(xml) {
);

for (let replacementConstruct of augmentationReplacementConstructs) {
console.log("Replacing augmentation pattern: ", replacementConstruct);

// retrieve solution for pattern to enable correct configuration
let concreteSolution = getSolutionForPattern(replacementConstruct.id);
console.log("Solution: ", concreteSolution);

let replacementSuccess = false;
if (replacementConstruct.task.$type === constants.CIRCUIT_CUTTING) {
let { replaced, flows, pattern } = await replaceCuttingPattern(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,98 +8,104 @@
"types": [
{
"name": "QuantumKernelEstimator",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "AlternatingOperatorAnsatz",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "QuantumApproximateOptimizationAlgorithm",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "QuantumPhaseEstimation",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "VariationalQuantumAlgorithm",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "VariationalQuantumEigensolver",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "OrchestratedExecution",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "PredeployedExecution",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "PrioritizedExecution",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "ErrorCorrection",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "GateErrorMitigation",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "ReadoutErrorMitigation",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "WarmStart",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "BiasedInitialState",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "ChainedOptimization",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "VariationalParameterTransfer",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "PreTrainedFeatureExtractor",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "CircuitCutting",
"superClass": ["bpmn:BoundaryEvent"],
"superClass": ["pattern:Pattern"],
"properties": []
},
{
"name": "Pattern",
"superClass": ["bpmn:BoundaryEvent"],
"properties": []
"properties": [
{
"name": "PatternId",
"isAttr": true,
"type": "String"
}
]
}
],
"enumerations": [],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -261,3 +261,15 @@ export function removeAlgorithmAndAugmentationPatterns(
}
}
}

/**
* Get the solution for the given pattern
*
* @param id the ID of the solution to retrieve the pattern for
*/
export function getSolutionForPattern(id) {
console.log("Retrieving solution for pattern with ID: ", id);

// TODO
return undefined;
}

0 comments on commit 65c31a9

Please sign in to comment.