Download as pdf or txt
Download as pdf or txt
You are on page 1of 8

2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

“©2004 IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promo-
tional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component
of this work in other works must be obtained from the IEEE.”

Using UML in Control and Automation: A Model Driven Approach

Kleanthis C. Thramboulidis
Electrical & Computer Engineering, University of Patras, 26500 Patras, Greece, e-mail: thrambo@ee.upatras.gr

ment of complex control systems. Heck et al. give in [2] a


Abstract—The Function Block (FB) has been defined by the tutorial overview of specific new software technologies that
International Electro-technical Commission as the basic con- are useful for the implementation of complex control sys-
struct for the development of reusable, interoperable, distrib- tems and claim that component based architectures, and the
uted control applications. However, the FB does not exploits object-oriented approach are technologies very promising
recent advances in software engineering. The Unified Model- for the control and automation application domain. Object-
ing Language (UML) is the new industry standard for model-
Technology has attracted the interest of researchers in con-
ing software-intensive systems. UML brings in the develop-
ment process the best software engineering practices. In this trol and automation from the early 90’s.
paper, we examine the use of UML in control and automation In this paper, we examine the use of the Unified Model-
and describe the use of a hybrid approach in the development ing Language (UML) [4], which is the new industry stan-
process of distributed control systems. The proposed approach dard for object-oriented development, in the control and
integrates UML with the already well accepted by control en- automation domain. We discriminate and briefly describe
gineers FB construct, to cover the analysis and design phases three approaches that dominate the DCS domain. We have
of the development process. A model driven approach is adopted, in the context of the CORFU project, the so called
adopted to move from analysis through design, to implementa- “hybrid approach”. This approach integrates UML with the
tion. The applicability of the UML profile for Schedulabity,
already well accepted by control engineers FB construct, to
Performance and Time, to the proposed development process,
is also examined. cover the analysis and design phases of the development
process. A model driven approach is followed to move
Index Terms— Control and automation, Distributed Con- from analysis through design, to implementation. IBM’s
trol Systems, UML, Function Block, model driven develop- Rational Rose is utilized to cover the analysis and early de-
ment, UML profile. sign phases. CORFU FBDK is used to automate the trans-
formation of the so created UML models to FB design
I. INTRODUCTION models. These design models are next translated to execu-
table models following a fully automated model-to-model
The majority of today’s Distributed Control Systems transformation process. Two alternatives for the implemen-
(DCSs) consist of industrial-grade computers or PLCs, tation model are considered and briefly described. The ap-
which are interconnected by dedicated fieldbus networks. plicability of the UML profile for Schedulability, Perform-
Control applications are usually developed in the form of ance and Time (SP&T) [5] to the proposed development
large monolithic software packages that are difficult to process, is also examined. A simplified control system, the
maintain, modify, and extend [1]. The market is dominated Teabag Boxing Control System (TBCS), is used as a run-
by a small number of very large corporations with proprie- ning example throughout the paper.
tary solutions and the engineering tools used in the devel- The remainder of this paper is organized as follows: In
opment and deployment processes address a little, or not at the next section, we refer to UML, as a notation to model
all, dimensions such as modularity, flexibility, extensibility, software systems and we briefly present a historical per-
reusability, and interoperability. Even one of the most com- spective that exploits the power of this new industry stan-
mon design and analysis tools for control systems, the fam- dard. In section 3, we discriminate and briefly describe
ily of MATLAB products, tends to generate monolithic three possible scenarios for the development of today’s
rather than component based C language code, which DCSs. Our model driven approach is described in section
makes the validation and code update more difficult as re- 4. In section 5, the applicability of the UML profile for
ported by Heck et al. in [2]. SP&T is examined. Finally, we conclude the paper in the
The International Electro-technical Commission (IEC), last section.
in an attempt to define an open standard for DCSs, has de-
fined the basic concepts and a methodology for the design II. UML: A MODELING NOTATION
of modular and re-usable systems. The IEC61499 standard
[3] defines the Function Block (FB) as the main building A . Modeling of software systems
block and the way that FBs can be used to define robust, re-
Modeling, which is as old as engineering, is the design-
usable software components that constitute complex DCSs.
ing of software applications before coding. It is an essential
However, the FB approach does not incorporate current
part of large software projects, and helpful to medium and
practices of software engineering. Advances in software
even small projects as well [6]. A large number of methods
technologies may facilitate the development and deploy-

1
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

