Processes are everywhere in organizations and modern life is often governed by all kinds of processes, ranging from administrative processes to handle admission to a university to logistic processes to handle packages being delivered to customers who ordered online. Especially in administrative processes, concurrency plays an important role as multiple things can happen in parallel to the same case. In this course, we study the fundamentals of processes, by studying formal modeling using Colored Petri nets which provide a precise semantics for models with concurrency. Starting from transition systems, we build towards Petri nets with time, data and resource aspects which are essential for the modeling and analysis of real-life systems. The main tool used in this course is CPN tools. This tool uses a functional programming language as a basis for manipulating data associated to tokens in a Petri net model. Students will learn to make such models, to simulate them and to interpret the results. We support CPN tools on the Microsoft Windows platform.