Abstract:
Complex industrial control systems, such as those used in airport baggage handling systems (BHSs), need to be designed in a way to ensure that they avoid failures. Even small failures in such systems may result in serious economic and social consequences due to delayed flights and lost bags. Consider, for example, the problems caused by failures in the BHS during the opening of a new terminal at Heathrow airport in 2008. The complexity of BHSs has also grown over the years, as exemplified by the BHS of Schiphol airport, which can handle up to 70 million bags in a year. Model driven engineering (MDE) is a modern design approach that is being touted as the next generation design methodology to deal with design complexity. MDE focuses on the specification of graphical and high-level models, often based on sound mathematical principles, from which low-level implementations are automatically derived. The use of automated code generators makes systems developed using MDE tools and techniques inherently platform and network agnostic. For safety-critical applications, designers also have access to many high-level verification and validation (V & V) techniques to validate the correctness of designs. MDE is already being used to provide robust designs, while meeting time to market pressures. MDE is the main theme of this thesis, and its usage will be illustrated in the design of complex control systems such as airport BHSs. Unlike the MDE approach, industrial control systems are traditionally designed using low-level languages such as the IEC 61131-3 standard. These languages, while suitable for small to medium scale control systems, are inherently more difficult to design, deploy and maintain compared to MDE-based approaches. IEC 61499 is a recent open standard that is proposed to facilitate a component-based graphical approach for the design of industrial control systems. This thesis adopts IEC 61499 as the main basis for an MDE-based development approach. However, the standard lacks rigorous mathematical semantics that is the cornerstone of MDE. Hence, this thesis makes two key contributions, as outlined below: (a) A denotational, compositional semantics for IEC 61499 function blocks is proposed. The proposed semantics is based on the well-known synchronous languages and is proposed to remove any semantic ambiguity. (b) Some syntactic sugar has been developed to allow Statechart-like hierarchy and concurrency to define the behaviour of a basic function block. This is done by defining a new language, similar to Statecharts, called hierarchical and concurrent ECCs (HCECCs). HCECCs extend the conventional execution control charts (ECC) as used in the standard. Importantly, HCECCs can be automatically transformed to a standards compliant form using the developed semantics. Thus, this thesis, for the first time proposes a graphical synchronous language that combines the block-diagram based control/data-flow notation of IEC 61499 with the elegance of Statecharts to create a new MDE framework for complex control system design. In order to illustrate the efficacy of the proposed approach, a compiler has been developed, and this compiler is integrated into two commercial integrated development environments (IDEs). Subsequently, these IDEs have been used to design a small scale BHS in collaboration with a local BHS company. This case study, and several other benchmarks illustrate the effectiveness of the proposed approach.