Using UML in process control software design

In order to produce quality software, solely the application of programming languages and tools does not suffice. In manufacture and construction of products it is essential that preliminary model or blueprints, describing functional and physical features of the product, are built. In software development and production a similar engineering approach should also be used. Software engineering is a technical branch which provides methods and activities for modelling and construction of quality software. Software engineering activities make use of modelling languages and graphical modelling tools. One of the currently most popular modelling languages is UML (Unified Modelling Language) [1]. UML is an object-oriented modelling language which consists of eight different diagram types. The UML diagrams describe structural, dynamic and model management view of the system. In the article we concentrate on programmable logic controllers (PLC) as the process control hardware platform. Programmable logic controllers are microprocessor devices used for sequential control. Programming languages for the PLCs are defined by the IEC 61131-3 standard [2], [3]. This standard describes five languages: instruction list and structured text are textual; ladder diagram, function block diagram and sequential function chart are graphical languages. The IEC 61131-3 languagea are not object-oriented, although they posess some of the object-oriented features. Function blocks, for example, can be viewed as classes/objects, as they encapsulate attributes and methods. Rather than object-oriented, the IEC 61131-3 languages are object-based. Nevertheless, some object-oriented modelling methods can also be used for object-based systems. In process control software, dynamic view of the system is the most important. In order to model the behaviour, we used UML statechart, collaboration and sequence diagrams. Statical view and decomposition of the software can be modelled using class diagrams. Component and deployment diagrams depict physical view of the system.