<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xml:base="http://open-services.net/shapes/rm#"
	xmlns:dcterms="http://purl.org/dc/terms/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xml:lang="en-GB" xmlns:oslc="http://open-services.net/ns/core#"
	xmlns:oslc_rm="http://open-services.net/ns/rm#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">
	<oslc:ResourceShape
		rdf:about="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/SystemRequirement">

		<dcterms:title rdf:parseType="Literal">CMM System Requirement Resource Shape</dcterms:title>
		<oslc:describes rdf:resource="http://open-services.net/ns/rm#Requirement" />
		<!-- Properties to be a NamedElement -->
		<oslc:property>
			<oslc:Property>
				<oslc:name>title</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/title" />
				<dcterms:title rdf:parseType="Literal">Title</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.NamedElement.name</dcterms:description>
				<oslc:valueType	rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Exactly-one" />
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>description</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/description" />
				<dcterms:title rdf:parseType="Literal">Description
				</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.NamedElement.comment</dcterms:description>
				<!-- Use XMLLiteral String Representation -->
				<oslc:valueType	rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#XMLLiteral" />
				<!-- Zero-or-one defined by RMv2Spec -->
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Zero-or-many" />
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>identifier</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://purl.org/dc/terms/identifier" />
				<dcterms:title rdf:parseType="Literal">Identifier</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.NamedElement.qualifiedName</dcterms:description>
				<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Exactly-one" />
			</oslc:Property>
		</oslc:property>
		<!-- END Properties to be a NamedElement -->
		
		<!-- Properties to be a System Requirement -->
		<oslc:property>
			<oslc:Property>
				<oslc:name>isGraybox</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/isGraybox" />
				<dcterms:title rdf:parseType="Literal">isGraybox</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.SystemRequirement.isGraybox</dcterms:description>
				<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#boolean" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Exactly-one" />
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>strongAssumption</oslc:name>
				<oslc:propertyDefinition
					rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/strongAssumption" />
				<dcterms:title rdf:parseType="Literal">strongAssumption</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.SystemRequirement.strongAssumption</dcterms:description>
				<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
				<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" /> 
				<oslc:valueShape rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/Assertion" /> <!-- TBD Define the Type Assertion -->
				<oslc:range rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/types/Assertion" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Zero-or-many" /><!-- TBD Is missing in CMM -->
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>weakAssumption</oslc:name>
				<oslc:propertyDefinition
					rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/weakAssumption" />
				<dcterms:title rdf:parseType="Literal">weakAssumption</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.SystemRequirement.weakAssumption</dcterms:description>
				<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
				<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
				<oslc:valueShape rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/Assertion" />
				<oslc:range rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/types/FormalAssertion" />
				<oslc:range rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/types/InformalAssertion" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Zero-or-many" /><!-- TBD Is missing in CMM -->
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>guarantee</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/guarantee" />
				<dcterms:title rdf:parseType="Literal">guarantee</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.SystemRequirement.guarantee</dcterms:description>
				<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
				<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" />
				<oslc:range rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/types/Assertion" />
				<oslc:valueShape rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/Assertion" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Exactly-one" />
			</oslc:Property>
		</oslc:property>
		
		<!-- Properties to be a Requirement -->
		<oslc:property>
			<oslc:Property>
				<oslc:name>rationale</oslc:name>
				<oslc:propertyDefinition rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/rationale" />
				<dcterms:title rdf:parseType="Literal">rationale</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.rationale</dcterms:description>
				<oslc:valueType rdf:resource="http://www.w3.org/2001/XMLSchema#string" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Zero-or-many" />
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>stakeholder</oslc:name>
				<oslc:propertyDefinition
					rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/stakeholder" /><!-- TBD -->
				<dcterms:title rdf:parseType="Literal">stakeholder</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.stakeholder</dcterms:description>
				<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
				<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" /> <!-- TBD Define the Type Stakeholder -->
				<oslc:valueShape rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/Stakeholder" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#Zero-or-many" />
			</oslc:Property>
		</oslc:property>
		<oslc:property>
			<oslc:Property>
				<oslc:name>aspect</oslc:name>
				<oslc:propertyDefinition
					rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/attributeDefinitions/stakeholder" /><!-- TBD -->
				<dcterms:title rdf:parseType="Literal">aspect</dcterms:title>
				<dcterms:description rdf:parseType="Literal">CMM.Requirements.aspect</dcterms:description>
				<oslc:representation rdf:resource="http://open-services.net/ns/core#Reference" />
				<oslc:valueType rdf:resource="http://open-services.net/ns/core#Resource" /> <!-- TBD Define the Type Aspect -->
				<oslc:valueShape rdf:resource="http://www.cesarproject.eu/rtp/2.0/CMM/OSLC/shapes/Aspect" />
				<oslc:occurs rdf:resource="http://open-service.net/ns/core#One-or-many" />
			</oslc:Property>
		</oslc:property>
		
		<!-- TBD Properties to be a SystemArtefact -->
	</oslc:ResourceShape>

</rdf:RDF>
