Process Modeling Languages: A Literature Review - Zamli, Kamal Zuhairi (Malaysian Journal of Computer Science, 2001)
A software process is defined as a sequence of steps that must be carried out by the human agents to pursue the goals of software engineering. In order to achieve a precise specification of what these steps actually are, a software process can be represented using a process modeling language (PML). A representation of the software process in a PML is called a process model. Through a process enactment mechanism, which allows execution of the process model, a software process can automate, guide, and enforce software engineering practices and policies. These technologies are often collected together into what are referred to as process-centred environments or process centred software engineering environments (PSEE). Over the past 12 years, there have been many PSEEs (and PMLs) developed. However, the use of PSEEs and PMLs are not widespread. We envisage that these technologies provide a vital support for software engineering in the future. This article surveys the current state of the art of the PMLs including the second generation PMLs, which have not been included in other surveys in the literature, and discusses the possible research agenda for future work in the area.