have been proposed, in the last years, to support the crea- odyssey of UML is in evolution.
tion of models for software systems. Until 1989 the pro- Kobryn in [14] placed the end of this odyssey to 2001
posed methods followed the structured approach with the but UML 2.0 had a long way to go. Crawford in [15] notes
structured analysis and structured design (SA/SD), created that “proposals of the UML2 are now under consideration,
by Yourdon and Constantine in 1987, to be considered the and what’s clear is the future is unclear.” As Miller in [16]
most widely used method. An updated version of this argues, UML1 unified several of the competing schools of
method, called Modern Structured Analysis, was published modeling; however some equally important ideas for good
in 1989 by Yourdon. However, this method did not attain OO design did not influence the language. Further more, a
wide acceptance since: a) the complexity of today’s sys- lot of problems have been cited as for example by Kobryn
tems is almost impossible to be handled by the traditional in [14] and [17], and by Dori in [18]. These errors are wait-
procedural-like approaches, and b) many new proposals, ing for a solution in UML2. A spirited debate on the future
following the more promising object-oriented (OO) ap- of UML is in evolution. Five groups submitted proposals in
proach, appeared at the same time. The great advantage of response to the OMG RFPs but hopefully there is a desire
the OO paradigm, which has been gradually accepted dur- for a consensus version as reported by Miller in [19]. They
ing the last decade, is the conceptual continuity across all all agree, as reported by Miller and Mukerji in [20], that
phases of the software development process [7]. In the UML2 should be in the context of OMG’s Model Driven
90’s, at least 20 object-oriented methods have been pro- Architecture (MDA) initiative, which considers as primary
posed in books and many more have been proposed in con- artifacts of software development not programs, but models
ference and journal papers. A survey and a classification created by modeling languages. Artifacts of the Unified
scheme for object-oriented methodologies can be found in Modeling Language should be used to create the platform
[7]. In the same article, the author states that, “after more independent model, which should then be mapped by a
than thirty years since the first OO programming language model compiler into a platform-specific model, as Mellor
was introduced, the debate over the claimed benefits of the states in [21].
object-oriented paradigm still goes on. But there is no The large number of practitioners and researchers that
doubt that most new software systems will be object- have adopted UML at a rate exceeding even OMG’s most
oriented; that no-body disputes.” Wieringa surveyed, in [8], optimistic predictions is a strong argument for UML ver. 2
state-of-the-art structured and object-oriented development to follow an evolutionary rather than revolutionary ap-
methods. He identifies the underlying composition of struc- proach. However, as Selic et al. state in [22], “the same
tured and object-oriented software specifications and inves- forces have also created a strong pressure to improve the
tigates in which respect OO specifications differ essentially effectiveness of UML and provide it with a multitude of
from structured ones. The last specification method in his new features.” The one thing that is accepted by all parties
catalogue of OO methods is the Unified Modeling Lan- is that the language’s popularity has confirmed the urgency
guage version 1.0. for a standard communication medium for humans and
UML is the new industry standard for modeling soft- software tools. It is already widely accepted that UML2
ware-intensive systems. UML was conceived as a general- will drive the software development industry for the next
purpose language for modeling object-oriented software decades.
applications. The language represents a further abstraction UML is methodology-independent, which means that
step away from the one provided by high level program- UML can be used as a notation to represent the deliverables
ming languages, which are close to the underlying imple- defined by the methodology regardless of the type of meth-
mentation technology. The easiest answer to the question odology used to perform the system’s development, i.e.
“what is UML?” is, according to Quatrani [9], the follow- whether it is rigorous such as the Unified Process that is
ing: “UML is the standard language for specifying, visual- defined by Jacobson et al. in [23], or lightweight such as
izing, constructing, and documenting all the artifacts of a the Extreme Programming that is defined by Paulk in [24].
software system.” In any case, the methodology will guide the engineer in de-
ciding what artifacts to produce, what activities and what
B . UML: A historical perspective workers to use to create and manage them, and how to use
The UML started out as a collaboration among three those artifacts to measure and control the project as a whole
outstanding methodologists: Grady Booch, Ivar Jacobson as is reported by Booch et al. in [25].
and James Rumbaugh. At a first step Booch and Rumbaugh The twelve diagram types that can be used to model
collaborated to combine the best features of their individual every aspect of the system make UML extremely expres-
object-oriented analysis and design methods reported in sive, allowing multiple aspects of a system to be modeled at
[10] and [11] correspondingly and they presented at the same time. However, this expressiveness comes at a
OOPSLA in 1995, the Unified Method version 0.8. At that price. UML is extremely large with many notational possi-
time, the Unified Method was both a language and a proc- bilities as claimed by LeBlanc and Stiller in [26]. Thram-
ess. Later, Jacobson joined the group and contributed the boulidis in [27] presents a subset of the UML that repre-
best features of the OOSE methodology that is presented in sents the core of the language. The presented subset will
[12]. The result of this collaboration was the separation of allow the control engineer to understand the basic concepts
the language from the process, which was later described in of the language and communicate through UML diagrams,
[13]. The language was defined and was presented in 1996 the knowledge of the DCS that is under development.
as UML 0.9. Later, in January 1997 they submitted their Last years there is a trend to use UML in control, indus-
initial proposal as UML 1.0. Since then the standardization trial automation, as well as in industrial enterprise integra-

