Int J Adv Manuf Technol (2007) 33: 233–242 DOI 10.1007/s00170-006-0455-0
ORIGINA L ARTI CLE
K. Thramboulidis . D. Perdikis . S. Kantas
Model driven development of distributed control applications
Received: 14 June 2005 / Accepted: 7 December 2005 / Published online: 19 April 2006 # Springer-Verlag London Limited 2006
Abstract Control systems rely heavily on the software that is used to implement them. However, current trends in software engineering are not fully exploited in the development process of complex control systems. In this paper, an approach for the model driven development of distributed control systems (DCSs) is presented. The proposed approach that greatly simplifies the development process adopts the function block construct introduced by the IEC 61499 standard and supports the automatic generation of implementation models for many different execution environments. It favours the deployment and re-deployment of distributed control applications and provides an infrastructure for the transparent exploitation of current software engineering practices. GME, a meta-modelling tool, was utilized to develop Archimedes, an IEC-compliant prototype engineering support system. Specific model-tomodel transformers have been developed to automate the transformation of FB-based design models to CORBAcomponent-model based implementation models to demonstrate the applicability of the proposed approach. Keywords Component based development . Distributed control systems . Function block . IEC 61499 . Industry automation . Model driven development
1 Introduction Today’s control applications are usually developed in the form of large monolithic software packages that are difficult to be maintained, modified and extended [1]. The K. Thramboulidis (*) Electrical & Computer Engineering, University of Patras, 26500 Patras, Greece e-mail:
[email protected] Tel.: +30-261-0996436 Fax: +30-261-0996820 D. Perdikis . S. Kantas Computer Engineering & Informatics, University of Patras, 26500 Patras, Greece
engineering tools that are used in the development processes address a little, or not at all, dimensions such as modularity, flexibility, extensibility, reusability and interoperability. To address these issues, the International Electro-technical Commission (IEC) has defined the basic concepts and a methodology for the design of modular, reusable distributed control systems (DCSs). The IEC 61499 standard [2] defines the function block (FB) as the main building block and the way that FBs can be used to define robust, re-usable software components that constitute complex DCSs. However, the IEC model does not fully exploit current trends in software engineering. Advances in software engineering such as model driven development (MDD) and component-based architectures, may facilitate the development and deployment of complex DCSs. CORFU ESS [3], an IEC-compliant engineering support system (ESS), integrates the unified modelling language (UML) with the IEC 61499 model and provides a first attempt to apply a model driven development process in the analysis and early design phases of control applications [4]. Other researchers are also working to provide IEC61499-compliant development environments with FBDK [5] and CORFU ESS being the only publicly available tools in this domain. Less work has been done in the direction of execution environments and the transformation of FB design models to implementation ones. FBRT [5], which is the first attempt to provide an execution environment, is based on Java and does not address realtime constraints nor the re-configuration of the application. Brennan et al. [6] propose a model based on function blocks to support configuration and reconfiguration of real time distributed control systems and discuss its implementation on real-time Java. Tangermann et al. [7] examine the possibility of implementing FB design models using the real-time specification for Java. However, except that no proof of concept neither a prototype implementation is provided for the above two approaches, it is almost impossible for control engineers that are accustomed to the IEC models and languages to utilize the proposed implementation environments and manually construct the implementation models.
234
In this paper, the process defined in [4] is extended to address the design and deployment phases of DCSs. The MDD paradigm was adopted to allow control engineers to work with the already known FB notation and automatically create from design diagrams the implementation model of the control application. The general modelling environment (GME) [8], a meta-modelling configurable toolset, was tailored to satisfy the needs for model-driven development in this domain. Concepts from the control and automation domain were captured by specific meta-models to specify the syntax of the modelling languages that are used in the proposed development process. CORBA component model (CCM) [9], the OMG’s proposal for component based development, was adopted to define an implementation model and the corresponding execution environment required to satisfy real-time constraints and allow the run-time reconfiguration of the control application. Archimedes, a prototype system platform, has been developed to demonstrate the applicability of the proposed approach. To our knowledge there is no other process or tool that automatically constructs re-configurable implementation models for IEC61499 FB-based DCSs with realtime constraints. The remainder of this paper is structured as follows. Section 2 presents a brief overview of the key enabling technologies that constitute the basis of this work. Section 3 describes the proposed model driven development process. Two approaches for the generation of the implementation model are presented and discussed. Section 4 presents Archimedes, a prototype system platform that fully supports the proposed approach. The teabag boxing system (TBS) case study is used, in Section 5, to demonstrate the effectiveness of the proposed approach. Finally, the paper is concluded in the last section.
2 Technical background 2.1 An IEC61499-complinat approach The IEC 61499 standard extends the FB construct of IEC1131 and defines it as the key abstraction for the development of distributed industrial control applications. The IEC 61499 FB is an abstraction mechanism that allows control algorithms to be encapsulated in a form that can be easily understood and applied by industrial engineers. The FB consists of a head and a body; the head is connected to the event flows and the body to the data flows, as shown in Fig. 1. An FB can be simple enough such as the one shown in Fig. 1 that identifies temperature alarms or complex such as the one that controls a complex unit of a production line. The functionality of the FB is provided by means of algorithms, which process inputs and internal data and generate output data. The sequencing of algorithm invocations is defined in the FB type specification using a variant of statecharts called execution control chart (ECC). The control application is defined as a graph of interconnected FB instances that collaborate to provide the
behaviour that is required to control the mechanical process, as shown in Fig. 2. CORFU, an IEC61499-compliant development process, adopts best practices from component-based development and utilizes specific UML diagrams that integrate with the FB concept. It exploits the well-accepted use-case concept for requirements elicitation and utilizes component interaction diagrams (CIDs) of two levels of abstraction, for their first realization. CIDs are next used to show the system’s internal components and the way they collaborate to provide the required behaviour [10]. Statecharts and class diagrams are constructed in parallel to create the analysis model of the application. The so created UMLbased analysis model is transformed to FB-based design specifications that are better understood by control engineers and increase the reusability of legacy applications. The transformation process, which is fully automated, is based on a set of transformation rules. The CORFU development process is partially supported by a prototype ESS, namely CORFU ESS. 2.2 The generic modelling environment GME is a configurable toolset with generic functionality for graphical development. It was created to support the easy creation of domain-specific modelling and program synthesis environments. GME adopts the model-integrated computing paradigm that systematically applies domainspecific modelling languages to engineer computing systems ranging from small-scale real-time embedded systems to large-scale enterprise applications [11]. GME has a modular component-based architecture that makes it easily extensible. It can be tailored to a specific application domain through the construction of meta-models that specify the modelling paradigm of the application domain. The modelling paradigm specifies the family of models that can be created using the so constructed modelling environment. The tool’s functionality can be further expanded with external software components of three categories: interpreters, add-ons and plug-ins. Interpreters can be used to generate: (1) the input for static or dynamic analysis tools, (2) configuration files for COTS tools, and
Fig. 1 The graphical representation of the IEC61499 function block type