Index: fedd/abac-src/ttg/test/jan_demo/heuristic/rbtm.log
===================================================================
--- fedd/abac-src/ttg/test/jan_demo/heuristic/rbtm.log	(revision 8780cbecc6db2bdc2b9ef31eec6e5209ad3bff15)
+++ fedd/abac-src/ttg/test/jan_demo/heuristic/rbtm.log	(revision 8780cbecc6db2bdc2b9ef31eec6e5209ad3bff15)
@@ -0,0 +1,236 @@
+Finding credential defining the role: <SAdmir.getsSLocs>
+count = 1
+count = 2
+count = 3
+oppoFrontier = credentials=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom, SE.friendly<-US, SAdmir.getsSLocs<-SEAFHQ.usr]
+indexByIssuer={SE=[SE.friendly<-US], SAdmir=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom, SAdmir.getsSLocs<-SEAFHQ.usr]}
+indexByRole={SAdmir.NRetTacCom=[SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom], SAdmir.needsSLocs=[SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr], SE.friendly=[SE.friendly<-US], SAdmir.getsSLocs=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.getsSLocs<-SEAFHQ.usr]}
+indexBySubject={SENavy.usr=[SAdmir.getsSLocs<-SENavy.usr], US=[SE.friendly<-US], USEUCOM.NRetUSTacCom=[SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom], SAdmir.needsSLocs=[SAdmir.getsSLocs<-SAdmir.needsSLocs], FinnCOM.NRetFinnTacCom=[SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom], SEAFHQ.usr=[SAdmir.getsSLocs<-SEAFHQ.usr], SAdmir.NRetTacCom.NRetTacUsr=[SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr]}
+-------BEGIN-OPPO-SEARCH------------
+###Adding SENavy.usr,node SENavy.usr
+-------END-OPPO-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+-------END-OPPO-SEARCH--------------
+Getting oppo chain from SENavy.usr to SENavy.usr
+source = SENavy.usr
+target = SENavy.usr
+node table = {SENavy.usr=node SENavy.usr}
+
+@@@@@ creating set of size 0
+-------BEGIN-OPPO-SEARCH------------
+###Adding SAdmir.needsSLocs,SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr
+###Adding SAdmir.NRetTacCom.NRetTacUsr,node SAdmir.NRetTacCom.NRetTacUsr
+###Adding SAdmir.NRetTacCom.NRetTacUsr,node SAdmir.NRetTacCom.NRetTacUsr
+-------END-OPPO-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+-------END-OPPO-SEARCH--------------
+Getting oppo chain from SAdmir.needsSLocs to SAdmir.NRetTacCom.NRetTacUsr
+source = SAdmir.needsSLocs
+target = SAdmir.NRetTacCom.NRetTacUsr
+node table = {SENavy.usr=node SENavy.usr, SAdmir.needsSLocs=node SAdmir.needsSLocs, SAdmir.NRetTacCom.NRetTacUsr=node SAdmir.NRetTacCom.NRetTacUsr}
+
+@@@@@ this = SAdmir.needsSLocs
+solutions = [2]{SAdmir.NRetTacCom.NRetTacUsr=[node SAdmir.NRetTacCom.NRetTacUsr]}
+soln = [node SAdmir.NRetTacCom.NRetTacUsr]
+
+@@@@@ next = SAdmir.NRetTacCom.NRetTacUsr
+
+@@@@@ children  = [2]{SAdmir.needsSLocs=[SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr]}
+-------BEGIN-OPPO-SEARCH------------
+###Adding SEAFHQ.usr,node SEAFHQ.usr
+-------END-OPPO-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+-------END-OPPO-SEARCH--------------
+Getting oppo chain from SEAFHQ.usr to SEAFHQ.usr
+source = SEAFHQ.usr
+target = SEAFHQ.usr
+node table = {SENavy.usr=node SENavy.usr, SAdmir.needsSLocs=node SAdmir.needsSLocs, SEAFHQ.usr=node SEAFHQ.usr, SAdmir.NRetTacCom.NRetTacUsr=node SAdmir.NRetTacCom.NRetTacUsr}
+
+@@@@@ creating set of size 0
+Finding credential defining the role name: NRetTacUsr
+count = 1
+-------BEGIN-SENS-SEARCH------------
+searching for RADMSmith.NRetTacUsr
+###Adding RADMSmith.NRetTacUsr,RADMSmith.NRetTacUsr<-USN.assignedNRet
+###Adding USN.assignedNRet,node USN.assignedNRet
+###Adding USN.assignedNRet,node USN.assignedNRet
+map = [2]{USN.assignedNRet=[node USN.assignedNRet]}
+--------END-SENS-SEARCH-------------
+-------BEGIN-SENS-SEARCH------------
+searching for RADMSmith.NRetTacUsr
+map = [2]{USN.assignedNRet=[node USN.assignedNRet]}
+--------END-SENS-SEARCH-------------
+---------BEGIN-SENS-CHAIN----------
+Getting sens chain from RADMSmith.NRetTacUsr to USN.assignedNRet
+source = RADMSmith.NRetTacUsr
+target = USN.assignedNRet
+node table = {USN.assignedNRet=node USN.assignedNRet, RADMSmith.NRetTacUsr=node RADMSmith.NRetTacUsr}
+
+@@@@@ this = RADMSmith.NRetTacUsr
+solutions = [2]{USN.assignedNRet=[node USN.assignedNRet]}
+soln = [node USN.assignedNRet]
+
+@@@@@ next = USN.assignedNRet
+
+@@@@@ creating set of size 1
+
+@@@@@ children  = [2]{RADMSmith.NRetTacUsr=[RADMSmith.NRetTacUsr<-USN.assignedNRet]}
+results = [RADMSmith.NRetTacUsr<-USN.assignedNRet]
+-----------END-SENS-CHAIN----------
+
+Finding credential defining the role: <USN.assignedNRet>
+oppoFrontier = credentials=[US.friendly<-SE]
+indexByIssuer={US=[US.friendly<-SE]}
+indexByRole={US.friendly=[US.friendly<-SE]}
+indexBySubject={SE=[US.friendly<-SE]}
+count = 1
+-------BEGIN-SENS-SEARCH------------
+searching for USSB
+###Adding USSB,node USSB
+map = [2]{USSB=[node USSB]}
+--------END-SENS-SEARCH-------------
+-------BEGIN-LOCAL-SEARCH------------
+###Adding US.friendly,node US.friendly
+###Adding US.friendly,US.friendly<-SE
+###Adding SE,node SE
+###Adding SE,node SE
+-------END-LOCAL-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+###Adding SE.usr,node SE.usr
+-------END-OPPO-SEARCH--------------
+###Adding RADMSmith.NRetTacUsr,node RADMSmith.NRetTacUsr
+###Adding RADMSmith.NRetTacUsr,RADMSmith.NRetTacUsr<-USN.assignedNRet
+###Adding USN.assignedNRet,node USN.assignedNRet
+###Adding USN.assignedNRet,node USN.assignedNRet
+source = RADMSmith.NRetTacUsr
+target = USN.assignedNRet
+node table = {USN.assignedNRet=node USN.assignedNRet, RADMSmith.NRetTacUsr=node RADMSmith.NRetTacUsr}
+
+@@@@@ this = RADMSmith.NRetTacUsr
+solutions = [2]{USN.assignedNRet=[node USN.assignedNRet], RADMSmith.NRetTacUsr=[node RADMSmith.NRetTacUsr]}
+soln = [node USN.assignedNRet]
+
+@@@@@ next = USN.assignedNRet
+
+@@@@@ creating set of size 1
+
+@@@@@ children  = [2]{RADMSmith.NRetTacUsr=[RADMSmith.NRetTacUsr<-USN.assignedNRet]}
+-------BEGIN-SENS-SEARCH------------
+searching for SE.usr
+###Adding SE.usr,SE.usr<-SAdmir
+###Adding SAdmir,node SAdmir
+###Adding SAdmir,node SAdmir
+map = [2]{SAdmir=[node SAdmir]}
+--------END-SENS-SEARCH-------------
+-------BEGIN-SENS-SEARCH------------
+searching for SE.usr
+map = [2]{SAdmir=[node SAdmir]}
+--------END-SENS-SEARCH-------------
+---------BEGIN-SENS-CHAIN----------
+Getting sens chain from SE.usr to SAdmir
+source = SE.usr
+target = SAdmir
+node table = {SE.usr=node SE.usr, SAdmir=node SAdmir}
+
+@@@@@ this = SE.usr
+solutions = [2]{SAdmir=[node SAdmir]}
+soln = [node SAdmir]
+
+@@@@@ next = SAdmir
+
+@@@@@ children  = [2]{SE.usr=[SE.usr<-SAdmir]}
+results = [SE.usr<-SAdmir]
+-----------END-SENS-CHAIN----------
+
+###Adding SE.usr,node SE.usr
+###Adding SE.usr,SE.usr<-SAdmir
+###Adding SAdmir,node SAdmir
+###Adding SAdmir,node SAdmir
+source = SE.usr
+target = SAdmir
+node table = {SE.usr=node SE.usr, SAdmir=node SAdmir}
+
+@@@@@ this = SE.usr
+solutions = [2]{SE.usr=[node SE.usr], SAdmir=[node SAdmir]}
+soln = [node SAdmir]
+
+@@@@@ next = SAdmir
+
+@@@@@ children  = [2]{SE.usr=[SE.usr<-SAdmir]}
+###Adding USN.assignedNRet,USN.assignedNRet<-USSB
+###Adding USSB,node USSB
+###Adding USSB,node USSB
+###Adding USSB,node USN.assignedNRet
+source = USN.assignedNRet
+target = USSB
+node table = {USN.assignedNRet=node USN.assignedNRet, RADMSmith.NRetTacUsr=node RADMSmith.NRetTacUsr, USSB=node USSB}
+
+@@@@@ this = USN.assignedNRet
+solutions = [2]{USN.assignedNRet=[node USN.assignedNRet], USSB=[node USSB]}
+soln = [node USSB]
+
+@@@@@ next = USSB
+
+@@@@@ children  = [2]{USN.assignedNRet=[USN.assignedNRet<-USSB]}
+Finding credential defining the role: <SAdmir.NRetTacCom>
+count = 1
+count = 2
+oppoFrontier = credentials=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom, SE.friendly<-US, SAdmir.getsSLocs<-SEAFHQ.usr]
+indexByIssuer={SE=[SE.friendly<-US], SAdmir=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom, SAdmir.getsSLocs<-SEAFHQ.usr]}
+indexByRole={SAdmir.NRetTacCom=[SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom, SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom], SAdmir.needsSLocs=[SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr], SE.friendly=[SE.friendly<-US], SAdmir.getsSLocs=[SAdmir.getsSLocs<-SENavy.usr, SAdmir.getsSLocs<-SAdmir.needsSLocs, SAdmir.getsSLocs<-SEAFHQ.usr]}
+indexBySubject={SENavy.usr=[SAdmir.getsSLocs<-SENavy.usr], US=[SE.friendly<-US], USEUCOM.NRetUSTacCom=[SAdmir.NRetTacCom<-USEUCOM.NRetUSTacCom], SAdmir.needsSLocs=[SAdmir.getsSLocs<-SAdmir.needsSLocs], FinnCOM.NRetFinnTacCom=[SAdmir.NRetTacCom<-FinnCOM.NRetFinnTacCom], SEAFHQ.usr=[SAdmir.getsSLocs<-SEAFHQ.usr], SAdmir.NRetTacCom.NRetTacUsr=[SAdmir.needsSLocs<-SAdmir.NRetTacCom.NRetTacUsr]}
+-------BEGIN-OPPO-SEARCH------------
+###Adding USEUCOM.NRetUSTacCom,node USEUCOM.NRetUSTacCom
+-------END-OPPO-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+-------END-OPPO-SEARCH--------------
+Getting oppo chain from USEUCOM.NRetUSTacCom to USEUCOM.NRetUSTacCom
+source = USEUCOM.NRetUSTacCom
+target = USEUCOM.NRetUSTacCom
+node table = {SENavy.usr=node SENavy.usr, USEUCOM.NRetUSTacCom=node USEUCOM.NRetUSTacCom, SAdmir.needsSLocs=node SAdmir.needsSLocs, SEAFHQ.usr=node SEAFHQ.usr, SAdmir.NRetTacCom.NRetTacUsr=node SAdmir.NRetTacCom.NRetTacUsr}
+
+@@@@@ creating set of size 0
+-------BEGIN-OPPO-SEARCH------------
+###Adding FinnCOM.NRetFinnTacCom,node FinnCOM.NRetFinnTacCom
+-------END-OPPO-SEARCH--------------
+-------BEGIN-OPPO-SEARCH------------
+-------END-OPPO-SEARCH--------------
+Getting oppo chain from FinnCOM.NRetFinnTacCom to FinnCOM.NRetFinnTacCom
+source = FinnCOM.NRetFinnTacCom
+target = FinnCOM.NRetFinnTacCom
+node table = {SENavy.usr=node SENavy.usr, USEUCOM.NRetUSTacCom=node USEUCOM.NRetUSTacCom, SAdmir.needsSLocs=node SAdmir.needsSLocs, FinnCOM.NRetFinnTacCom=node FinnCOM.NRetFinnTacCom, SEAFHQ.usr=node SEAFHQ.usr, SAdmir.NRetTacCom.NRetTacUsr=node SAdmir.NRetTacCom.NRetTacUsr}
+
+@@@@@ creating set of size 0
+-------BEGIN-SIMP-SEARCH------------
+###Adding USEUCOM.NRetUSTacCom,USEUCOM.NRetUSTacCom<-RADMSmith
+###Adding RADMSmith,node RADMSmith
+###Adding RADMSmith,node RADMSmith
+--------END-SIMP-SEARCH------------
+-------BEGIN-SIMP-SEARCH------------
+--------END-SIMP-SEARCH------------
+source = USEUCOM.NRetUSTacCom
+target = RADMSmith
+node table = {USEUCOM.NRetUSTacCom=node USEUCOM.NRetUSTacCom, RADMSmith=node RADMSmith}
+
+@@@@@ this = USEUCOM.NRetUSTacCom
+solutions = [2]{RADMSmith=[node RADMSmith]}
+soln = [node RADMSmith]
+
+@@@@@ next = RADMSmith
+
+@@@@@ children  = [2]{USEUCOM.NRetUSTacCom=[USEUCOM.NRetUSTacCom<-RADMSmith]}
+###Adding USEUCOM.NRetUSTacCom,node USEUCOM.NRetUSTacCom
+###Adding USEUCOM.NRetUSTacCom,USEUCOM.NRetUSTacCom<-RADMSmith
+###Adding RADMSmith,node RADMSmith
+###Adding RADMSmith,node RADMSmith
+source = USEUCOM.NRetUSTacCom
+target = RADMSmith
+node table = {USEUCOM.NRetUSTacCom=node USEUCOM.NRetUSTacCom, RADMSmith=node RADMSmith, USN.assignedNRet=node USN.assignedNRet, RADMSmith.NRetTacUsr=node RADMSmith.NRetTacUsr, USSB=node USSB}
+
+@@@@@ this = USEUCOM.NRetUSTacCom
+solutions = [2]{USEUCOM.NRetUSTacCom=[node USEUCOM.NRetUSTacCom], RADMSmith=[node RADMSmith]}
+soln = [node RADMSmith]
+
+@@@@@ next = RADMSmith
+
+@@@@@ children  = [2]{USEUCOM.NRetUSTacCom=[USEUCOM.NRetUSTacCom<-RADMSmith]}