2
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

tion. A lot of papers present examples of using the UML in the reference architecture defined in IEC61499. Also the
many different levels of manufacturing information sys- Profinet Engineering Model, which is the proposal of the
tems. However, there is a wide gap between the state-of- Profibus User Organization to achieve open distributed
the-art in software engineering and the state of practice in automation, even though non IEC-compliant, is planned to
industrial applications. have an IEC-compliant mapping in the near future.
The big advantage of this approach is that it exploits the
III. CONTROL AND AUTOMATION SOFTWARE experience of industry’s practitioners and easily integrates
DEVELOPMENT: POSSIBLE SCENARIOS the big number of existing legacy applications and systems.
However, it does not exploit all the benefits of object and
In this section we try to address the following question component technologies.
“So, what is the future in control and automation software
development?”. We discriminate three possible directions: C. The Hybrid approach
• UML-based approaches, This approach integrates the UML notation with the
• Function Block-based approach, and function block concept. However, this integration is done
• Hybrid approaches integrating UML with the from different perspectives. Brennan et al. in [40] describe
Function Block concept. two approaches for modeling decentralized Manufacturing
We next make a brief reference to these approaches. Systems with UML capsules. They propose the modeling of
the control system at the conceptual level using UML-RT
A. UML-based approaches
[41] and then they propose a mapping of UML-RT to IEC
According to this approach the standard UML notation 61499 models that are used for the implementation of con-
is used to produce the models of the control system. This is trol application. However, a) the described model is not
the approach proposed by many researchers such as Doug- implementable (at least with the information given in the
las in [28], Gomma in [29], Young et al. in [30], and paper), b) no evidence for a reference implementation is
Mosemann and Wahl in [31]. The system is represented us- given, and c) it is quite difficult for control engineers to
ing multiple models. Each model describes the system from model in UML-RT.
a distinctly different perspective. Three kinds of views are The approach presented by Thramboulidis in [42], and
defined at the top level [33]. The structural classification Thramboulidis and Tranoris in [39] and [43], considers the
view considers the things of the system and their relation- use of the UML notation in the requirements specification
ships with each other. Class diagrams are used to express phase using the concept of use case. The UML analysis
the static view of the system, use case diagrams to express models are next transformed to FB based models, applying
the use case view, and component and deployment dia- a set of well-defined mapping rules. A specific tool, the
grams to express the implementation view. The dynamic CORFU model transformer, automates this process.
behavior view describes the different aspects of the applica- In this paper, we adopt a model driven development
tion’s dynamic behavior. Statechart diagrams are used to process and describe the process of moving from FB-design
express the state machine view; activity diagrams to ex- models to implementation models.
press the activity view; sequence and collaboration dia-
grams to express the interaction view of the system. The IV. A MODEL DRIVEN APPROACH
model management view describes the organization of the
system models into hierarchical units. Class diagrams are The Model Driven Architecture (MDA) [47], which is
used to express the organization of the system models into consistent with the MIC paradigm firstly presented by Szti-
hierarchical units. panovits et al. in [44], is an initiative that considers as pri-
The big disadvantage of this approach is that it is a com- mary artifacts of software development not programs, but
pletely new approach for practitioners in control and auto- models created by modeling languages. Artifacts of the
mation, which are mainly accustomed with IEC languages UML are used to create the platform independent model,
and concepts. which then is mapped by a model compiler into a platform-
specific model. In this way the development process is de-
B. Function Block-based approach fined as a transformation of models, which constitute in-
stances of meta-models that are defined by domain experts.
This approach, which is the one proposed by the evolv-
To illustrate the proposed approach we are using as run-
ing IEC standards 61499 and 61804 [34], is based on the
ning example our Teabag Boxing system (TBS) case study.
function block construct. Although many researchers are
TBS is a simplified version of a real system used in the pro-
already working on different aspects of the IEC proposal as
duction chain of packed teabags. The system receives tea-
for example Vyatkin and Hanisch [35], Brennan and Norrie
bags from a teabag producer, checks their weight and for-
[36], Fletcher and Norrie [37], Thramboulidis and Tranoris
wards them either for packaging to a valid-teabag con-
[38], the absence of tools and products that are compliant
sumer, or for recycling to an invalid-teabag consumer. TBS
with this approach is evident. The Function Block Devel-
is composed of: a) a scale, for weighing teabags, b) a
opment Kit (FBDK) by Rockwell Automation and the
feeder, for rejecting out-of-range teabags, and c) 3 con-
CORFU-FBDK [39] are the only known tools supporting
veyor belts for moving teabags.
this approach.
Figure 1 presents the environment model of the Teabag
However, it should be mentioned that the IDA architec-
Boxing System (TBS) and its main components: a) the
ture, which is proposed by the IDA group (http://www.ida-
TBCS that is the controlling system, and b) the Teabag
group.org), proposes an application model that is based on

