Por default da error
invariant2 = context _Teammeeting [inv3]
inv3 self = (ocl self |.| participants |->| forAll(\temp1 -> (ocl temp1 |.| team) ||==|| (ocl self |.| for)))
ACCELEO.hs:312:89: error:
• Couldn't match type ‘(Team, ModelElement_)’
with ‘Collection Team_’
Expected type: OCL Model (Val (Collection Team_))
Actual type: OCL Model (Val Team_)
• In the second argument of ‘(|==|)’, namely ‘(ocl self |.| for)’
In the expression: (ocl temp1 |.| team) |==| (ocl self |.| for)
In the first argument of ‘forAll’, namely
‘(\ temp1 -> (ocl temp1 |.| team) |==| (ocl self |.| for))’
cuando el modelo es
example = Model [
(ModelElement 0 (RootCh (Root [1, 2, 3, 4, 5, 6, 7] [8, 9, 10] [11, 12, 13] )))
, (ModelElement 1 (PersonCh (Person "John Smith" 53 "Chief" "Male" (Just (TeammemberCh (Teammember "Chief" [11] [8] [] ))))))
, (ModelElement 2 (PersonCh (Person "Zoe Zheng" 38 "Chief" "Female" (Just (TeammemberCh (Teammember "Chief" [12] [9] [9] ))))))
, (ModelElement 3 (PersonCh (Person "Lindsey Scott" 36 "Chief" "Female" (Just (TeammemberCh (Teammember "Chief" [13] [10] [10] ))))))
, (ModelElement 4 (PersonCh (Person "James Pattern" 32 "Salesman" "Male" (Just (TeammemberCh (Teammember "Salesman" [13] [10] [] ))))))
, (ModelElement 5 (PersonCh (Person "May Falkner" 27 "Staff" "Female" (Just (TeammemberCh (Teammember "Staff" [12] [9] [] ))))))
, (ModelElement 6 (PersonCh (Person "Rebecca Anderson" 23 "Developer" "Female" (Just (TeammemberCh (Teammember "Developer" [11] [8] [8] ))))))
, (ModelElement 7 (PersonCh (Person "Jake White" 26 "Developer" "Male" (Just (TeammemberCh (Teammember "Developer" [11] [8] [] ))))))
, (ModelElement 8 (MeetingCh (Meeting "Daily Meeting - IT Department" "05/05/2018" 10 11 True [7, 6, 1] 6 (Just (TeammeetingCh (Teammeeting 11 ))))))
, (ModelElement 9 (MeetingCh (Meeting "Daily Meeting - Marketing Department" "05/05/2018" 14 15 True [2, 5] 2 (Just (TeammeetingCh (Teammeeting 12 ))))))
, (ModelElement 10 (MeetingCh (Meeting "Daily Meeting - Sales Department" "05/05/2018" 8 9 True [4, 3] 3 (Just (TeammeetingCh (Teammeeting 13 ))))))
, (ModelElement 11 (TeamCh (Team "IT" [] [8] )))
, (ModelElement 12 (TeamCh (Team "Marketing" [] [9] )))
, (ModelElement 13 (TeamCh (Team "Sales" [] [10] )))
]
si cambio el modelo a
example = Model [
(ModelElement 0 (RootCh (Root [1, 2, 3, 4, 5, 6, 7] [8, 9, 10] [11, 12, 13] )))
, (ModelElement 1 (PersonCh (Person "John Smith" 53 "Chief" "Male" (Just (TeammemberCh (Teammember "Chief" [11] [8] [] ))))))
, (ModelElement 2 (PersonCh (Person "Zoe Zheng" 38 "Chief" "Female" (Just (TeammemberCh (Teammember "Chief" [12] [9] [9] ))))))
, (ModelElement 3 (PersonCh (Person "Lindsey Scott" 36 "Chief" "Female" (Just (TeammemberCh (Teammember "Chief" [13] [10] [10] ))))))
, (ModelElement 4 (PersonCh (Person "James Pattern" 32 "Salesman" "Male" (Just (TeammemberCh (Teammember "Salesman" [13] [10] [] ))))))
, (ModelElement 5 (PersonCh (Person "May Falkner" 27 "Staff" "Female" (Just (TeammemberCh (Teammember "Staff" [12] [9] [] ))))))
, (ModelElement 6 (PersonCh (Person "Rebecca Anderson" 23 "Developer" "Female" (Just (TeammemberCh (Teammember "Developer" [11] [8] [8] ))))))
, (ModelElement 7 (PersonCh (Person "Jake White" 26 "Developer" "Male" (Just (TeammemberCh (Teammember "Developer" [11] [8] [] ))))))
, (ModelElement 8 (MeetingCh (Meeting "Daily Meeting - IT Department" "05/05/2018" 10 11 True [7, 6, 1] 6 (Just (TeammeetingCh (Teammeeting [11] ))))))
, (ModelElement 9 (MeetingCh (Meeting "Daily Meeting - Marketing Department" "05/05/2018" 14 15 True [2, 5] 2 (Just (TeammeetingCh (Teammeeting [12] ))))))
, (ModelElement 10 (MeetingCh (Meeting "Daily Meeting - Sales Department" "05/05/2018" 8 9 True [4, 3] 3 (Just (TeammeetingCh (Teammeeting [13] ))))))
, (ModelElement 11 (TeamCh (Team "IT" [] [8] )))
, (ModelElement 12 (TeamCh (Team "Marketing" [] [9] )))
, (ModelElement 13 (TeamCh (Team "Sales" [] [10] )))
]
cambia
la multiplicidad de TeamMeeting.for de 1..1 a 0..*
y
la multiplicidad de TeamMember.team de 0..1 a 0..*