%DOMINATOR ANALYSIS BASED ON PAYLOAD %=========================================================== cfa_payload(expl_siteInit(Resource, Scope), scope(Scope), ()):- expl_siteInit(Resource, Scope). expl_supdom(Resource, Scope):- cfa_payload(expl_siteInit(Resource, Scope), scope(Scope), ()); cfa_payload(expl_siteInit(Resource, ScopeSup), scope(ScopeSup), ()); not cfa_payload(expl_siteInit(Resource, ScopeSup), scope(Scope), ()); ScopeSup <> Scope. %ASSIGNMENTS %=========================================================== expl_assignments(Init, Resource, init):- expl_siteUser(Resource, User); cfa_payload(expl_siteInit(Resource, Init), scope(User), ()); expl_supdom(Resource, Init). expl_assignments(Init, Resource, none):- expl_siteInit(Resource, Init); not expl_assignments(Init, Resource, init).