3
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

Boxing Mechanical Process (TBMP) that is the controlled analysis domain metamodel. However, the proper stereo-
system. Sensors and actuators are embedded in the Teabag types should be embedded as primitive constructs in the
Boxing Mechanical Process. CASE tool.
We consider the development of the mechanical process, Use cases are used as a means to capture requirements.
namely the TBMP, to be carried out independently of the Table I presents the list of use cases for the TBS. For each
development process of the controlling system. A more use case an initiating Industrial Process Terminator (IPT) is
promising approach based on model integration is proposed defined which is either the Operator or an entity of the me-
in [32]. This approach is the first step to what we call chanical process.
Model Integrated Mechatronics.
Figure 2 presents an abstract model of the Teabag Box- Table I : Use cases for the TBCS
ing Mechanical Process with the appropriate primary sen- Use case title Initiating IPT
sors and actuators. 1 Initialize TBS Operator
2 Stop system Operator
3 Weight teabag Scale (S0)
4 Cary teabag on conveyer-2 Feeder (S1)
5 Cary teabag on conveyer-1 belt-1 Scale (S6)
6 Cary teabag on conveyer-1 belt-2 Conveyer1 (S4)
7 Valid-teabag finished processing Conveyer1 (S3)
8 Teabag recycled Conveyer2 (S5)
9 Feeder Arm Reaches Initial Position Feeder (S2)

We next give the “Carry Teabag to conveyor-1 belt-2”


use case to demonstrate our slightly modified notation for
Fig. 1. The Teabag Boxing System use cases to capture the semantics of control applications.

Use case: Carry Teabag to conveyor-1 belt-2


Initiating IPT: Conveyor-1 belt-1 IPP: Teabag leaving
Conveyor-1 Belt-1 (S4)
Involved IPTs: Conveyor-1 Belt-1 M3 (out), Conveyor-1-
Belt-2 M2 (out)
Precondition: Conveyor1-Belt-1 is in the MOVING state.
Description
The Conveyor-1 Belt-1 notifies the system (through S4)
Fig. 2. Abstract model of the Teabag Boxing Mechanical Process. that the Teabag has been moved on conveyor-1 belt-2. The
system decrements the internal representation of the num-
A. Applying the Model Driven Approach
ber of teabags on conveyor-1 belt-1. If the number of tea-
Domain specific model interpreters are used by CORFU bags is zero it sends a STOP message to conveyor-1 belt-1
FBDK to transform the more-PIM, to more-PSM with the (M3). The system checks the number of teabags on con-
objective to obtain a fully automated production of the im- veyor-1 belt-2 (internal representation). If the number of
plementation model. CORFU FBDK fully exploits the teabags is zero it sends a MOVE FORWARD message to
IEC61499 function block concept and the UML notation, conveyor-1 belt-2 (M2) and increments the number. The
as well as current practices in distributed real-time soft- use case is terminated.
ware. Domain mapping rules are used to describe the map- Postcondition: Conveyor-1 belt-2 is in the MOVING state.
ping of the source-domain metamodel constructs to target- Exceptions: [tbd]
domain metamodel constructs. Figure 3 illustrates the
model driven approach adopted for the transformation of For the use case realization, we use Component Interac-
UML analysis models to FB design models. tion Diagrams (CIDs) of two levels of abstraction: a) the
first-level CID, which captures the interactions of the con-
Domain mapping Design Domain trol application represented as a component, with external
Analysis Domain
Metamodel
rules Metamodel entities, and b) the second-level CID (detailed-CID), in
which the components required to compose the system for
implements
the described behavior to be obtained, should be identified
and their collaboration should be defined. Figure 4 presents
UML- FB-based
the detailed CID of the “Carry Teabag to conveyor-1 belt-
CORFU Model
based Transformer Model 2”. This CID is considered as the first formal realization of
Model this use case. Components of type IPT stereotype and FB
stereotype are used to create the component collaboration
Fig. 3. The model based transformation process. required for the system to implement the described use
case.
The control engineer using a CASE tool, such as the The CORFU model-to-model transformer that has been
IBM’s RT Rose, defines, in terms of UML, the require- implemented as part of the CORFU FBDK, automatically
ments model of the control application as an instance of our translates the UML analysis model, to FB-based design

