description <http://ua.be/sdo2l/description/artifacts/MyPM_pm#> as MyPM_pm {

  uses <http://ua.be/sdo2l/vocabulary/formalisms/pm#> as pm
  uses <http://ua.be/sdo2l/vocabulary/formalisms/object_diagram#> as object_diagram
  extends <http://ua.be/sdo2l/description/artifacts/FTG_ftg#> as ftg_instance
  extends <http://ua.be/sdo2l/description/artifacts/RefinementPM#> as RefinementPM

  instance model : pm:Model [
    object_diagram:hasName "MyPM_pm"
  ]
 
  instance initial : pm:Initial [
    object_diagram:inModel model
    pm:ctrlTo activity_0_port_0
  ]

  instance activity_0_port_0 : pm:CtrlInputPort [
    pm:hasName "cin"
    pm:ofActivity activity_0
    object_diagram:inModel model
  ]

  instance activity_0 : pm:Activity [
    pm:hasName "sketch"
    pm:isTransformation ftg_instance:t_Sketch
    object_diagram:inModel model
  ]

  instance activity_0_port_1 : pm:CtrlOutputPort [
    pm:hasName "cout"
    pm:ofActivity activity_0
    object_diagram:inModel model
    pm:ctrlTo activity_1_port_0
  ]

  instance activity_0_port_2 : pm:DataOutputPort [
    pm:hasName "sketch"
    pm:ofActivity activity_0
    object_diagram:inModel model
    pm:dataTo artifact_0
  ]

  instance activity_1_port_0 : pm:CtrlInputPort [
    pm:hasName "cin"
    pm:ofActivity activity_1
    object_diagram:inModel model
  ]

  instance activity_1_port_2 : pm:DataInputPort [
    pm:hasName "sketch"
    pm:ofActivity activity_1
    object_diagram:inModel model
  ]

  instance activity_1 : pm:Activity [
    pm:hasName "look_at_sketch"
    pm:isTransformation ftg_instance:t_LookAtSketch
    object_diagram:inModel model
  ]

  instance activity_1_port_1 : pm:CtrlOutputPort [
    pm:hasName "cout"
    pm:ofActivity activity_1
    object_diagram:inModel model
    pm:ctrlTo invoking_activity_port_0
  ]

  instance activity_1_port_3 : pm:CtrlOutputPort [
    pm:hasName "cout_end"
    pm:ofActivity activity_1
    object_diagram:inModel model
    pm:ctrlTo final
  ]

  instance invoking_activity_port_0 : pm:CtrlInputPort [
    pm:hasName "cin"
    pm:ofActivity invoking_activity
    object_diagram:inModel model
  ]

  instance invoking_activity : pm:InvokingActivity [
	 pm:hasName "refine_sketch_process"
	 pm:isTransformation ftg_instance:t_LookAtSketch
	 pm:invokesPM RefinementPM:model
	 object_diagram:inModel model
  ]

  instance invoking_activity_port_2 : pm:CtrlOutputPort [
    pm:hasName "cout"
    pm:ofActivity invoking_activity
    object_diagram:inModel model
    pm:ctrlTo final
  ]

  instance final : pm:Final [
    object_diagram:inModel model
  ]

  instance artifact_0 : pm:Artifact [
    pm:hasName "sketch"
    pm:hasType ftg_instance:f_xopp
    object_diagram:inModel model
    pm:dataTo activity_1_port_2
  ]
  
  relation instance ctrl_flow_0 : pm:CtrlFlow [
    from initial
    to activity_0_port_0
    object_diagram:inModel model
  ]

  relation instance ctrl_flow_1 : pm:CtrlFlow [
    from activity_0_port_1
    to activity_1_port_0
    object_diagram:inModel model
  ]

  relation instance ctrl_flow_2 : pm:CtrlFlow [
    from activity_1_port_1
    to invoking_activity_port_0
    object_diagram:inModel model
  ]

  relation instance ctrl_flow_3 : pm:CtrlFlow [
    from activity_1_port_3
    to final
    object_diagram:inModel model
  ]

  relation instance ctrl_flow_4 : pm:CtrlFlow [
    from invoking_activity_port_2
    to final
    object_diagram:inModel model
  ]

  relation instance data_flow_0 : pm:DataFlow [
    from artifact_0
    to activity_1_port_2
    object_diagram:inModel model
  ]

  relation instance data_flow_1 : pm:DataFlow [
    from activity_0_port_2
    to artifact_0
    object_diagram:inModel model
  ]
}