Proposal of an Integrated Object-Oriented Environment for the Design of Supervisory Software for Real-Time Industrial Automation Systems
Becker, Leandro Buss; Pardi Jr., Wilson & Pereira, Carlos Eduardo Universidade Federal do Rio Grande do Sul (UFRGS) Departamento de Engenharia Elétrica Av. Oswaldo Aranha, 103 sala 206 Porto Alegre – RS – Brasil, 90035-190
[email protected], {wilsonjr, cpereira}@iee.ufrgs.br
Abstract The object-oriented paradigm has been used extensively both in CASE tools for modeling and design of distributed real-time systems as well as in software tools for developing supervisory control systems. Supervisory tools are very useful in the context of real-time industrial automation systems. Recent researches prove that the use of object-orientation paradigm in the development of these systems tend to produce better-structured and more reusable programs. This paper analyses, using case studies, some of the widely used commercial tools for modeling and supervisory control generation. After that, some case studies using the analyzed tools are reported and finally a proposal of an integrated object-oriented environment for application development and monitoring is made. This work is part of an ongoing research project that has been developed at the Industrial Automation Lab. of Federal University of Rio Grande do Sul in Brazil.
1. Introduction and Motivation
One of the principal characteristics in industrial automation systems is the high degree of coupling of these systems to industrial plants, in which material,
energy, and information are processed. The dynamics of the processes in the system under control impose timing constraints that need to be fulfilled by the automation system. In this way, the characterization of the dynamic behavior of several components in an industrial plant is very important to the development of an automation system. A way to achieve a better understanding of the dynamic model of an automation system is through simulation. We can understand a simulation model as a representation of an object, system, or an idea, showing the same behavior in the aspects related to the study of that model. In other words, a simulation model is nothing more than an abstraction of related entities that emphasizes in the important aspects of the problem. In an opposite way to the simulation model, a supervisory system aims to control a system already implemented to achieve a proper operation of that system in real-time, having the possibility to change its parameters on the fly. It also allows that users at different levels of the system can see and change some specifications without disturbing the proper control of the system. Nowadays, the object-oriented paradigm has been successfully used in the development of distributed realtime systems, specially those conceived for industrial automation [3]. The results from that study motivated
the utilization of the object-orientation paradigm in this work, that is part of an ongoing research project under development at the Federal University of Rio Grande do Sul (UFRGS). Its main target is the definition of an integrated environment with properties that reuse the simulation elements in the supervision of the real application. This work is inserted into a larger project of the Research Group from the Industrial Automation Laboratory of UFRGS, that approaches several items related to the development of real-time systems. Among these projects, it can be pointed out the analysis and specification of communication protocols for Fieldbus; the elaboration of efficient communication mechanisms among distributed objects and the development of UML metamodels to make consistence checking. This paper is divided as follows: the next section analyses the state of art of some existing commercial tools; on section three the studied tools are compared and the proposed environment is presented; finally on section four some preliminary conclusions are observed.
2. Analysis of the State of Art Computer aided tools are necessary to help the development process of industrial automation applications. With this trend, some development tools with proven academic and/or commercial use were selected for a detailed study, such as ObjecTime [4], SIMOO-RT [1] and Elipse. Along this section, their main characteristics are presented and discussed. The features of the analyzed tools are elucidated by means of a case study, which consists of the modeling, simulation and implementation of a small tanking system with liquid level control. The liquid level monitoring in the tank is done by a capacitive level sensor, which has its data processed by a simple hardware equipped with an A/D conversor. This hardware is connected to a PC through its parallel port. The pump used to fill up the tank is connected to the system in the same way as the level sensor (see Fig. 1).
2.1. ObjecTime The first tool analyzed is called ObjecTime (distributed by the Canadian company ObjecTime Ltd) based on the ROOM (Real-Time Object-Oriented Modeling) methodology, which was specially designed
for the development of object-oriented real-time systems [4].
Figure 1: Tank system view
ROOM has three fundamental types of classes: Actors, Protocols and Data. An actor class is related to the concept of object, the structural component of the system being described. This class specifies the actor's structure and behavior, as well as the messages it can send and receive. A protocol class is responsible for the interaction among actors and for triggering transitions of state machines. Actors communicate and interact through ports and bindings. A port is a reference to a protocol class which defines the set of messages that a port is permitted to send and receive. The binding is a connection between the ports that channels the communication or interaction. A data class can be considered as an encapsulated variable that is exchanged by different actors and is used in the actor's behavior. It can be sent and received by actors using messages, where the data in a message is processed by the behavior of the receiving actor. The tool has two principal diagrams: Structure and Behavior. The structure diagram captures the communication and containment relationships among system components. In other words, an actor class may contain references to other actor classes and a way of simplifying the design of complex actors is through the decomposition of these actors into simpler actors, described by its structure (see Fig. 2). The behavior diagram has the concept that all actors can have a behavior, which defines how the actor responds to incoming messages. The behavior is specified via a finite state machine. When an actor receives a message, a transition may occur causing the finite state machine to perform a specific action, and possibly move to a new state.
incorporates the specification of timing constraints, the possibility of specifying the temporal behavior using state-transition diagrams, as well as a code generation tool. According to SIMOO-RT methodology, the first step in the development process is the definition of an objectoriented model of the system under analysis, where this model can be simulated. For the current application, the simulation model consists of three-level hierarchy, with the first one containing just one class aggregating the rest of the system. In the second level (see Fig. 4) there are the Tank and Clock classes and the visualization entities for the simulation. Figure 2: ObjecTime structure diagram
As a code generator, ObjecTime generates C++ code separated for each actor defined in the model. Any model designed can be executed through the Simulation option (in a Unix or NT platform) within the toolset or the Target option where the model has its code generated and linked as an application that runs directly to a target architecture. The ObjecTime run-time system is show in Fig. 3: Figure 4: SIMOO-RT model editing tool (MET)
The behavior of the ‘Tank’ class, with its possible state of execution, is defined in the STDE tool as show in Fig. 5. The other components of the system (sensor and pump) are components of the ‘Tank’ class, and are inserted in the third level of the model. With the definition of this third level, the simulation is ready to be executed. A snapshot of the simulation produced can be viewed in Fig. 6.
Figure. 3: ObjecTime run-time system
2.2. SIMOO-RT The second analyzed tool was SIMOO-RT (Fig. 4), result of an ongoing research work that has been developed within the scope of a Master thesis in the Federal University of Rio Grande do Sul. SIMOO-RT extends the original SIMOO [2] environment conceived by Copstein in his Ph.D. thesis. Besides of the SIMOO capabilities of building up an object-oriented model and simulating it, SIMOO-RT
Figure 5: States of execution of ‘tank’ class
Figure 6: Snapshot of the tank system simulation
2.3. Elipse The Elipse Windows is a supervisory software for industrial processes distributed by the Brazilian company Elipse Software Ltda that allows the control of variables of a process in real-time, through graphics and animated objects as bars, trends, displays, gauges, etc. Besides that, the user can set and send or receive information to data acquisition equipments using setpoints, sliders and setbuttons, having a strong interaction with programmable logic controllers. It has an innovative structure called Organizer that permits a global vision of the application, making easy the edition and configuration of all objects concerned to the system, as a hierarchical tree of options. The concept of the Organizer can be compared to the organization of files in a hard disk. In this case, the application by itself would be the root directory of the system. From the application the user can visualize the subdirectories (considered as the fundamental pieces of a supervisory application) Tags, Screens, Alarms, Scripts, Recipes, Historics, and Reports. The Scripts are language modules (called Elipse Basic) that allows the definition of code lines, similar to the structured Basic language, giving to the user more freedom on the creation of logic related to the occurrence of specific events. It also has the possibility of statistical control of processes and dynamic data exchange. In our case study (Fig. 7), the screen of the application is composed by almost all the tank system, except by the tank figure, that was considered as a separated bitmap. The software has a concept of animation that allows the positioning of many bitmaps on the same position on the screen, where the appearance of each one is defined by a different tag.
Figure 7: Elipse supervision for the tank system
3. Comparison and Proposed Environment Comparing the analyzed tools, it's clear that they were designed for different purposes, so each tool has some qualities and also some deficiencies that are now discussed. The ObjecTime tool makes use of the objectorientation paradigm and can execute the model simulation, but has no support to make its animation. Also the temporal restrictions are considered to be of a very low level, turning difficult to be managed by the user. On the other hand, SIMOO-RT is a good simulation/animation tool and its temporal restrictions are more adequate. The behavior specification mechanism is done with state machines, like in ObjecTime. Finally, in the analysis of Elipse can be seen that it’s a powerful tool to make systems supervision, but it doesn’t support the system modeling and even less the object-orientation paradigm. Table 1 resumes the analyzed features from the studied tools: Items: OO Modeling Support Visualization/Animation Supervision Real-Time Code Generation Class Library Included Integration between Description (Model/Application) and Visualization
SIMOO-RT √ Weak √ √ Interface Elements
ObjecTime √ Poor √ √ Protocols
Elipse √ √ Small Bitmaps with Tags
Table 1: Tools comparison
Based on results presented before, that can be generalized to other existing commercial tools, an
integrated environment is proposed, which aims to incorporate the possibility of using the same objectoriented model of the technical plant for simulation, automation software code generation and supervisory control. This environment will be based on SIMOO-RT, incorporating to it features to support the application supervision process. The development process of the desired environment will be divided in two phases, as follows. In the first phase, it will be included in SIMOO-RT a class library with the most common entities used in the development of industrial automation systems (e.g. sensors, heaters, pumps, etc.) to facilitate the definition of the simulation model. Besides that, to make easy the use of the defined class, a new ‘front-end’ to the ‘Instance Diagram’ used in SIMOO-RT editor will be implemented, allowing the “drag-and-drop” of these elements. The new elements can be associated with the several object states of execution , making the animation automatically:
support in modeling, in a general view, don’t permit supervision (for example, ObjecTime and SIMOO-RT) and tools with powerful graphic resources to animation don’t have a conceptual model that allows the description of structure and behavior of the system being visualized (for example, Elipse). This work has presented a proposal of an integrated development tool with the desired features.
5. Acknowledgments This project has been financially supported by CAPES, CNPq and FAPERGS (Brazilian Research agencies). The authors also would like to thanks all SIMOO and ADOORATA project partners for their fruitful technical discussions that have contributed to some of the ideas implemented.
6. References [1] Becker, L. B. and Pereira, C. E. "SIMOO-RT: An Integrated Object-Oriented Environment for the Development of Distributed Real-Time Systems" Paper submitted to: EUROMICRO'99 - 11th European Conference on Real-Time Systems, York - England, June - 1999.
[2] Copstein, B. ,Wagner, F. and Pereira, C. E. "SIMOO - An Environment for the Object-Oriented Discrete Simulation" Proceedings for ESS'97 - 9th European Simulation Symposium, Passau - Germany, October - 1997.
Figure 8: Elements associated with object states
Continuing the development process, the next phase is to bring the ‘visualization elements’ used in the simulation to the executable environment of the application generated by SIMOO-RT, i.e., the QNX operation system. This suggests the need of an interface protocol, between the application objects and the visualization elements.
4. Preliminary Conclusions The analysis of the state-of-art confirmed the initial expectation that one of the big problems in current systems is the weak interaction between modeling, visualization, and supervision. Tools that have a good
[3] Pereira, C. E. and Darscht, P. "Using Object-Orientation in Real-Time Applications: an Experience Report" Proceedings of TOOLS Europe'94, Versailles - France, 1994.
[4] Selic, B., Gullekson, G. and Ward, P. Real-Time ObjectOriented Modeling, John Wiley and Sons, 1994.