In many respects, railway control systems (RCS) can be thought of as a pre-digital progenitor of the Internet-of-Things, a distributed network of sensors, actuators and intelligent control that work together to respond to a variety of situations. While there are many different approaches to RCS, modern systems are increasingly based on Centralized Traffic Control (CTC) with computer control and monitoring under overall human supervision. Given the safety-critical nature of railway networks, modeling and simulating such systems is a high priority.
Software available for such purposes has historically been highly specialized. As such, it tends to be relatively inflexible beyond its primary purposes and relatively expensive, as it must solve general problems for a narrow market segment. An alternate approach would be to use a more generic system modeling tool to capture overall architecture and connect it to the more specialized tools for specific purposes. This would allow users to apply the best practices of modern Model-Based Systems Engineering (MBSE), such as OMG SysML (Systems Modeling Language), to the RCS domain.
In this series of blog posts, we describe some preliminary results for such an approach, using several representative SysML modeling tools (MagicDraw from No Magic Inc, IBM Rational Rhapsody, and Enterprise Architect from Sparx Systems). These models will be made available for download with the last post of the series, which will also show how the Intercax MBSE platform Syndeia can connect these models with Simulink (The MathWorks, Inc.) for simulation.
Components of an RCS
SysML is an object-oriented modeling language. We start by modeling basic elements of a system and incrementally build up more and more complex subsystems with repeated use of those basic elements.
Figure 1 Fundamental building blocks of RCS model (MagicDraw)
In Figure 1, we show three of those fundamental elements.
- Block is a section of track, characterized by two ends and an occupancy sensor that determines whether the Block is currently Clear or Occupied by a train. It is also characterized by value properties, that might be fixed, such as length or grade, or variable, such as visibility. Blocks are bi-directional, as indicated by the proxy ports. (Note that block is also a term used in the SysML language representing a common type of modeling element or stereotype. We will use capitalized Block to stand for the railway element, lower case block for the SysML term)
- LightSignal is a three-way signal (red/yellow/green) visible to an oncoming train, controllable by a digital message from a remote controller.
- Switch is a railway switch with two positions, also remotely controllable.
SysML also allows us to model the behavior of these fundamental structural elements. In Figure 2, a Block can be in one of two states, Clear or Occupied. Similar state machine behavior is shown in Figure 3 and Figure 4 for LightSignal and Switch, respectively.
From these simple elements, we will build more complex elements in Part 2 and then simple rail systems in Part 3. The final two parts planned for the blog series will consider behavior, as captured in SysML sequence diagrams, and generation of simulation models, such as in Simulink, from the SysML-based architecture model.