description <http://ua.be/simple_car/description/workflows#> as workflows {
	uses <http://ua.be/sdo2l/vocabulary/base#> as base
	uses <http://ua.be/sdo2l/vocabulary/workflow#> as wf
	extends <http://ua.be/simple_car/description/definitions#> as defs




	// the car PM
	ci pm-car-system : wf:Workflow [
		base:hasIdentifier "pm1"
		base:hasCanonicalName "PMCarSystem"
		base:hasDescription "The Process model of the car system."
	]


	// Artifact Usages

	ci reqList-usage : wf:WorkflowArtifact [
		base:isDefinedBy defs:requirementList-def
		base:hasUsageName "reqs"
	]

	ci car-properties-usage : wf:WorkflowArtifact [
		base:isDefinedBy defs:shacl-property-def
		base:hasUsageName "carProps"
	]

	ci car-structural-model-usage : wf:WorkflowArtifact [
		base:isDefinedBy defs:structural-model-def
		base:hasUsageName "architecture"
	]

	ci violation-report-usage : wf:WorkflowArtifact [
		base:isDefinedBy defs:violation-report-def
		base:hasUsageName "violations"
	]

	// Nodes

	ci init-node : wf:InitialNode [
		base:hasIdentifier "init01"
		base:hasCanonicalName "Initial Node 01"
		wf:isFollowedBy requirement-elicitation-act
	]

	ci requirement-elicitation-act : wf:Activity [
		base:hasIdentifier "act01"
		base:hasCanonicalName "Requirement Elicitation"
		base:isDefinedBy defs:requirement-elicitation-act-def
		base:hasUsageName "reqElic"
		wf:outputs reqList-usage
		wf:isFollowedBy fork-node-01
	]

	ci fork-node-01 : wf:ForkNode [
		base:hasIdentifier "fork01"
		base:hasCanonicalName "ForkNode01"
		wf:isFollowedBy architectural-design-act
		wf:isFollowedBy property-design-act
	]

	ci architectural-design-act : wf:Activity [
		base:hasIdentifier "act02"
		base:hasCanonicalName "Architectural Design"
		base:isDefinedBy defs:architectural-design-act-def
		base:hasUsageName "archDes"
		wf:isInputtedBy reqList-usage
		wf:outputs car-structural-model-usage
		wf:isFollowedBy join-node-01
	]

	ci property-design-act : wf:Activity [
		base:hasIdentifier "act03"
		base:hasCanonicalName "Property Design"
		base:isDefinedBy defs:property-design-act-def
		base:hasUsageName "propDes"
		wf:isInputtedBy reqList-usage
		wf:outputs car-properties-usage
		wf:isFollowedBy join-node-01
	]


	ci join-node-01 : wf:JoinNode [
		base:hasIdentifier "join01"
		base:hasCanonicalName "JoinNode01"
		wf:isFollowedBy property-verification-act
	]

	ci property-verification-act : wf:Activity [
		base:hasIdentifier "act04"
		base:hasCanonicalName "Property Verification"
		base:isDefinedBy defs:property-verification-act-def
		base:hasUsageName "ver"
		wf:isFollowedBy final-node
	]

	ci final-node : wf:FinalNode [
		base:hasIdentifier "finalnode01"
		base:hasCanonicalName "Final Node 01"
	]

	ref ci pm-car-system [
		wf:coordinates init-node
		wf:coordinates requirement-elicitation-act
		wf:coordinates fork-node-01
		wf:coordinates architectural-design-act
		wf:coordinates property-design-act
		wf:coordinates join-node-01
		wf:coordinates property-verification-act
		wf:coordinates final-node
	]
}
