The concept of roles has been advocated to model application domain objects which evolve dynamically during their lifespan. These objects may acquire new and drop old roles. Several research efforts have focused on formalizing roles as conceptual unit and their mappings to classes and objects of class based languages. This paper presents a formal notation for modelling temporal relationships between roles using notion of semi-intervals rather than intervals. A semi-interval is a partially ordered set of time instances for which the endpoints are either not known or not relevant. Each role and their instances are associated with a lifespan which is a set of semi-intervals. The temporal relations are defined in terms of relationships between the lifespan of roles. An algorithm for computing the transitive closure of temporal relations is presented for inferring implicit relations. Both explicit and implicit relations define constraints which must be honored for acquiring and dropping the roles. A simple framework has been implemented in Java to demonstrate the usability of these concepts.