We propose an open and extensible agent-based formal framework for modeling and simulating supply chains. Since structures and behaviors of supply chains can be very different based on underlying business models and markets, most of existing simulation and modeling tools are only applicable to specific subsets of supply chains. To improve extensibility, a distinctive feature of our approach is that it separates the functionalities of an element from its role and handles interactions among elements in an agent-based framework: elements are modeled as agents and their interactions decide the behavior of a supply chain. Our framework provides formal definitions for the syntax and semantics of an element. The framework separates internal behaviors of an element from its interface. These features make it easier to define new types of elements and customize their behaviors for a variety of supply-chain applications. The framework also gives rigid simulation-based semantics for a supply-c...