This paper presents a role-based agent teamwork language called RoB-MALLET (Role-Based Multi-Agent Logic Language for Encoding Teamwork). Roles have been used to form multi-agent theories and guide the construction of multi-agent architectures and systems. Different from the most existing agent teamwork models that emphasize practical reasoning based on beliefs, desires and intentions (BDI), a role-based teamwork language stresses the concept of organization and thereby cooperation. RoB-MALLET is able to handle unexpected uncertainties and allow for the conceptual specification of teamwork knowledge for reuse. Finally, we present several experiments that explore plan reusability of RoB-MALLET, show that it is flexible in supporting simultaneity of invocation and evaluate its efficiency in supporting teamwork.