138
eventthatpassesfromtheapplicationtothelocalstore.Thepolicymanagerisresponsible
foracceptingeventsfromwhatevernetworkconnectionsareavailable,andstoringthemin
thelocalstore.Changeeventsfromothercollaboratinginstancesoftheapplicationaredis-
patchedindirectlyviathepolicymanager.Thisnotonlyhidesdatastructuremaintenance,
butitencapsulatestheimplementationofupdatepoliciesinasingleplace.Thegrayarrows
representcontroloperationsfromtheapplicationtoselectpolicyoptionsorrequestapar-
ticularlevelofactivity.
Policy ManagerNetwork
Application
Local Store
F F F F iii ig g g gu u u ur r r re e e e 7777....1111:::: GGGGlllloooobbbbaaaallll AAAArrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ffffoooorrrr PPPPaaaalllliiiimmmmppppsssseeeesssstttt aaaapppppppplllliiiiccccaaaattttiiiioooonnnnssss
ThisentirearchitectureisessentiallyseveralcomposedinstancesoftheObserverpattern
(Gamma,Helmetal.1995).Observerisawayofmodularizingupdatestostateinformation
bypassingthoseupdatestootherpartsofthesystemthatwouldbeaffectedbytheupdates.
Palimpsest’sdirectmanipulationofchangesmakesthispatternparticularlyusefulinthis
situation.ThepolicymanagercanalsobeseenasanapplicationoftheMediatorpattern,
eventthatpassesfromtheapplicationtothelocalstore.Thepolicymanagerisresponsible
foracceptingeventsfromwhatevernetworkconnectionsareavailable,andstoringthemin
thelocalstore.Changeeventsfromothercollaboratinginstancesoftheapplicationaredis-
patchedindirectlyviathepolicymanager.Thisnotonlyhidesdatastructuremaintenance,
butitencapsulatestheimplementationofupdatepoliciesinasingleplace.Thegrayarrows
representcontroloperationsfromtheapplicationtoselectpolicyoptionsorrequestapar-
ticularlevelofactivity.
Policy ManagerNetwork
Application
Local Store
F F F F iii ig g g gu u u ur r r re e e e 7777....1111:::: GGGGlllloooobbbbaaaallll AAAArrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ffffoooorrrr PPPPaaaalllliiiimmmmppppsssseeeesssstttt aaaapppppppplllliiiiccccaaaattttiiiioooonnnnssss
ThisentirearchitectureisessentiallyseveralcomposedinstancesoftheObserverpattern
(Gamma,Helmetal.1995).Observerisawayofmodularizingupdatestostateinformation
bypassingthoseupdatestootherpartsofthesystemthatwouldbeaffectedbytheupdates.
Palimpsest’sdirectmanipulationofchangesmakesthispatternparticularlyusefulinthis
situation.ThepolicymanagercanalsobeseenasanapplicationoftheMediatorpattern,