Patent ID: 8656503

Claim:
A computer-implemented method comprising: under control of one or more processors configured with executable instructions: determining whether an asserted fact included in a security language assertion is flat based on whether the asserted fact is nested; upon determining that the asserted fact is not flat, determining that the security language assertion is a delegation assertion with at least one delegation-directive verb, and translating the security language assertion into a plurality of logic language rules, the translating comprising: adding a first logic language rule including a primary fact corresponding to the asserted fact; and for each delegation-directive verb of the at least one delegation-directive verb, adding a second logic language rule having an unbounded delegation depth and a fresh variable representing a delegatee, wherein the fresh variable represents a principal to whom rights are being delegated; for each logic language rule having an asserted fact with an expression that has been created when adding the first logic language rule and/or the second logic language rule, adding a third language rule having an alias capability and a fresh variable representing an object of an alias; determining whether another asserted fact of another security language assertion is flat; upon determining that the other asserted fact is not flat, translating the other security language assertion into a fourth logic language rule including another primary fact corresponding to the other asserted fact; combining the first, second, third and fourth logic language rules into a logic language program; and evaluating the logic language program in conjunction with an authorization query.