/**
 * Copyright (c) 2021, 2026 Contributors to the Eclipse Foundation
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * SPDX-License-Identifier: EPL-2.0
 */
import "tutorial.machine"

activity MoveRobot {
  prerequisites {
    Robot1.M at Above_Right
  }
  actions {
    C: ["TP-0001"] claim Robot1 ["TP-0002"] // <1>
    R: ["TP-0003"] release Robot1 ["TP-0004"]
    A1: ["TP-0005"] move Robot1.M to Below_Right with speed profile slow ["TP-0006"]
    A2: ["TP-0007"] Robot1.C.unclamp ["TP-0008"]
    A3: ["TP-0009"] Robot1.C.clamp ["TP-0010"]
    A4: ["TP-0011"] move Robot1.M to Above_Right with speed profile normal ["TP-0012"]
  }
  action flow{
    C -> A1 -> A2 -> |S1 -> A3 -> |S2 -> R
                     |S1 -> A4 -> |S2
  }
}