-- @atlcompiler atl2006 module SEC; create SECO : SECJAVA from SEC : SECJEE; uses TransientLinks; rule Security2Security { from s : SECJEE!Security to t : SECJAVA!Security ( name <- s.name, roles <- s.roles, permissions <- s.permissions ) } rule Role2Role { from s : SECJEE!Role to t : SECJAVA!Role ( name <- s.name, permissions <- s.permissions ) } rule Read2Read { from s : SECJEE!Read to get : SECJAVA!RolesAllowed ( name <- s.name + 'GET', security <- s.security, roles <- s.roles, resources <- s.resources.mapstoOfKind(JAVA!Getter).debug('ReadAccess') ) } rule Write2Write { from s : SECJEE!Write to set : SECJAVA!RolesAllowed ( name <- s.name + 'SET', security <- s.security, roles <- s.roles, resources <- s.resources.mapstoOfKind(JAVA!Setter).debug('WriteAccess') ) } rule FullAccess2FullAccess { from s : SECJEE!FullAccess to getandset : SECJAVA!RolesAllowed ( name <- s.name + 'GETandSET', security <- s.security, roles <- s.roles, resources <- s.resources.mapstoOfKind(JAVA!Method).debug('FullAccess') ) }