Cyber-Physical Systems (CPS) contain intertwined and distributed software, hardware, and physical components to control complex physical processes. They find wide application in industrial systems, such as smart grid protection systems, which face increasingly complex communication and computation needs. Due to the scale and complexity of the interactions that occur within CPS, tracing requirements through to the system components and software code that implement them is often hard. Existing requirements management systems do not scale well, and traceability is difficult to implement and maintain in highly heterogeneous systems. However, the information trace that links provide is crucial for supporting testing and certification activities in safety-critical environments such as smart grids. The well-formed models of power systems provided by the IEC 61850 standard and the software design structure provided by the IEC 61499 Function Blocks standard can be leveraged to automate many traceability operations. We present Traceability of Requirements Using Splices (TORUS), a novel traceability framework for the development of large-scale safety-critical CPS. TORUS introduces splices , autonomous graph-based data structures that automatically create and manage trace links between requirements and components through the inevitable changes that occur during system development. The formal, graph-based structure of TORUS lends itself well to the development of sophisticated algorithms to automate the extraction of useful traceability information such as historical records and metrics for requirements coverage and component coupling. By capturing not only the current state of the system but also historical information, TORUS allows project teams to see a much richer view of the system and its artifacts. We apply TORUS to the development of a protection system for smart grid substations. In addition, through a number of experiments in splice creation, modification, and application of automated algorithms, we show that TORUS scales easily to large systems containing hundreds of thousands of requirements and system components and millions of possible trace links.