OCL Benchmark B3

abstract Person
ada : Person
cyd : Person
eve : Person
bob : Person
dan : Person
abstract Exam
date : string
[ this != "" ]
recorder -> Person
examiner -> Person
examinee -> Person
ada_bob_cyd : Exam
[ date = "20001023" ][ recorder = cyd ][ examiner = bob ][ examinee = ada ]
dan_bob_ada : Exam
[ date = "20040817" ][ recorder = ada ][ examiner = bob ][ examinee = dan ]
eve_ada_dan : Exam
[ date = "20080331" ][ recorder = dan ][ examiner = ada ][ examinee = eve ]
examineeAda -> Exam *
[ this.examinee = ada ]
[ all e : Exam | e.examinee = ada => e in examineeAda ]
recorderAda -> Exam *
[ this.recorder = ada ]
[ all e : Exam | e.recorder = ada => e in recorderAda ]
examinerAda -> Exam *
[ this.examiner = ada ]
[ all e : Exam | e.examiner = ada => e in examinerAda ]
examineeOfAdaAsExaminer -> Person *
[ one e : Exam | e.examiner = ada && e.examinee = this ]
examineeOfAdaAsRecorder -> Person *
[ one e : Exam | e.recorder = ada && e.examinee = this ]
examinerOfAdaAsExaminee -> Person *
[ one e : Exam | e.examinee = ada && e.examiner = this ]
examinerOfAdaAsRecorder -> Person *
[ one e : Exam | e.recorder = ada && e.examiner = this ]
recorderOfAdaAsExaminee -> Person *
[ one e : Exam | e.examinee = ada && e.recorder = this ]
recorderOfAdaAsExaminer -> Person *
[ one e : Exam | e.examiner = ada && e.recorder = this ]
var gwr=document.getElementById('graphWithRefs0'); gwr.style.display='block'; gwr.scrollLeft=this.scrollLeft; this.style.display='none'; var gwr=document.getElementById('graphWithRefs0'); gwr.style.display='block'; gwr.scrollLeft=this.scrollLeft; this.style.display='none'; -4,4 -4,-103.45 1635.01,-103.45 1635.01,4 -4,4 c0_Person abstract Person 11.00 c0_ada ada : Person 11.00 c0_ada->c0_Person 139.4,-84.36 149.99,-84.13 141.57,-77.71 139.4,-84.36 c0_cyd cyd : Person 11.00 c0_cyd->c0_Person 150.25,-81.36 160.54,-83.89 154.07,-75.5 150.25,-81.36 c0_eve eve : Person 11.00 c0_eve->c0_Person 168.32,-73.15 171.82,-83.15 175.32,-73.15 168.32,-73.15 c0_bob bob : Person 11.00 c0_bob->c0_Person 189.56,-75.5 183.09,-83.89 193.38,-81.36 189.56,-75.5 c0_dan dan : Person 11.00 c0_dan->c0_Person 202.22,-77.73 193.78,-84.14 204.37,-84.39 202.22,-77.73 c0_Exam abstract Exam 11.00 c0_Exam->c0_Person recorder transparent c0_Exam->c0_Person examiner transparent c0_Exam->c0_Person examinee transparent c0_ada_bob_cyd ada_bob_cyd : Exam 11.00 c0_ada_bob_cyd->c0_Exam 354.81,-36.84 365.4,-36.52 356.92,-30.16 354.81,-36.84 c0_dan_bob_ada dan_bob_ada : Exam 11.00 c0_dan_bob_ada->c0_Exam 384.32,-25.63 387.82,-35.63 391.32,-25.63 384.32,-25.63 c0_eve_ada_dan eve_ada_dan : Exam 11.00 c0_eve_ada_dan->c0_Exam 418.71,-30.16 410.23,-36.52 420.82,-36.84 418.71,-30.16 c0_examineeAda examineeAda -> Exam * 11.00 c0_examineeAda->c0_Exam 424.61,-37.89 430.13,-34.31 426.97,-37.53 430.54,-36.98 430.54,-36.98 430.54,-36.98 426.97,-37.53 430.95,-39.65 424.61,-37.89 c0_recorderAda recorderAda -> Exam * 11.00 c0_recorderAda->c0_Exam 424.6,-37.81 430.23,-34.41 426.97,-37.52 430.55,-37.09 430.55,-37.09 430.55,-37.09 426.97,-37.52 430.88,-39.77 424.6,-37.81 c0_examinerAda examinerAda -> Exam * 11.00 c0_examinerAda->c0_Exam 424.59,-37.77 430.27,-34.45 426.97,-37.52 430.56,-37.14 430.56,-37.14 430.56,-37.14 426.97,-37.52 430.85,-39.82 424.59,-37.77 c0_examineeOfAdaAsExaminer examineeOfAdaAsExaminer -> Person * 11.00 c0_examineeOfAdaAsExaminer->c0_Person 211.81,-90.56 217.75,-87.73 214.2,-90.51 217.81,-90.43 217.81,-90.43 217.81,-90.43 214.2,-90.51 217.87,-93.13 211.81,-90.56 c0_examineeOfAdaAsRecorder examineeOfAdaAsRecorder -> Person * 11.00 c0_examineeOfAdaAsRecorder->c0_Person 211.75,-89.79 217.64,-86.85 214.14,-89.69 217.75,-89.55 217.75,-89.55 217.75,-89.55 214.14,-89.69 217.85,-92.25 211.75,-89.79 c0_examinerOfAdaAsExaminee examinerOfAdaAsExaminee -> Person * 11.00 c0_examinerOfAdaAsExaminee->c0_Person 211.7,-89.74 217.59,-86.81 214.09,-89.65 217.7,-89.51 217.7,-89.51 217.7,-89.51 214.09,-89.65 217.8,-92.21 211.7,-89.74 c0_examinerOfAdaAsRecorder examinerOfAdaAsRecorder -> Person * 11.00 c0_examinerOfAdaAsRecorder->c0_Person 211.86,-89.97 217.77,-87.08 214.25,-89.89 217.86,-89.77 217.86,-89.77 217.86,-89.77 214.25,-89.89 217.95,-92.47 211.86,-89.97 c0_recorderOfAdaAsExaminee recorderOfAdaAsExaminee -> Person * 11.00 c0_recorderOfAdaAsExaminee->c0_Person 211.55,-90.26 217.47,-87.4 213.94,-90.2 217.54,-90.1 217.54,-90.1 217.54,-90.1 213.94,-90.2 217.61,-92.8 211.55,-90.26 c0_recorderOfAdaAsExaminer recorderOfAdaAsExaminer -> Person * 11.00 c0_recorderOfAdaAsExaminer->c0_Person
Module Statistics: | All clafers: 23 | Abstract: 2 | Concrete: 21 | Reference: 13 | Constraints: 22 | Goals: 0 | Global scope: 1..* | Can skip name resolver: no |

Module Downloads: | [.cfr] | [.html] |