358  10.      

FilterAgent I:

X := possibleSchedulesf)
FilterAgent 2:

suggestedSchedules(A)

MajorAgent 1:

X := currentDegreePlan()
MajorAgent 2:

Y := coursesTaken()
MajorAgent 4:

suggestionsForMajor(Z)

MajorAgent

FilterAgent

SchedulerAgent

MajorAgent 3:

Blackboard
	{self}	

= currentScheduleOfCoursesO

ScheduleOfCourses

MinorAgent 3:

I = currentScheduleOfCoursesO

SchedulerAgent 1: Blackboard-!:

MinorAgent

X := masterList()   produceMasterList()
SchedulerAgent 2:

MinorAgent 1:

X := currentDegreePlan()
MinorAgent 2:

Y := coursesTaken()
MinorAgent 4:

suggestionsForMinor(B)

possibleSchedules(D)

Blackboard

SuggestionForMajor
SuggestionForMinor
Schedule
DegreePlan

possibleSchedules(vector<ScheduleMap> &): void {guarded}
possibleSchedules(void): vector<ScheduleMap> & {guarded}
suggestionsForMajor(const courses &X): void {concurrent}
suggestionsForMinor(const courses &X): void {concurrent}

currentDegreePlan(void): ScheduleMap & {concurrent}

produceMasterList(void)

masterList(void): ScheduleMap & {guarded}

suggestedSchedules(void): vector<ScheduleMap &> {guarded}

suggestedSchedules(vector<ScheduleMap &>): void {guarded}

. 10.9.        
 

        -
,     ,  
  ,      (agent).

Maj orAgent          
MinorAgent          
FilterAgent            

ScheduleAgent         
 