In designing a general modeling formalism for domain experts, a key challenge is to support a broad selection of their preferred paradigms yet minimize their exposure to complexity. With this aim, a formalism called Symmetric DEVS is proposed for specifying models that incorporate elements of discrete event simulation, dataflow programming, and agent-based modeling. Symmetric DEVS is based on the Discrete Event System Specification (DEVS) formalism, but differs in that atomic and composite nodes for discrete events are complemented with function and collection nodes for dataflow and agents. Like DEVS, nodes communicate over simulated time via message ports, but they also feature flow ports accommodating initialization and finalization operations. To minimize conceptual complexity, specifications are pared down to the essential elements and formulated to exhibit a high degree of symmetry. This paper defines the mathematical elements of Symmetric DEVS and presents an example of each of the four types of nodes.