As supply chains become more dynamic, there is a need for a sense-and-respond capability to react to events in a real-time manner. In this paper, we propose Petri nets extended with time and color (for case data) as a formalism for doing so. Hence, we describe seven basic patterns that are used to capture modeling concepts that arise commonly in supply chains. These basic patterns may be used by themselves and also be combined to create new patterns. Next, we show how to use the patterns as building blocks to model a complete supply chain and analyze it using dependency graphs and simulation. Dependency graphs can be used to analyze the various events and their causes. Simulation was, in addition, used to analyze various performance indicators (e.g. fill rates, replenishment times, and lead times) under different supply chain strategies. We performed sensitivity analysis to study the effect of changing parameter values on the performance indicators. In the experiments, by cutting resolution time for production delays in half (strategy 1), we were able to increase order fill rate from 89% to 95%. Similarly, upon raising the probability of successful alternative sourcing (strategy 2) from 0.5 to 0.7 the order fill rate again increased from 89% to 95%. We show that by modeling timing and causality issues accurately, it is possible to improve supply chain performance.