Commit 0614d8ef authored by Ådne Karstad's avatar Ådne Karstad

[minor] Separated Semester from Mandatory- and ElectiveCourses

All semester's courses should have courses taken from ElectiveCourses or MandatoryCourses. A course is mandatory or elective with respect to the study program.
parent f8f660b6
......@@ -16,6 +16,10 @@
eType="#//Semester" containment="true" eOpposite="#//Semester/program"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="specialisation" eType="#//Specialisation"
containment="true" eOpposite="#//Specialisation/program"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mandatoryCourses" upperBound="-1"
eType="#//MandatoryCourses" containment="true" eOpposite="#//MandatoryCourses/semester"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="electiveCourses" upperBound="-1"
eType="#//ElectiveCourses" containment="true" eOpposite="#//ElectiveCourses/semester"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Semester">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="year" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"
......@@ -23,10 +27,8 @@
<eStructuralFeatures xsi:type="ecore:EAttribute" name="season" eType="#//SeasonType"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="program" eType="#//Program"
eOpposite="#//Program/semesters"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="mandatoryCourses" upperBound="-1"
eType="#//MandatoryCourses" containment="true" eOpposite="#//MandatoryCourses/semester"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="electiveCourses" upperBound="-1"
eType="#//ElectiveCourses" containment="true" eOpposite="#//ElectiveCourses/semester"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="courses" upperBound="-1"
eType="#//Course"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Course">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="code" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
......@@ -61,13 +63,13 @@
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ElectiveCourses">
<eStructuralFeatures xsi:type="ecore:EReference" name="semester" eType="#//Semester"
eOpposite="#//Semester/electiveCourses"/>
eOpposite="#//Program/electiveCourses"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="courses" upperBound="-1"
eType="#//Course"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MandatoryCourses">
<eStructuralFeatures xsi:type="ecore:EReference" name="semester" eType="#//Semester"
eOpposite="#//Semester/mandatoryCourses"/>
eOpposite="#//Program/mandatoryCourses"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="courses" upperBound="-1"
eType="#//Course"/>
</eClassifiers>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment