Industrial control systems (ICSs), especially distributed control systems (DCSs), are usually composed of several subsystems. Each subsystem is controlled by a control unit such as a programmable logic controller (PLC) or a micro-controller and collaborates with other subsystems via the field bus, Ethernet, or other communication links. In the traditional development process, engineers program for each PLC separately and skillfully orchestrate the collaboration among subsystems, which is difficult and error-prone. The larger the scale of the ICS is, the higher the complexity of the collaboration is, and the more error-prone the development process is. In this paper, we propose a decomposition-based development method for distributed ICSs to reduce the difficulty of developing distributed ICSs whose subsystems cooperate with each other. First, we present a general event-triggered specification language named Industrial Modeling Collaboration Language (IMCL) for modeling ICSs; the language allows describing system functions and physical resources in one unified model. Second, we provide an approach for decomposing the complex system model into multiple fine-grained and interactive subsystem models. Specifically, under given resource constraints, we propose an automatic decomposition and collaboration algorithm based on the IMCL model to meet the original functional requirements. In this way, engineers can develop distributed control systems without considering the underlying complex interaction mechanisms. We present a case study to demonstrate it.