Paper Menu >>
Journal Menu >>
|  Journal of Software Engineering and Applications, 2011, 4, 217-226  doi:10.4236/jsea.2011.44024 Published Online April 2011 (http://www.SciRP.org/journal/jsea)  Copyright © 2011 SciRes.                                                                                 JSEA  217 Towards a Model-Driven IEC 61131-Based  Development Process in Industrial Automation*  Kleanthis Thramboulidis1,2, Georg Frey2  1Electrical and Computer Engineering, University of Patras, Patras, Greece; 2Saarland University, Saarbrucken, Germany.  Email: thrambo@ece.upatras.gr, kleanthis.thramboulidis@mx.uni-saarland.de, georg.frey@aut.uni-saarland.de  Received March 14th, 2011; revised March 24th, 2011; accepted March 27th, 2011.  ABSTRACT  The IEC 61131-3 standard defines a model and a set of programming languages for the development of industrial au- tomation softwa re. It is widely accep ted by indu stry and most of the commercia l tool vendo rs advertise comp liance with  it. On the other side, Model Driven Development (MDD) has been proved as a quite successful paradigm in gener- al-purpose computing . This was the motivation for exploiting th e benefits of MDD in the industrial automa tion domain.  With the emerging IEC 61131 specifica tion that defines an object-orien ted (OO) extension to the function block model,  there will be a push to the industry to better exploit the benefits of MDD in automation systems development. This work  discusses possible alternatives to integrate the current but also the emerging specification of IEC 61131 in the model  driven development process of automation systems. IEC 61499, UML and SysML are considered as possible alterna- tives to allow the developer to work in higher layers of abstraction than the one supported by IEC 61131 and to more  effectively move from requirement specifications into the implementation model of the system.  Keywords: In d ustri al  Aut o m a t i on Systems, Model Driven Development, IEC 61131, System Modeling, UML, SysML,  IEC 61499, Development Process  1. Introduction  The IEC 61131-3 standard [1] has been adopted by the  industry and is widely used by control engineers in speci-  fying the software part of systems in the industrial auto- mation domain. However, it imposes several restrictions  for the development of today’s complex systems. There is  a trend to exploit best practices from the desktop applica- tion domain. Object orientation, component based deve-  lopment and model driven engineering are among these  widely accepted best practices. Several research groups  are already working to this direction, e.g., [2-5]. Standar- dization is also following this trend. The IEC 61499 stan-  dard [6] is considered as an extension of IEC 61131, to  address among others object oriented (OO) concepts and  the IEC 61131 working group is currently discussing an  Object-Oriented extension to the standard [7].  Model Driven Development (MDD) was widely ac- cepted as a successful paradigm in the desktop domain.  The key issue in MDD is that models have become pri- mary artifacts of software design, shifting much of the  focus away from program code. Thus MDD refers to “a  set of approaches in which code is automatically or semi  automatically generated from more abstract models, and  which employs standard specification languages for de- scribing those models and the transformations between  them” [8].    According to this definition the use of the Function  Block Diagram (FBD) graphical programming language  of IEC 611131-3 in the specification of the design model  of the controller’s software and its subsequent automatic  translation to executable code for the target PLC platform,  characterizes the development process as model driven,  at least partially. Moreover, existing tools provide support  for code generation for several execution platforms. This  leads to the following question: what is all this research  about defining MDD approaches based on IEC 61131-3  and 61499, in the industrial automation domain?    The drawback of the IEC 61131 FBD is that it provi-  des only one kind of diagram that can be used to constru-  ct the model of the application software. This diagram is  composed of FB instances and their interconnections. A  similar diagram is also found in IEC 61499. In this paper,  we refer to this diagram with the term Function Block  *The authors would like to thank Stifterverband für die Deutsche Wis- senschaft and ME Saar for partially funding this project.   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  218 Network (FBN). The FBN is used in the FBD language  to model the structure and the behavior of Programs or  FBs. Taking into consideration now that the Unified Mo-  deling Language (UML) and the Systems Modeling Lan-  guage (SysML) use several diagrams for the definition of  the application’s structure and behavior, it is clear that the  one diagram used by IEC 61131 is not enough to cons-  truct a reliable and expressive model for the application  software. This means that all discussion about an MDD  approach based on 61131 has to do with the use of more  diagrams to allow:  1) more abstract models to be constructed, and    2) more aspects of the system to be captured in order  to have a more complete and comprehensible model of  the system.    In this paper, IEC 61499, UML and SysML are consi- dered as candidate notations to address this challenge. In  a first step the IEC 61131 FBD notation is analyzed from  the viewpoint of the object oriented paradigm. This is a  prerequisite in order to have a sound and clear understan-  ding of the OO concepts supported by the 61131 FBD  notation. It will also simplify the process of mapping this  notation to the three other notations that are examined in  this paper. Instead of what is widely believed, IEC 61131  has already introduced in the industrial automation do- main, at least at the specification level, basic concepts of  the OO paradigm.    The Festo MPS laboratory system, a well documented  system used by many universities for research and educa-  tion purposes, is used as a running example in this paper.  It is composed of three units. The Distribution unit, which  is composed of a pneumatic feeder and a converter, for- wards cylindrical work pieces from a Stack to the Testing  unit. The Testing unit performs checks on work pieces for  height, material type and color. Work pieces that suc- cessfully pass this check are forwarded to the rotating  disk of the Processing unit, where the drilling of the work  piece is performed as the primary processing of this sys-  tem. The result of the drilling operation is next checked  by the checking machine and the work piece is forwarded  for further processing to another mechanical unit. A de- tailed description of the system, as well as a design of the  control application based on the IEC 61499 can be found  in [9].  The remainder of this paper is organized as follows:  Section 2, presents the related work on using UML and  SysML. In section 3, the IEC 61131 FBD notation is exa-  mined in detail from the object oriented viewpoint. The  focus is on structure and behavior definition of Function  Block type and Function Block network. In Section 4, we  consider the potentials of using IEC 61499, UML and  SysML towards a more effective MDD process based on  the IEC 61131 FBD notation. The paper is concluded in  the last section.  2. Related Work  There are already several works that try to integrate IEC  61131 with UML and SysML. Vogel-Heuser, et al. in [10]  describe the automatic generation of IEC 61131 code ex-  pressed in Structured Text (ST) and Sequential Function  Chart (SFC) from UML 1.4 diagrams. Class diagrams are  used to capture the structure of the application, while state  charts are considered similar to SFCs and they are used to  capture the behavior. The authors do not map the UML  class to FB directly but instead they propose a complex  implementation of the class concept using nested FBs.  Furthermore, the object oriented view of the FB construct  is not exploited and the FB diagram is considered as a  diagram to capture behavior.   Ramos et al., in [11] describe an OO environment they  have developed for the development and implementation  of distributed process control systems. This environment  is based on the integration of UML with IEC 61131 and  Simulink. They use class diagrams and statechart diagra-  ms to create the requirements model of the application  and they implement a mapping of SFC to UML state- charts. In fact they use UML as an intermediate model in  their transformation from Simulink and IEC 61131 to  Java code.    Sacha in [12] describes an approach that allows the de-  veloper to model the behavior using UML state charts  which are verified using UPPAAL, a model checking tool  for timed automata. These state charts are then automati- cally transformed to an IEC 61131 program for STEP 7.  This work does not give any focus on the structural aspe-  cts of the application and does not use scenario and ac- tivity diagrams that provide a more effective modeling  process for the behavior, when used in combination with  state charts.    A UML specialization for process automation (UML-PA)  is presented by Katzke, et al., in [13]. The authors pro- pose the use of only six UML diagrams for the modeling  of the system and the use of IEC 61131 languages to de- scribe the actions in UML state charts. However, a speci-  fic mapping between these six UML diagrams and the  corresponding IEC 61131 code is not given.  SysML is evaluated in [14] by Chiron et al., as a mod- eling notation for programmable logical controllers. Even  though the authors propose the use of block definition  diagram (bdd) of SysML to represent structure, they con- sider the internal block diagram (ibd) of SysML as the  proper diagram to represent the IEC 61131 FBN. They  use atomic flow ports to represent the interconnection  points of the FB with the environment, and the activity  diagram to represent the behavior. In the decomposition  process of the program they use the term task and this is   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  219 confusing for those that are familiar with IEC 61131. In  general the authors use the SysML to represent the appli-  cation design at the same level of abstraction as the one  presented using IEC 61131 FBD.    In all the above works, the authors do not exploit the  OO aspects of IEC 61131 which results into inefficient  mappings of UML and SysML to IEC 61131. We are not  aware of any work that exploits the OO view point of  IEC 61131 to propose an effective MDD process based  on UML or SysML.  3. IEC 61131: The OO Point of View  The FBD language of IEC 61131-3 has already introdu-  ced a few basic concepts of the object oriented program- ming paradigm, in the automation domain. The FB con- cept can be used to capture the structure and behavior of  a collection of objects (instances) that may be used in an  automation project. In the Festo MPS case study, the  Feeder FB is the software representative of the real world  feeder of the mechanical part of the laboratory system  into the software domain. Figure 1(a) presents the Feed- er FB that captures the interface of the corresponding  software module, while Figure 1(b) presents its behavior  using SFC. Input variables are used to get the sensor va-  lues; output variables are used to affect the feeder’s actu- ators; and internal variables are used to store the state of  the object.  3.1. The Function Block  The FB icon is a graphical representation, i.e., a view  element, of the FB concept and it can be considered as a  design time construct. There is also a textual construct to  represent this concept. The graphical representation of  the FB may be compared with the UML class design  construct and the textual one with the class construct of  OO languages such as Java and C++. It should be noted  that the IEC 61131-3 allows a mixing of various textual  and graphical languages to be used for the program spe- cification which is not common in software engineering  notations. Common programming languages use mainly  only a textual representation, while UML or similar gra-  phical notations for modeling, are based mainly on gra-  phical symbols. In general, the Function Block (FB), (we  use the term FB for the function block type and the term  instance when we refer to an FB instance) may be consi- dered as a special kind of class with several restrictions  but also extensions.  In a similar way to the class, it has  a name; it defines the state of its instances using a set of  local variables, declared either textually or graphically;  and it defines the behavior of its instances through its  body. However, there are several differentiations regard- ing:   1) Behavior  There is a restriction in the behavior definition; only  one method can be defined1 However, this method  usually captures all the different behaviors exhibited by  the FB instance in response to the various messages an  instance receives from the environment. This means that  there are no method signatures as in common OO lan- guages; actually there is no signature even for this one  method defined by the FB body. This method is executed  when the FB instance is called. The call of the FB in- stance depends on the language used, but in all the cases  at least the name of the FB instance followed by a list of  actual parameters is used. Based on this description of  the FB concept, the FB can be considered as a special  type of class that defines the behavior of its instances by  only one method. The specification of this method can be  given either in textual or in graphical notation. One or  more FBNs can be used to graphically specify the beha- vior. The SFC is more convenient in the case that the FB  directly implements a state machine. In practice, com- mercial tools do not support parallel branches of SFC in  FB specification, even though this is not defined by the  standard. If parallel branches of SFC are supported, the  IEC 61131 FB will be much more powerful construct  compared to the IEC 61499 FB. A comparison of the  semantics of SFC with those of the state chart is given in  [4]. A textual representation can also be used to specify  the behavior.  2) Structure   There are no formal parameters defined for the method  of the FB, but instead input and output variables are used  for this purpose. This means that input and output varia-  bles have semantics similar to the method formal para- meters, even though they are defined along with local va-  riables as part of the structure of the FB instances. Input  and output variables may be considered analogous to the  flow ports defined by SysML, which constitute part of  the structure of the classifier. This means that UML ag- gregation of type composite is supported by FBs. It  should be noted that it is not possible to define an FB va-  riable as public, so there is no direct access to the FB sta-  te variables from outside of the FB. Output variables may  be used to export state information.  3) Instantiation    Instantiation is not permitted during run time; all the  instantiations should take place during the deployment of  the part of the application that corresponds to the specific  FB diagram. An instantiation is forced on every variable  declaration of FB type. This means that only the compo-  site kind of aggregation, which is called PartAssociation  in SysML, is implemented. This kind of association im- plies that the composite object is responsible for the exis-  1The OO extension of the FB construct that is under discussion in IEC  is not taken into account in this section.   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  220 (a)  (b)  Figure 1. IEC 61131 FB for the Festo MPS feeder: (a) interface, (b) behavior specification using SFC.   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  221 tence and storage of the composed objects, i.e., its parts.    4) Inheritance   Inheritance between FB types is not supported.  5) Interface   Interface definition is not supported.  3.2. The Function Block Network  The FBN is a design time artifact. Even though the FBN  can be considered as a structural specification diagram  like the composite structure diagram of UML 2.0 or the  internal block diagram (ibd) of SysML, it is actually used,  according to the standard, to capture the behavior of Pro- grams and FBs. The closest UML diagrams that can be  compared with the FBN are the activity and collaboration  diagrams. However, the execution semantics of the FBN,  and more specifically those related to the execution order  and flow of control are quite different from the ones of  the above diagrams. Moreover, the level of abstraction  applied in FBN is lower compared to the level of abstrac- tion of the UML diagrams. In the activity and collabora- tion diagrams of UML, the execution order and flow of  control may be captured on the diagrams and explicitly  specified by the designer. On the other hand, there are  predefined execution semantics in FBN, such as the order  of calling functions or FB instances. It is the responsibil- ity of the designer to ensure that the proposed design ex-  ploits properly the predefined execution semantics in or-  der to get the desired behavior. The FBN is analogous to  the abstract syntax tree generated by a C compiler to cal-  culate the value of an expression. Like the Activity dia- gram, the FBN diagram captures the activities that have  to be performed and the flow of information between  these activities. An FBN that includes only FB instances  is more close to a collaboration diagram with the restric- tion that every object has one method.    Message passing between the nodes of an FBN is not  realized in terms of method call that is the common me- chanism for message passing in OO languages. In fact,  there are no method signatures, but just one FB method  which is activated when the FB instance is called. An FB  instance can be called by any Program Organization Unit  (POU) that has visibility access to it. The FB method is  executed on the specific instances structure, i.e., inputs,  state and output. The result is normally: 1) a new instan-  ce state that is captured in the instance’s internal varia-  bles, in the case of state depended behavior, and 2) a res-  ponse to the environment that is captured by the instan-  ce’s output variables and the value of the FB call. Messa-  ge passing between FB instances allocated in different  resources in the same configuration is implemented by  global variables (VAR_GLOBAL) of the configuration,  while between those allocated in different configurations  is implemented through access paths defined in configu- rations with VAR_ACCESS.  4. Towards a More Effective Modeling   Process for IEC 61131   4.1. The Need for More Diagrams and for   Higher Levels of Abstraction in   Application Modeling  As it was stated above, the IEC 61131-3 FBD language  can be considered as a realization of the MDD paradigm  in the industrial automation domain. However, it can be  used to model the application to a very low level of abs-  traction, very close to the executable code. It does not al-  low the designer to capture in a graphical way all the  aspects of the application, as for example its structure.  Moreover, even though the execution semantics are well  defined and common for all the IEC 61131-3 compliant  execution environments, it is more informative for the  control engineer to have a graphical representation of this  information using sequence or activity diagrams. In this  case, these diagrams may be used even before the assign-  ment of the application activities to function blocks, al- lowing a more flexible transition from the system re- quirements to the application design specifications.    In order to increase the effectiveness of this MDD pro-  cess, more models should be exploited, e.g., to capture  the behavior, and also new ones more abstract should be  used, e.g., to support the definition of the structure of the  application. These models, if properly defined, would be  automatically transformed to the IEC 61131 FBD nota- tion and finally to executable code for existing run-time  environments. In this section, three notations are consi- dered as possible candidates for such an extension of the  IEC 61131-based modeling process:    1) the IEC 61499 function block model,    2) the UML, and    3) the systems modeling language SysML.  Moreover, it should be noted that the device centric  approach, which is currently used with the IEC 61131,  does not provide a strong request for higher layers of ab-  straction in the development process. However, this ap- proach does not allow for the adoption of a synergistic  development process of the constituent parts of the au- tomation system that is the current trend in Metchatronic  systems development [15], such as the industrial automa- tion systems. The application centric paradigm, that is  proposed to better fit with the synergistic development of  the constituent parts of the automation system, is almost  impossible to be applied without special emphasis on the  architecture of the system. This is why UML and SysML  may be used as early specifications of the automation  system, during the development process, before the 61131  one. In [16] a detailed discussion, including examples, is   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  222 given on the limitations of IEC 61499 to be used as nota- tion for architectural specification. On the other hand  UML and SysML are widely accepted as architecture  specification languages.  4.2. Using IEC 61499  The IEC 61499 FB model has been proposed by IEC as  an extension of the IEC 61131 FB one to exploit OO  concepts and address several other challenges in indus- trial automation systems, such as interoperability, porta- bi-lity, run-time reconfigurability, etc. However, even  though several researchers have published many articles  on the applicability of the new standard, e.g. [17], and  also on the migration from IEC 61131 to IEC 61449,  such as Gerber et al., in [18] and Hussain et al. in [19],  the industry has not yet made serious steps towards its  adoption [16]. When the first proposal for the Object-  Oriented extension of IEC 61131 FB model was presen-  ted by CODESYS, a debate has raised between the two  communities [20]. Does the industry need both standards  or the new version of IEC 61131 will officially denote  the abandonment of IEC 61499? Or, in other words, what  is the value added of IEC 61499 compared to IEC  61131?   In this subsection we assess the potential of using IEC  61499 to enhance the IEC 61131 development process.  Due to our assumption to be compliant with the execu- tion semantics of IEC 61131 that includes execution of  the program based on cyclic or periodic mode, the events  of IEC 61499 FB, at least those that interconnect the  FBN with the controlled system, are useless. Based on  this, the main differences between IEC 61131 and IEC  61499 FB are:    1) The IEC 61499 uses the ECC to capture the dyna-  mic behavior of its instances. However, this is nothing  more than a graphical way of representing the IEC 61131  FB body that can also be done using SFC, as shown in  Figure 1.  2) The ability to specify in IEC 61499 the behavior to  incoming events as independent distinct algorithms (me- thods). This allows for a more modular FB body but since  there is no support for inheritance there are no direct be-  nefits regarding reusability.  It should be noted that the restriction of IEC 61499 to  disallow a direct method call bypassing the ECC is con- sidered very positive for this kind of systems. However,  the introduction of the algorithm scheduling function im-  poses a very heavy constraint on the Safety Integrity Le-  vel that can be obtained using IEC 61499.    The differences are more important when we consider  the FBNs. As already mentioned the IEC 61131 FBN is  used to model the behavior. The IEC 61499 FBN is quite  similar to the UML composite diagram or the SysML  internal block definition (ibd) diagram. It represents the  structure of the application or the composite FB and all  the possible interactions among them. Figure 2 presents  an FBN for the distribution unit of the Festo MPS exam- ple application. As argued by Thramboulidis et al. in [21],  the FBN is not considered appropriate for behavior mod- eling. This means that the IEC 61499 does not provide a  better way to capture the behavior of the application  compared to the IEC 61131. It is only the FBN that has  to be evaluated as a possible diagram to enhance the IEC  61131 development process. But as argued in [19], the  IEC 61499 is not considered as an effective architecture  specification language.  Based on the above analysis, the authors do not see  any valuable benefit in using IEC 61499 to enhance the  IEC 61131 development process. It does not provide di- agrams for higher level of abstractions models, nor even  diagrams to effectively model the other aspects of the  application.  4.3. Using UML  It is evident that a specific UML class may be used to re-  present the IEC 61131 FB. Moreover, several UML dia- grams can be used to create more abstract models of the  application, compared to the one supported by the IEC  61131 FBD. More specifically:    1) The UML composite diagram can be used to cap- ture the structure of programs and FBs.    2) The state diagram can be used to capture the beha- vior of programs and FBs.    3) The sequence and/or activity diagrams may be used  to model the behavior in terms of interactions between  FB instances, and to model the behavior of an enclosing  FB.  4) The class diagram may be used to represent the  structure of the PLC infrastructure.    5) The deployment diagram may be used as graphical  representation of a configuration.  To have a better exploitation of the above UML dia- grams in the domain of IEC 61131, a UML profile may  be defined. This profile will contain stereotypes for the  main key constructs of IEC 61131. For example the spe- cific UML class that will be used to represent the IEC  61131 FB will be a stereotype of this profile. This profile  will allow the industrial engineer to build the models  using already known constructs and at the same time to  work in the UML abstraction layer. This means that it is  possible to create the model of the application in more  abstract format compared to IEC 61131, while still using  the IEC 61131 basic terminology. Specific model-to-model  transformers are required to have an automatic transfor- mation of the UML application specification to an IEC  61131 based one, which will be subsequently translated   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  223 Figure 2. IEC 61499 function block network for the Festo MPS distribution unit.  using existing tools to executable code for commercial  run-time environments. The definition of the meta-models  of the source and target domains, as well as the set of  mapping rules between them, is a prerequisite for this ap-  proach to be effectively implemented. A problem with  UML is that the class concept is specifically defined to  support the OO programming paradigm, so UML does  not provide inherent support for the procedural paradigm  that is also supported by IEC 61131. This is why SysML  is considered a better choice for building a more effective  higher layer of abstraction on top of IEC 61131.  4.4. Using SysML  The construct of block that is the basic static, structural  construct of SysML, is broader than the UML class. The  block can be used to represent the modular units of sys- tem description. A block can define the “type of logical  or conceptual entity, a physical entity, a hardware, soft- ware or data component, a person, a facility, an entity that  flows in the system or even entities from the environ- ment” [22]. This means that the block construct of SysML  may be used to represent not only an FB, but also a func- tion and a configuration. The <<FB>> stereotype will be  used to represent the IEC 61131 FB and the <<Func- tion>> stereotype will be used to represent the IEC 61131  function. In a similar way <<Program>> and <<Confi- guration>> will be defined to represent a program and a  configuration respectively. The SysML block definition  diagram (bdd) can be used to capture the structure of  configurations, programs and also FBs that may accept  FB instances as input variables. Figure 3 shows the bdd  for the Distribution Unit block of the Festo MPS mod- eled in SysML. It consists of a Feeder FB instance, a  Converter FB instance and an FB instance of type Dis- tributionUnit, that coordinates these.  The same diagram presents also the interfaces of Fee-  der and Converter, as well as the flow specifications for  the interactions of real world feeder and converter with  the corresponding FB instances. The SysML internal blo-  ck diagram (ibd) can be used to capture the interconnec- tions among the constituent parts of constructs, such as  configurations, programs and also FBs that may accept  FB instances as input variables.    The sequence diagram can be used to capture the inter-  actions of the system components in the context of a par-  ticular operation of the system. The SysML sequence  diagram, shown in Figure 4, captures the interaction of  the system components in the context of the reaction of   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  224 Figure 3. SysML block definition diagr am (bdd) for  the festo MPS distribution unit.  the control application to the sensor event frontPosRea-  ched that comes from the corresponding sensor of the  mechanical Feeder.  From SysML design diagrams as the ones shown in  Figures 3 and 4, using proper model-to-model transfor- mers, we may get the corresponding IEC 61131 design  diagrams for the application. In this way SysML can be  used to provide a completely graphical environment for  modeling control applications in a higher and also more  expressive layer than the one already supported by IEC  61131 market tools. This profile can be developed from  scratch or more effectively based on an existing profile in  the embedded real-time systems domain, such as the  MARTE profile [23]. Assuming that the corresponding  profile will be standardized, this approach will result in a  uniform way of modeling industrial automation software  that will hide the proprietary individual characteristics of  IEC 61131 tools at the modeling layer.  5. Conclusions  The IEC 61131-3 standard has already introduced in the  industrial automation domain basic concepts of the OO  paradigm, even though these are not widely exploited in  practice by existing development tools. It has also intro- duced the use of graphical notations, i.e., the use of mod- els, in the development process. The FBD language is an  attempt to use graphical models in the development pro-  cess that is one of the basics of model driven develop- ment paradigm. However, the FBD notation does not  support modeling at high levels of abstraction, that is  required when the size and complexity of the application  is increasing. Moreover, it does not allow the modeling  of all aspects of the application.    We have discussed, in this paper, three notations as  candidates to address the increasing size and complexity  of industrial applications. IEC 61499, UML and SysML  were examined for possible integration with IEC 61131  to increase the effectiveness of the IEC 61131-based de- velopment processes. IEC 61499 does not provide any  valuable benefit in enhancing the IEC 61131 development  process. UML may be successfully used, but SysML  seems to better match the semantics of IEC 61131. With  a proper profile, SysML can be used to define a comple-  tely graphical environment that will allow the industrial  automation developer to create the model of the applica-  tion and automatically transform it to IEC 61131 speci- fication. This integration may also hide the proprietary  individual characteristics of IEC 61131 market tools at   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  225 Figure 4. SysML Collaboration diagram for the reaction of the Feeder unit to the frontPos-  Reached signal of the corresponding Feeder sensor.  the modeling layer and result in a uniform modeling no- tation.  REFERENCES  [1] International Electrotechnical Commission, “IEC Interna- tional Standard IEC 61131-3: Programmable Controllers,  Part 3: Programming Languages,” IEC, 2003.  [2] G. Doukas and K. Thramboulidis, “A Real-Time Linux  Based Framework for Model-Driven Engineering in Con- trol and Automation,” IEEE Transactions on Industrial  Electronics, Vol. 58, No. 3, March 2011, pp. 914-924.  [3] D. Streitferdt, G. Wendt, P. Nenninger, A. Nyssen and H.  Lichter, “Model Driven Development Challenges in the  Automation Domain,” 32nd Annual IEEE International  Conference on Computer Software and Applications,  Turku, 28 July-1 August 2008, pp. 1372-1375.  [4] S. Panjaitan and G. Frey, “Combination of UML Model- ing and the IEC 61499 Function Block Concept for the  development of Distributed Automation Systems,” 11th  IEEE International Conference on Emerging Technolo- gies and Factory Automation, Prague, September 2006,  pp. 766-773.   [5] K. Thramboulidis, D. Perdikis and S. Kantas, “Model  Driven Development of Distributed Control Applica- tions,” The International Journal of Advanced Manufac- turing Technology, Vol. 33, No. 3-4, 2007, pp. 233-242.  [6] International Electrotechnical Commission, “International  Standard IEC61499, Function Blocks, Part 1-Part 4,” IEC,  2005.  [7] B. Werner, “Object-Oriented Extensions for IEC 61131,”  IEEE Industrial Electronics Magazine, Vol. 3, No. 4,  2009, pp. 36-39.    [8] B. Selic, “From Model-Driven Development to Model-  Driven Engineering,” 19th Euromicro Conference on  Real-Time Systems, Pisa, 4-6 July 2007.   [9] K. Thramboulidis, “Design Alternatives in the IEC 61499  Function Block Model,” 11th IEEE International Confe- rence on Emerging Technologies and Factory Automa- tion, Prague, September 2006, pp. 1309-1316.  [10] B. Vogel-Heuser, D. Witsch and U. Katzke, “Automatic  Code Generation from a UML model to JEC 61131-3 and  System Configuration Tools,” International Conference  on Control and Automation, Budapest, 27-29 June 2005,  pp. 1034-1039.  [11] D. N. Ramos-Hernandez, P. J. Fleming and J. M. Bass,  “A Novel Object-Oriented Environment for Distributed  Process Control Systems,” Control Engineering Practice,  Vol. 13, No. 2, 2005, pp. 213-230.  [12] K. Sacha, “Verification and Implementation of Dependa- ble Controllers,” 3rd International Conference on De- pendability of Computer Systems DepCoS-RELCOMEX,  Szklarska Poreba, Poland, June 2008, pp. 143-151.  [13] U. Katzke and B. Vogel-Heuser, “Combining UML with  IEC 61131-3 Languages to Preserve the Usability of  Graphical Notations in the Software Development of  Complex Automation Systems,” 10th IFAC, IFIP, IFORS,  IEA Symposium on Analysis, Design, and Evaluation of  Human-Machine Systems, Seoul, September 2007.  [14] F. Chiron and K. Kouiss, “Design of IEC 61131-3 Func- tion Blocks Using SysML,” Mediterranean Conference  on Control & Automation, Athens, 2007.  [15] K. Thramboulidis, “The 3 + 1 SysML View-Model in  Model Integrated Mechatronics,” Journal of Software  Engineering and Applications, Vol. 3, No. 2, 2010, pp.  109-118.  [16] K. Thramboulidis, “IEC61499 Function Block Model:  Facts and Fallacies,” IEEE Industrial Electronics Maga- zine, Vol. 3, No. 4, December 2009, pp. 7-26.   [17] A. Zoitl and V. Vyatkin, “IEC 61499 Architecture for   Towards a Model-Driven IEC 61131-Based Development Process in Industrial Automation  Copyright © 2011 SciRes.                                                                                 JSEA  226 Distributed Automation: The ‘Glass Half Full” View’,”  IEEE Industrial Electronics Magazine, Vol. 3, No. 4,  2009, pp. 7-23.    [18] C. Gerber, H. M. Hanisch and S. Ebbinghaus, “From IEC  61131 to IEC 61499 for Distributed Systems: A Case  Study,”  EURASIP Journal on Embedded Systems, Vol.  2008, Article ID 231630, p. 8.    [19] T. Hussain and G. Frey, “Migration of a PLC Controller  to an IEC 61499 Compliant Distributed Control System:  Hands-on Experiences,” 21st IEEE International Confe- rence on Robotics and Automation, Barcelona, 18-22  April 2005, pp. 3984-3989.  [20] K. Thramboulidis, “Τhe Function Block Model in Em- bedded Control and Automation: From IEC61131 to  IEC61499,” WSEAS Transactions on Computers, Vol. 8,  No. 9, September 2009, pp. 1597-1609.   [21] K. Thramboulidis, G. Doukas and A. Frantzis, “Towards  an Implementation Model for FB-Based Reconfigurable  Distributed Control Applications,” 7th International  Symposium on Object-Oriented Real-Time Distributed  Computing, Viena, 2004, pp. 193-200.  [22] OMG, “OMG Systems Modeling Language,” V1.0,  September 2007.  [23] OMG, “A UML Profile for MARTE: Modeling and  Analysis of Real-Time Embeded systems,” Beta 2, June  2008.  | 