4
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

model. Timing constraints that have already been expressed


in the form of end-to-end response time in CID diagrams, A prototype model transformer for C++ code was devel-
should be spitted to the corresponding FB computational oped by P.Manesis and is described in detail in [46].
path and result to: a) FB execution constraints that con-
B. Using UML-RT in the model transformation process
strains FB Execution Time (FBET), and b) message trans-
fer constraints that constraint message propagation. FBET To obtain a more flexible code generation process than
is the amount of time the FB needs to finish its reaction, the one described above, we considered the use of UML-
provided that it is not preempted by another FB. It repre- RT. Modeling constructs of IEC61499 have quite similar
sents the actual time spent on FB’s execution. FBET is used semantics with UML-RT constructs. This enables the trans-
to determine schedulability and resource utilization. The formation of FB design diagrams to equivalent UML-RT
timing constraints are attached to messages and include design diagrams. The most important task for this transfor-
deadline or priority constraint. These constraints should be mation is the definition of the FB transformation. We next
annotated on the model to make the automated software describe the FBCapsule capsule, which has been defined
synthesis process more effective. The annotated model is to represent the semantics of the IEC61499 active basic FB.
further refined and converted to a more platform specific Classes may be used to represent passive FBs to improve
model ready to be used for the production of the implemen- the efficiency of the system, but this mapping is still under
tation model. For the transformation of the design model to investigation. The class diagram of Figure 7 shows the
executable code we are briefly describing the following two composition structure of the FBCapsule, which we utilize
approaches: as a template for the transformation of application net-
1. Model transformation to C++ code, and work’s FBs to capsules of the resulting implementation
2. Model transformation to UML-RT models. model defined in terms of UML-RT constructs.
//states definition
//events definition
class <fb name>{
:
void OnEvent(<fb name>Event event);

private:
void Execute(<fb name>Event event);
bool ChangeState(void);
void SetInputEventVariables(<fb name>Event
event);
void ResetEventInputVariables(void);
void ResetEventOutputVariables(void);
:
};

Fig. 5. Part of the header file used as pattern in the C++ code generation
Fig. 4. A sample CID for the Teabag Boxing Control system. process.

#include "StdAfx.h"
Two alternative abstract implementation meta-models #include "fb6type.h"
independent of run time platform are presented and de- #include "afxwin.h"
scribed in detail by Thramboulidis et al. in [45]. <fb name>::<fb name>(void) {}//Constructor
<fb name>::~< fb name >(void){} //Destructor
void <fb name>::OnEvent(<fb name>Event event){
B. FB design model to C++/Java implementation model Execute(event);}
void <fb name>::Execute(<fb name>Event event){
The XML representation of FB design diagrams is SetInputEventVariables(event);
parsed and it is automatically translated to C++ or Java :
source code. For each FB type a C++ header and a C++ while(ChangeState()==true){
switch(current_state){
.cpp file is created. The header file contains: a) definitions :
for states, b) definitions for events, and c) a class corre- }
ResetEventInputVariables();
sponding to the FB type. Active FBs are mapped to Java }
threads or native threads in case of C++ code. ResetEventInputVariables();
A template has been defined for the generated header ResetEventOutputVariables();
}
file, as well for the .cpp file, for the transformation process void <fb name>::SetInputEventVariables(<fb
to be fully automated. Figure 5 presents part of the header name>Event event){
template and figure 6 part of the .cpp template. The exe- switch(event){
: }
cute() and changeState() methods are used to implement the }
FB’s ECC. For the definition of the body of the execute() bool <fb name>::ChangeState(void){
method the following pattern is used. bool transmission_done=0;
switch(current_state){
[for each fb state append] :}
case <fb name>_<state name>_STATE: return transmission_done;
[for each algorithm of state append] }
this-><algorithm name>; void <fb name>::ResetEventInputVariables(void){}
<external fb name>.Set<data input name>; void <fb name>::ResetEventOutputVariables(void){}
<external fb name>.OnEvent(<fb name>_
<eventname>_EVENT); Fig. 6. Part of the .cpp file used as pattern in the C++ code generation
break; process.

