: A software process is defined as a description of various steps that must be carried out by process agents to pursue the goals of software engineering. To support a software process, a model must first be built which specifies how the software engineering activity is to be carried out, the roles and task assignments involved, the resources consumed, the tools used, the input and output needed for the tasks, the product developed, as well as the communication mechanism between tasks and roles. Process Modeling Languages (PMLs) are languages used to express software process models. Process Centered Software Engineering Environments (PSEEs) are the environments used to define, modify, analyze and enact a process model. While both PMLs and PSEEs are important, it is the characteristics of PMLs that are the focus of this article, which leads to a taxonomy different from that presented in other work primarily with the inclusion of important human dimension issues (e.g awareness support) fr...