A Petri net approach to support resource assignment in project management

Yen Liang Chen, Ping Yu Hsu, Yuan Bin Chang

Research output: Contribution to journalArticlepeer-review

10 Scopus citations


Petri nets have long been used in modeling and simulating project execution because of their great capability to describe concurrent activities and simulate the evolvement of processes. Although a number of extended Petri net models have been proposed to model and simulate resource sharing and activity dependence in projects, none of them has ever included a resource assignment mechanism into their models. Because resource assignments influence how limited resources are allocated among conflicting activities, they may heavily affect the availability of resources and the execution of projects. Therefore, a model without considering resource-sharing and resource assignment strategies may lead to a misunderstanding about project scheduling, resource consumption behaviors, and estimated project time. Accordingly, this paper proposes a new extended Petri net model that can describe how resources are shared and assigned among concurrent activities of multiple projects. The proposed model is named as resource assignment Petri net (RAPN), which extends an object composition Petri net with new places, transitions, attributes, and firing rules to model resource-sharing and resource assignment strategies. Finally, we prove that RAPN can correctly model the resource consumption behaviors of projects and can correctly compute the total elapsed time of projects.

Original languageEnglish
Pages (from-to)564-574
Number of pages11
JournalIEEE Transactions on Systems, Man, and Cybernetics Part A:Systems and Humans.
Issue number3
StatePublished - May 2008


  • Object composition Petri net (OCPN)
  • Petri nets
  • Project management
  • Resource assignment
  • Resource sharing


Dive into the research topics of 'A Petri net approach to support resource assignment in project management'. Together they form a unique fingerprint.

Cite this