5
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

Figure 8 shows FBCapsule’s structural containment niques from the real-time software domain since it captures
and its communication relationships. We have mapped: a) the common elements of different real-time specific model
the input and output events of the FB to the EventPort port, analysis methods and the essential patterns that are used in
b) the input and output data of the FB to the DataPort port, deriving time based analysis models from application mod-
c) the internal data and events of the FB to corresponding els. The ESS, adopting the concept of the quality of service
classes, d) the algorithms of the FB to operations of the (QoS) through this profile, will allow the control engineer
FBBody class, and d) the head of the FB to the FBHead to attach quantitative information to FB models in a uni-
subcapsule. We have also adopted a port for the configura- form basis. QoS information annotated on the FB model
tion of the resulting capsule. should represent, directly or indirectly, the physical proper-
The resulting UML-RT model is translated to executable ties of the hardware and software environments of the sys-
model for a number of platforms using the automatic code tem that are represented by the application and system layer
generation feature of RT Rose. models as defined by the 4 layer CORFU architecture[39].
More specifically, the UML profile for SP&T by adding
to FB models specific annotations about required QoS,
should allow the new generation ESSs to: a) support the
analysis of FB models in the early development phases to
make predictions on these characteristics and detect prob-
lems that can be removed at a much lower cost and with
less rework, and b) to support the deployment process of
FB applications considering the required by the application
and the offered by the system layer QoSs.
Specific annotations on the FB model should allow a
wide variety of schedulability techniques to be applied. The
schedulability model of the system should allow the control
engineer to determine whether or not a model is schedul-
able i.e. it will be able to meet its guaranteed response
times. The ESS should allow the engineer to calculate the
schedulability of the systems i.e. its ability to meet all of the
Fig. 7. Composition structure of the FB capsule template
deadlines defined in the design space, as well as to assist
with determining how the system can be improved, as for
example suggesting for making an entity schedulable or op-
timizing system usage for a more balanced system.
The big advantage of utilizing this profile is that control
engineers should be able to construct models of their DCSs
and utilize the different type of model analysis techniques
in order to determine whether these models meet their per-
formance and schedulability requirements, without requir-
ing a deep understanding of the inner working of those
techniques. However, even though this approach is charac-
terized by its flexibility and powerfulness, it may be proved
Fig. 8. Structural containment and communication relationships of FBCap- to be a balk towards the profile’s wide adoption especially
sule.
until proper tools will appear in the market.
A detailed description of this approach is given in [45].
A prototype implementation for the TBCS has been devel- VI. CONCLUSIONS
oped using IBM’s RT Rose to demonstrate the applicability In this paper we have examined the use of the UML in
of the approach. the development process of DCSs. We adopted a hybrid
approach that integrates UML with the FB construct and
V. UTILIZING THE UML PROFILE FOR SCHEDULABILITY we described our model driven approach that can lead the
PERFORMANCE AND TIME engineers through a model transformation process from the
UML use case requirements models to FB-design models
The UML profile for SP&T Specification is an attempt
and then to the implementation model through the use of
of OMG to add in the standard UML notation, lacking
UML-RT. The proposed model driven approach enables us
quantifiable notions of time and resource that will allow the
to fully exploit available distributed real-time software
use of UML in the real-time and embedded domain. The
technologies such as real-time Java, real-time Linux, real-
profile utilizes the lightweight extensibility mechanisms of
time CORBA, real-time UML and XML in the domain of
UML to model resource and time-related aspects that con-
DCSs. The exploitation of these technologies for the im-
stitute the key characteristics of timeliness, performance
plementation of the IEC-compliant CORFU system plat-
and schedulability. The created framework is general
form greatly enhances the development cycle of DCSs.
enough to be adopted and specialized by the FB-based ap-
The UML profile for Schedulability, Performance and
proach in the development of DCSs. It will allow the next
Time, may be exploited to improve the development proc-
generation ESSs to support many different analysis tech-

6
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

