The transferable extension defines a basic two-step process to transfer a role value :
current role assigns a new address for the role
new address confirms the transfer
transferable.arlxarchetype extension transferable (​variable[%transferable%] aRole role​) = {variable <%aRole>_tmp role​action assign_new_<%aRole> (newrole : role) = {called by aRoleeffect {<%aRole>_tmp := newrole}}​action confirm_<%aRole> = {called by <%aRole>tmpeffect {aRole := <%aRole>tmp}}}​