ess and allow the schedulability analysis of the control ap- [23] I. Jacobson, G, Booch, J. Rumbaugh, “The Unified Process”, IEEE
Software, Vol. 16, No. 3, May/June 1999.
plication as well as its deployment to the execution envi-
[24] N.C. Paulk, “Extreme programming from a CMM perspective”, IEEE
ronment. However, a UML profile for control and automa- Software, Vol. 18 No 6 , Nov.-Dec. 2001.
tion should provide the best alternative for the development [25] G. Booch, Rumbaugh, J., Jacobson, I., The Unified Modeling Lan-
of control applications. Such a profile should primarily in- guage User Guide, 1999, Addison Wesley Longman Inc.
tend to tailor UML towards the control and automation do- [26] C. LeBlanc and E. Stiller, “UML for Undergraduate Software Engi-
neering”, JCSC 15, 5 (May 2000), Consortium for Computing in
main. It should provide to modelers: a) access to common Small Colleges.
model elements, and b) terminology from the control and [27] K. Thramboulidis, “Unified Modeling Language: The Industry Stan-
automation domain. dard for Object-Oriented Development”, chapter in Industrial Infor-
mation Technology Handbook, CRC Press, (forthcoming).
[28] B. Douglas “Doing Hard Time: Developing Real_time Systems with
VII. ACKNOWLEDGMENTS UML, Objects, Frameworks, and Patterns”, Addison Wesley 1999.
[29] H. Gomma, Designing Concurrent, Distribute, and Real-Time Appli-
I gratefully thank the CORFU development group and cations with UML, Addison Wesley 2000.
especially Peter Manesis for the prototype implementation [30] K., Young, R. Piggin, P. Rachitrangsan, “An Object-Oriented Ap-
of the FB-to-C++ model transformer, and Alexandros proach to an Agile Manufacturing Control System Design”, Int.
Journal of Advanced Manufacturing Technology, Vol. 17, Springer-
Fantzis for the prototype implementation of the TBCS us- verlag 2001.
ing IBM’s RT Rose. [31] H. Mosemann, F. Wahl, “Automatic Decomposition of Planned As-
sembly Sequences Into Skill Primitives”, IEEE transactions on Ro-
VIII. REFERENCES botics and Automation, Vol. 17, No. 5, October 2001.
[32] K. Thramboulidis, “Model Integrated Mechatronics: An Architecture
[1] R. Lewis, Modeling control systems using IEC 61499, The Institution for the Model Driven Development of Mechatronic Systems”, 2nd
of Electrical Engineers, 2001. IEEE International Conference on Mechatronics, Istanbul, Turkey
[2] B. Heck, Wills, L. and Vachtevanos G. “Software Technology for 2004.
Implementing Reusable, Distributed Control Systems”, IEEE Control [33] J. Rumbaugh, I. Jacobson, G., Booch, The Unified Modeling Lan-
Systems Magazine, February 2003. guage – Reference Manual, 1999, Addison Wesley Longman Inc.
[3] IEC Technical Committee TC65/WG6, IEC61499 Industrial-Process [34] IEC Technical Committee No. 65C: Digital Comm., WG 7: Function
Measurement and Control – Specification, IEC Draft 2000. blocks for Process Control , IEC1804 General Requirements, IEC
[4] OMG, “OMG Unified Modeling Language Specification”, Version Draft 1999
1.5, Object Management Group Inc., http://www.omg.org/technol- [35] V.Vyatkin, H.Hanisch, “Formal-modelling and Verification in the
ogy/documents/formal/uml.htm Software Engineering Framework of IEC61499:a way to self-
[5] OMG, “UML Profile for Schedulability, Performance, and Time verifying systems”, IEEE Conference on Emerging Technologies in
Specification, Ver. 1.0, September 2003. Factory Automation (ETFA'01), Proceedings, Nice, pp 113-118, 15-
[6] OMG, “Introduction to OMG’s Unified Modeling Language”, avail- 18 October, 2001.
able on line, http://www.omg.org/gettingstarted/ what_is_uml.htm. [36] X. Brennan, X. Norrie, “Agents, holons and function blocks: distrib-
[7] L. Capretz, “A Brief History of the Object-Oriented Approach”, uted intelligent control in manufacturing, Journal of Applied System
Software Engineering notes vol. 28, no. 2, ACM SIGSOFT, March Studies”, Special Issue on Industrial Applications of Multi-Agent and
2003. Holonic Systems 2(1) (2001), 1-19.
[8] R. Wieringa, “A Survey of Structured and Object-Oriented Software [37] M. Fletcher, D. Norrie, “Real-time Reconfiguration using an IEC
Specification Methods and Techniques”, ACM Computing Surveys, 61499 Operating System”, International Parallel and Distributed
Vol. 30, No. 4, December 1998. Processing Symposium (IPDPS), San Francisco 2001.
[9] T. Quatrani, “Introduction to the Unified Modeling Language”, Ra- [38] K. Thramboulidis, C. Tranoris, “An Architecture for the Develop-
tional Rose 2001, White paper, Available Online: ment of Function Block Oriented Engineering Support Systems”,
http://www.rational.com/media/uml/intro_rdn.pdf?SMSESSION=NO IEEE International Conference on Computational Intelligence in Ro-
[10] G. Booch, Object-Oriented Analysis and Design with Applications, botics and Automation, Canada, August 2001.
second edition, Benjamin/Cummings Pub. Company, Inc.1994. [39] K. Thramboulidis and C. Tranoris, “Developing a CASE Tool for
[11] J. Rumbaugh, et al., Object-Oriented Modeling and Design, Prentice Distributed Control Applications”, International Journal of Advanced
Hall International 1991. Manufacturing Technology (forthcoming).
[12] I. Jacobson, Object-Oriented Software Engineering: A Use Case [40] R. Brennan, S. Olsen, M. Fletcher, D. Norrie, “Comparing two Ap-
Driven Approach, ACM Press, Addison Wesley 1992. proaches to Modelling Decentralized Manufacturing Control Systems
[13] I. Jacobson, G, Booch, J. Rumbaugh, The Unified Software Devel- with UML Capsules”, Proceedings of the 13th IEEE International
opment Process, Addison Wesley 1999. Workshop on Database and Expert Systems Applications
[14] C. Kobryn, “UML 2001: A Standardization Odyssey”, Communica- (DEXA’02).
tions of the ACM, October 1999, Vol. 42, No.10. [41] B. Selic, Rumbaugh, J. “Using UML for Modeling Complex real-
[15] D. Crawford, “Editorial Pointers”, Communications of the ACM, Time Systems”, Rational Software, 1998.
November 2002, Vol. 45, No.11. [42] K. Thramboulidis, “Using UML for the Development of Distributed
[16] J. Miller, “What UML Should Be”, Communications of the ACM, Industrial Process Measurement and Control Systems”, IEEE Con-
November 2002, Vol. 45, No.11. ference on Control Applications (CCA), September 2001, Mexico.
[17] C. Kobryn, “Will UML 2.0 Be Agile or Awkward?”, Communica- [43] C. Tranoris, K. Thramboulidis, “Integrating UML and the Function
tions of the ACM, January 2002, Vol. 45, No.1. Block concept for the development of distributed control applica-
[18] D. Dori, “Why Significant UML Change is Unlikely”, Communica- tions,” 9th IEEE International Conference on Emerging Technologies
tions of the ACM, November 2002, Vol. 45, No.11. and Factory Automation, Lisbon, Portugal, 16-19 September 2003.
[19] J. Miller, “What UML Should Be”, Communications of the ACM, [44] J. Sztipanovits, G. Karsai, “Model Integrated Computing”, IEEE
November 2002, Vol. 45, No.11. Computer, April 1997.
[20] J. Miller, and J. Mukerji, “Model Driven Architecture (MDA)”, [45] K. Thramboulidis, G. Doukas, A. Frantzis, “Towards an Implementa-
Document number ormsc/2001-07-01, Architecture Board ORMSC, tion Model for FB-based Reconfigurable Distributed Control Appli-
July 9, 2001. Available online: http://www.omg.org/docs/ormsc/01- cations”, 7th International Symposium on Object-oriented Real-time
07-01.pdf Distributed Computing (ISORC’04), Viena, Austria 2004.
[21] S. Mellor, “Make Models Be Assets”, Communications of the ACM, [46] Peter S. Manesis, “Function Block to C++ Model Transformer”, the-
November 2002, Vol. 45, No.11. sis no 667/2003, Electrical & Computer Engineering, October 2003
[22] B. Selic, Ramackers, G., Kobryn, C., Evolution Not Revolution”, [in Greek]
Communications of the ACM, November 2002, Vol. 45, No.11.

7
2nd IEEE International Conference on Industrial Informatics INDIN’04, 24th -26th June, 2004, Berlin, Germany

[47] OMG, “Model Driven Architecture”, available online,


http://www.omg.org.

You might also like