[ieee 2006 ieee conference on emerging technologies and factory automation - prague, czech republic...

8
Empirical Evaluation of SysML through the Modeling of an Industrial Automation Unit Marcos Vinicius Linhares, Alexandre Jos´ e da Silva, Rˆ omulo Silva de Oliveira Federal University of Santa Catarina Campus Universit´ ario – Trindade CEP:88040-900, Florian´ opolis, Brazil marcos, ajs, [email protected] Abstract Industrial automation systems may include people, hardware, software and other elements necessary to pro- duce the desirable results. The SysML modeling language is being proposed, by OMG and INCOSE, as a language that allows the system description correctly and consis- tently among various participants of the same project (software, mechanical, electrical and others engineers). The objective of this work is to evaluate the SysML pro- posal as a description language for industrial systems through the modeling of an industrial automation unit. A brief system description of the case study is included, the SysML diagrams will be presented during the system mod- eling and finally comments and considerations about the models and the modeling task are presented. 1 Introduction A system is a construction or collection of different el- ements that together they produce results that cannot be obtained by each one of its elements in separate. The el- ements, or their subparts, can include people, hardware, software and other necessary ways to produce the desired results [1]. There are several proposals that address the use of UML (Unified Modeling Language) for systems engineer- ing [2] [3]. Each approach has its own deficiencies. Some- times they create separate models that are difficult to inte- grate. Some of them break up with the standardized char- acteristics of UML. Those that know UML find it to be an efficient model- ing language, but its roots are firmly fixed in the software modeling area. The Object Management Group (OMG), responsible for maintaining the UML language, estab- lishes that the “UML is a visual and general purpose lan- guage used to specify, to visualize and to document mod- els of software systems [4].” However, many system en- gineers believe that UML is sufficiently flexible and ro- bust to support extensions and to address their specific domains. One of its strong points is the UML special- ization mechanism (that allows several applications, with their own domain characteristics) to be used together with UML profiles (encapsulating terminologies and specific substructures of a specific domain). It is believed that UML could potentially be a model- ing language for system engineers, considering analysis, design and verification of complex systems, intending to enhance system qualities, increasing the capacity to ex- change information among many engineering tools and to help to fill the gap between systems and software engi- neers [5]. In 2003, at the same time that UML 2.0 [6] was be- ing defined, OMG launched a RFP (Request For Propos- als) for a definition of a language derived from UML 2.0 for systems engineering [7]. This RFP was developed to- gether by OMG and the International Council on Systems Engineering (INCOSE). In agreement with the RFP, this new language should support the specification, analysis, design and verification of complex systems [8]. It should be done by captur- ing information of the system in a precise and efficient way, facilitating integration and reused in a larger context; analyzing and evaluating the specified systems, to iden- tify and to solve requirements of the system, to distribute projects and to support exchange among them; communi- cating the information of the systems, correctly and con- sistently among several participants of the same project (software, mechanical, electrical and other engineers). In response to this RFP, it was created the Systems Modeling Language (SysML) [9]. The objective of this work is to empirically evaluate the proposal of SysML as a language for description of industrial systems through the modeling of an experimental industrial automation unit. There are some SysML draft documents, but in this paper we use, at this moment, the latest version (1.0) which is being evaluated by the Analysis and Design Task Force (ADTF) group to become the adoption process by the OMG. It was renamed as OMG SysML [10]. The objective of this paper is to do a practical evalu- ation of the modeling language SysML, in the sense of identifying its capacities and its limitations for the mod- eling of industrial automation systems. It will be used as case study an experimental automation unit system. In 145 1-4244-0681-1/06/$20.00 '2006 IEEE

Upload: romulo-silva

Post on 24-Mar-2017

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

Empirical Evaluation of SysML through the Modeling of an IndustrialAutomation Unit

Marcos Vinicius Linhares, Alexandre Jose da Silva, Romulo Silva de OliveiraFederal University of Santa Catarina

Campus Universitario – TrindadeCEP:88040-900, Florianopolis, Brazil

marcos, ajs, [email protected]

Abstract

Industrial automation systems may include people,hardware, software and other elements necessary to pro-duce the desirable results. The SysML modeling languageis being proposed, by OMG and INCOSE, as a languagethat allows the system description correctly and consis-tently among various participants of the same project(software, mechanical, electrical and others engineers).The objective of this work is to evaluate the SysML pro-posal as a description language for industrial systemsthrough the modeling of an industrial automation unit. Abrief system description of the case study is included, theSysML diagrams will be presented during the system mod-eling and finally comments and considerations about themodels and the modeling task are presented.

1 Introduction

A system is a construction or collection of different el-ements that together they produce results that cannot beobtained by each one of its elements in separate. The el-ements, or their subparts, can include people, hardware,software and other necessary ways to produce the desiredresults [1].

There are several proposals that address the use ofUML (Unified Modeling Language) for systems engineer-ing [2] [3]. Each approach has its own deficiencies. Some-times they create separate models that are difficult to inte-grate. Some of them break up with the standardized char-acteristics of UML.

Those that know UML find it to be an efficient model-ing language, but its roots are firmly fixed in the softwaremodeling area. The Object Management Group (OMG),responsible for maintaining the UML language, estab-lishes that the “UML is a visual and general purpose lan-guage used to specify, to visualize and to document mod-els of software systems [4].” However, many system en-gineers believe that UML is sufficiently flexible and ro-bust to support extensions and to address their specificdomains. One of its strong points is the UML special-ization mechanism (that allows several applications, with

their own domain characteristics) to be used together withUML profiles (encapsulating terminologies and specificsubstructures of a specific domain).

It is believed that UML could potentially be a model-ing language for system engineers, considering analysis,design and verification of complex systems, intending toenhance system qualities, increasing the capacity to ex-change information among many engineering tools and tohelp to fill the gap between systems and software engi-neers [5].

In 2003, at the same time that UML 2.0 [6] was be-ing defined, OMG launched a RFP (Request For Propos-als) for a definition of a language derived from UML 2.0for systems engineering [7]. This RFP was developed to-gether by OMG and the International Council on SystemsEngineering (INCOSE).

In agreement with the RFP, this new language shouldsupport the specification, analysis, design and verificationof complex systems [8]. It should be done by captur-ing information of the system in a precise and efficientway, facilitating integration and reused in a larger context;analyzing and evaluating the specified systems, to iden-tify and to solve requirements of the system, to distributeprojects and to support exchange among them; communi-cating the information of the systems, correctly and con-sistently among several participants of the same project(software, mechanical, electrical and other engineers).

In response to this RFP, it was created the SystemsModeling Language (SysML) [9]. The objective of thiswork is to empirically evaluate the proposal of SysML as alanguage for description of industrial systems through themodeling of an experimental industrial automation unit.There are some SysML draft documents, but in this paperwe use, at this moment, the latest version (1.0) which isbeing evaluated by the Analysis and Design Task Force(ADTF) group to become the adoption process by theOMG. It was renamed as OMG SysML [10].

The objective of this paper is to do a practical evalu-ation of the modeling language SysML, in the sense ofidentifying its capacities and its limitations for the mod-eling of industrial automation systems. It will be used ascase study an experimental automation unit system. In

1451-4244-0681-1/06/$20.00 '2006 IEEE

Page 2: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

section 2, the SysML language is presented. In section3, the experimental automation unit system case studyis described. In section 4 the system is modeled usingthe SysML diagrams. The section 5, contains commentsabout the experience with SysML in the modeling of anindustrial automation system. Section 6, has the final con-siderations.

2 The Systems Modeling Language(SysML)

SysML is designed to provide simple but powerful con-structions for the modeling of a great variety of systemengineering problems. It reuses a subset of the UML2.0 models. This subset is called UML4SysML. Sincethat some models were modified, it is actually a profileof UML for SysML. It also provides additional construc-tions, with the objective of satisfying the needs of systemengineering and the requirements of OMG.

It is particularly effective for specifying structure, be-havior, requirements and constraints on properties of thesystem to support analysis. SysML should be supportedby two evolving interoperability standards, OMG XMI 2.1(standard for the exchange of information among model-ing tools using UML 2.0) and ISO AP233 (standard forthe exchange of information among engineering tools).

Figure 1 shows the modifications in the diagramsreused from UML 2.0 as well as the new diagrams ofSysML. The specification of SysML is classified in threebasic types of models: the structure models, the behav-ior models and the requirement models. For each onethere are defined constructions that are used in a specificmodel. Some constructions can be used together with sev-eral model types. The constructions, as well as the mod-els, are also classified in three types: the structural, thebehavioral and the cross-cutting constructions.

SysMLDiagrams

BehaviorDiagrams Diagram

Structure

ActivityDiagram Diagram

Sequence

State MachineDiagramDiagram

Use Case

RequirementDiagram

PackageDiagram

Block DefinitionDiagram

DiagramParametric

Internal BlockDiagram

Modified from UML2.0

New diagram

Same as UML2.0

Figure 1. SysML Diagrams [11]

The structural constructions, as well as the structuraldiagrams in UML, define the static and structural elementsused in SysML. The diagrams that include the structuralconstructions are: Package Diagram, Block Definition Di-

agram, Internal Block Diagram and the Parametric Dia-gram.

Some structural generic elements are: the model ele-ments (rebuild the core of UML 2.0 packages and includeextensions to provide some basic capabilities and mod-els management); the blocks (reuses and improves theclass structure of UML 2.0 to provide the basic capabil-ity of describing the decomposition and interconnectionof the system, and also different types of system proper-ties); the ports and flows (contains the semantics to definehow blocks are extended to be used together with portsand flows); and the constraint blocks (defines how blocksare extended to be used with the Parametric Diagram thatmodels the constraint network on system properties, thatis to give support to the reliability analysis and other anal-ysis).

The behavioral constructions specify the dynamic partsused in the behavior diagrams of SysML, including amongthem: the Activity Diagram (used to describe the controlflow and the input and output flow among the actions), theSequence Diagram, the State Machine Diagram and theUse Case Diagram, the same ones used in UML with littleor any modification. The behavior constructions used inthe diagrams are divided in: activities (basically, the sameones defined in UML 2.0 with some extensions to allowcontinuous elements as activity parts); interactions (whereit is defined the constructions for the behavior based onmessages used in the Sequence Diagram); State Machines(used to describe the behavior of a system based on itsstates and its transitions); and Use Cases (they describethe behavior and the use of a system in terms of its highlevel functionality, like in UML).

3 The Case Study

In the Systems and Automation Department at FederalUniversity of Santa Catarina (UFSC) there is an experi-mental unit of industrial automation that is used to demon-strate the operation of several control strategies using thesame equipments and supervision tools. Figure 2 illus-trates the experimental unit.

AutomationDomain.thePlant:ThePlant

«system»

User

Figure 2. Experimental Unit

2

146

Page 3: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

The experimental unit uses Foundation Fieldbus as thecommunication network and it allows the implementationof applications controlling the flow, level and temperatureof a fluid. The unit is composed by several intelligent de-vices, and a PLC (Programmable Logical Controller), in-tegrated in the network by an universal bridge that allowsthe connection of an Ethernet network to a FoundationFieldbus. It also has a station for operation and supervi-sion of the unit, constituted of a computer and supervisionsoftware. This software receives data acquired in the plantand presents it on the computer screen. That integrates thesupervision and the control levels of the unit.

The intelligent devices based on the Foundation Field-bus technology are capable of executing, in a distributedenvironment, all the necessary control strategies for an in-dustrial application. As a whole, the experimental unithas 9 intelligent devices: 2 valves, 4 pressure devices(2 to measure level and 2 to measure flow), 2 temper-ature sensors devices and 1 current device. The experi-mental unit is complemented by other equipments such asfrequency inverters, resistances, temperature transmitters,valves solenoids, optical level sensor, pumps and others.

4 The SysML Modeling

The experimental unit was used to evaluate SysMLmodeling. SysML models describe its structure, behav-ior and requirements from the point of view of the systemengineer.

The Block Definition Diagram (BDD) describes thestructure of the system or of a subsystem by using theblock as its basic unit. The relationships among them(composition, inheritance, aggregation and others) and thediagram format are the same ones used in the Class Dia-gram of UML 2.0. Figure 3 illustrates the Block Defini-tion Diagram for the experimental unit system. It is com-posed by three subsystems. The experimental unit wasdivided in: physical subsystem, control subsystem andsupervision subsystem. This BDD also shows how eachsubsystem is connected with each other. For example, thecontrol subsystem uses the smart devices to control thephysical subsystem.

The physical subsystem is the part of the system whichshows the physical structure in terms of installed equip-ment. The block definition diagram shown by Figure 4 il-lustrates this subsystem. It is composed by different typesof equipments such as valves, transducers, tanks and thedevices that connect the physical subsystem to the controlsubsystem.

The control subsystem contains the parts of the systemresponsible for the execution of the control strategies. Itincludes the Foundation Fieldbus network, the PLC andthe universal bridge that connects the controlled plant tothe supervision system. The supervision subsystem is re-sponsible for verifying the operation of the control strat-egy implemented through the data acquisition from thefield devices and the presentation of these to the user in

ThePlant«block»

SupervisorySubSystem«block»

1..*

PhysicalSubSystem«block»

1..*

Device«block»

1..*

ControlSubSystem«block»

1..*

1..*

DFI(Bridge)«block»

1

1

Figure 3. BDD - System Structure

a graphical form.The Internal Block Diagram (IBD) describes the in-

ternal structure of a block, its parts and the connectionsamong them. The connections are made through the useof flow ports, where matter, energy or data may flow. Ser-vice ports connect the services provided and/or requestedby a certain block. Figure 5 shows how the equipmentsare installed in the experimental unit. The flow of severalelements can be seen in the system, including both the di-rection of the flow and the specification of what flows. Forexample, FS FLUID specifies a fluid (flow specification)that passes for several elements of the system. It can beanything from water to some petroleum by-product.

Figure 6 shows the IBD of the control subsystem. It de-scribes the interconnection of several devices of the plantin a Foundation Fieldbus. It can be noticed the existenceof the flow specification that describes what is flowingamong the equipments installed in the network. Figure 7shows how the devices are connected with the supervisionstation. It presents a service view, that is, a logical viewof the system. In this case the used ports are service portsand not flow ports. Since they are reused from UML, theyinclude all the associated elements, such as the requestedinterfaces and the provided interfaces by the specified ser-vices.

In order to support analysis tasks, the Parametric Dia-gram models a network of constraints on the properties ofthe system. It can be used to identify performance param-eters, relationships among parameters and mathematicalformulas, static values or other parameters that integratethe network of constraints. The pressure device, showedin the Fig. 8 has some function blocks like AI (analoginput functions), DSP (display functions), ARTH (arith-metic functions) and others. The relationship between theparametric constraints of the ARTH block can be seen inFig. 9. It illustrates the various types of arithmetic equa-tions used in this function block. In order to know how thearithmetic function performs its operations it is necessaryto have a more detailed view of what is performed by aparametric diagram illustrated in Fig. 10.

3

147

Page 4: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

PressureDevice«block»

TemperatureDevice«block»

PositionerDevice«block»

CurrentDevice«block»

PhysicalSubSystem«block»

1..*

1..*

1

Device«block»

Tank«block»

WaterPump«block»

1..*

MixtureTank«block»

1

HeaterTank«block»

1Reservoir

«block»

1

Valve«block»

1..*

OutflowDevice«block»

1..*

LevelDevice«block»

1..*

Figure 4. BDD - Physical Subsystem

fOut:FS_FLUID

fIn:FS_FLUID

eeIn:EletricPower

ret:FS_FLUID

fOutWP2:FS_FLUIDfOutWP1:FS_FLUID

fOut:FS_FLUIDfIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUID

etIn:EletricCurrent

pLow:Pressure

ld:FS_FLUID

tOut:Temperature

fOut:FS_FLUIDfIn:FS_FLUID

pHigh:PressurepLow:Pressure

ld:FS_FLUID

tempOut:Temperature

fOut:FS_FLUID fIn:FS_FLUID

pHigh:Pressure

AO1_OUT:EletricCurrent

AI1_IN:Temperature

fIn:FS_FLUID

fOut:FS_FLUID

pLow:Pressure

pHigh:Pressure

fOut:FS_FLUID

fIn:FS_FLUID

eeIn:EletricPower

fOut:FS_FLUID

fIn:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUID

AI1_IN:Temperature

pLow:Pressure

pHigh:Pressure

fIn:FS_FLUID fOut:FS_FLUIDepInWP1:EletricPower epInWP2:EletricPower

fIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUIDfIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUIDfIn:FS_FLUID

fOut:FS_FLUID

fIn:FS_FLUID

fOut:FS_FLUID

PhysicalSubSystem«block»

wp1:WaterPump1..* «block»

start():void

eeIn:EletricPower

fIn:FS_FLUID

fOut:FS_FLUIDrsv:Reservoir

1 «block»

fIn:FS_FLUID fOut:FS_FLUID

fOutWP1:FS_FLUID fOutWP2:FS_FLUID

ret:FS_FLUID

ot1:OutflowDevice1..* «block»

fIn:FS_FLUID

fOut:FS_FLUID

ht:HeaterTank1 «block»

pHigh:Pressure

fIn:FS_FLUID fOut:FS_FLUID

tOut:Temperature

ld:FS_FLUID

pLow:Pressure

etIn:EletricCurrent

mt:MixtureTank1 «block» pHigh:Pressure

fIn:FS_FLUIDfOut:FS_FLUID

tempOut:Temperature

ld:FS_FLUIDpLow:Pressure

v1:Valve1..* «block

fOut:FS_FLUID

fIn:FS_FLUID

wp2:WaterPump1..* «block»

start():void

eeIn:EletricPower

fIn:FS_FLUID

fOut:FS_FLUID

ot2:OutflowDevice1..* «block»

fIn:FS_FLUID

fOut:FS_FLUID

pt2:PositionerDevice1..* «block»fOut:FS_FLUID

fIn:FS_FLUID

tt2:TemperatureDevice1..* «block»

AI1_IN:Temperature

lt2:LevelDevice1..* «block»pHigh:Pressure

pLow:Pressure

v6:Valve1..* «block

fOut:FS_FLUID

fIn:FS_FLUID

v7:Valve1..* «block

fOut:FS_FLUID

fIn:FS_FLUIDv9:Valve

1..* «block

fOut:FS_FLUID

fIn:FS_FLUID

ct1:CurrentDevice1 «block»

AO1_OUT:EletricCurrent

lt1:LevelDevice1..* «block»

pHigh:Pressure

pLow:Pressure

tt1:TemperatureDevice1..* «block»

AI1_IN:Temperature

pt1:PositionerDevice1..* «block» fOut:FS_FLUID

fIn:FS_FLUID

v4:Valve1 «block»

fOut:FS_FLUID

fIn:FS_FLUIDv8:Valve

1..* «block

fOut:FS_FLUID

fIn:FS_FLUID

v3:Valve1 «block»

fOut:FS_FLUID

fIn:FS_FLUIDv2:Valve1 «block»

fOut:FS_FLUID

fIn:FS_FLUID

v5:Valve1..* «block

fOut:FS_FLUID

fIn:FS_FLUID

epInWP2:EletricPowerepInWP1:EletricPower fOut:FS_FLUIDfIn:FS_FLUID

Figure 5. IBD - Physical Subsystem

The objective of the Use Case Diagram (UC) is toshow, in a simplified way, the behavior of a system to anagent that is external to the system. It presents the systemfrom the user’s perspective, including functions, servicesand identifying which user is related to them. This dia-gram is used to describe how the system is used. Figure11 shows the unit from the point of view of its operation.Of all the diagrams, the Use Case is the most abstract, flex-ible and informal. It serves as the base for other diagrams,specially the sequence diagram.

In order to describe the control flow between the users

and the system or between parts of the system it is usedthe Sequence Diagram (SD). It identifies the sequence inwhich the events happen in a certain process or case. Itshows the elements involved in the dispatch of the eventsand the order in which they are dispatched. This diagramis based on the use case diagram, usually a sequence dia-gram for each use case. Obviously the sequence diagramis also related with the block definition diagram sincethese are the interaction elements of the system. Figure12 shows the case of plant operation.

The State Machine Diagram (STM) is used to show the

4

148

Page 5: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

fbusfp:FS_TP

fbusfp:FS_TDT

fbusfp:FS_TDC

fbusfp:FS_TDN

fbusfp:FS_TDV

rs485fp:FS_CLP

tdt:FS_TDTtdn:FS_TDN tdv:FS_TDVtp:FS_TPtdc:FS_TDC

clp:FS_CLPpc:FS_ETH

ethfp:FS_ETH

ControlSubSystem«block»

FoundationFieldbus_BUS1

plc:PLC1 «block»

rs485fp:FS_CLP

dfi:DFI(Bridge)1 «block»

pc:FS_ETH clp:FS_CLP

tdc:FS_TDC tp:FS_TP tdv:FS_TDVtdn:FS_TDN tdt:FS_TDT

ld:LevelDevice1..* «block» fbusfp:FS_TDN

od:OutflowDevice1..* «block» fbusfp:FS_TDV

pd:PositionerDevice1..* «block» fbusfp:FS_TP

td:TemperatureDevice1..* «block»fbusfp:FS_TDT

cd:CurrentDevice1 «block»fbusfp:FS_TDC

ethfp:FS_ETH

Figure 6. IBD - Control Subsystem

SV_Data

spSV

PD_Data PD_Cmd

spLD

PVD_Data

spPVD

TD_Data

spTD

PD_Data

spOD

CD_Data

spCD

SV_Cmd

spOPC

PVD_CmdspOPC

spOPC

PD_Cmd spOPC

CD_Cmd

spOPC

PD_Cmd

spOPC

CD_Data PVD_Data

TD_Cmd

TD_Data

PD_Data

PD_Data

SV_Data

SV_Cmd

CD_Cmd PVD_Cmd

TD_Cmd

PD_Cmd

SupervisorySubSystem«block»

opc:OPCServer1 «block»

CD_Data

spCD

CD_Cmd

PD_Data

spOD

PD_Cmd

TD_Data

spTD

TD_Cmd

PVD_Data

spPVD

PVD_Cmd

PD_Data PD_Cmd

spLD

SV_Data

spSV

SV_Cmd

supervisory:Supervisory1 «block»

SV_Cmd

spOPC

SV_Data

td:TemperatureDevice1..* «block»

spOPCTD_Cmd

TD_Data

od:OutflowDevice1..* «block»

PD_Cmd spOPC

PD_Data

ld:LevelDevice1 «block»

PD_Cmd

spOPC PD_Data

cd:CurrentDevice1 «block»

CD_Cmd

spOPC

CD_Data

pd:PositionerDevice1..* «block»

PVD_CmdspOPC

PVD_Data

Figure 7. IBD - Supervisory Subsystem

IN:

IN_LO:

IN_1:

IN_2:

IN_3:

OUT:

OUT:

IN:

CAS_IN:

IN:

FF_VAL:

TRK_VAL:

TRK_IN:

BKCAL_IN:

OUT:

BKCAL_OUT:

PD_Cmd

PD_Data

spOPC

ARTH_IN:

ARTH_IN_LO:

ARTH_OUT:

ARTH_IN_1:

ARTH_IN_2:

ARTH_IN_3:

AI_IN:

AI_OUT:

PID_BKCAL_IN:

PID_TRK_IN:

PID_FF_VAL:

PID_IN:

PID_CAS_IN:

PID_OUT:

PID_BKCAL_OUT:

PID_TRK_VAL:

Device::PressureDevice«block»

arth:ARTH1 «block»

OUT:

IN_3:

IN_2:

IN_1:

IN_LO:

IN:

ai:AI1 «block»

IN:

OUT: dsp:DSP1 «block»

rs:RS1 «block»

diag:DIAG1 «block»

pid:PID1 «block»

BKCAL_OUT:

OUT:

BKCAL_IN:

TRK_IN:

TRK_VAL:

FF_VAL:

IN:

CAS_IN:

PID_TRK_VAL:

PID_BKCAL_OUT:

PID_OUT:

PID_CAS_IN:

PID_IN:

PID_FF_VAL:

PID_TRK_IN:

PID_BKCAL_IN:

AI_OUT:

AI_IN:

ARTH_IN_3:

ARTH_IN_2:

ARTH_IN_1:

ARTH_OUT:

ARTH_IN_LO:

ARTH_IN:

PD_Cmd

PD_Data

spOPC

Figure 8. IBD - Pressure Device

discrete behavior of the experimental unit through finitestate transitions (Fig. 13). This diagram represents theoperation of the plant in terms of its transitions and states.

ArithmeticEquations«paramConstraint»

OUT:DS-65PV:DS-65GAIN:doubleBIAS:doubleT1:DS-65T2:DS-65T3:DS-65N:int

FlowCompensationLinear«paramConstraint»

OUT = PV * [ T1 / T2 ] * GAIN + BIAS

1..* FlowCompensationSquareRoot«paramConstraint»

OUT = PV * SQR(T1 / (T2 * T3)) * GAIN + BIAS1..*

BTUFlow«paramConstraint»

OUT = PV * (T1 - T2) * GAIN + BIAS1..*

TraditionalMultiplyDivide«paramConstraint»

OUT = PV * [(T1 / T2) + T3] * GAIN + BIAS

1..*

TraditionalSummer«paramConstraint»

OUT = (PV + T1 + T2 + T3) * GAIN + BIAS

1..* Average«paramConstraint»

OUT = [(PV + T1 + T2 + T3) / N] * GAIN + BIAS1..*

FourthOrderPolynomial«paramConstraint»

OUT = (PV + T1^2 + T2^3 + T3^4) * GAIN +

1..*

HTGCompensationLevel«paramConstraint»

OUT = [(PV - T1)/(PV - T2)] * GAIN + BIAS

1..*

FlowCompensationApproximate«paramConstraint»

OUT = PV * SQR(T1 * T2 * T3) * GAIN + BIAS

1..*

Figure 9. BDD - Arithmetic Equations

IN:

IN_LO:

IN_1:

IN_2:

IN_3:OUT:

Device::FunctionBlock::ARTH«block»

T3=(IN_3 + BIAS_IN_3)*GAIN_IN_3

T2=(IN_2 + BIAS_IN_2)*GAIN_IN_2

T1=(IN_1 + BIAS_IN_1)*GAIN_IN_1 arthEq:ArithmeticEquations1 «paramConstraint»

OUT:DS-65PV:DS-65GAIN:doubleBIAS:doubleT1:DS-65T2:DS-65T3:DS-65N:int

T3

T2

T1

ree:RangeExtensionEquation1 «paramConstraint»

PV:DS-65IN:DS-65IN_LO:DS-65RANGE_LO:doubleRANGE_HI:double

PV = (g * IN) + (1 - g) * IN_LO, whereg = (IN - RANGE_LO) / (RANGE_HI - RANGE_LO)

PV

RANGE_HI«Attribute»

RANGE_LO«Attribute»

GAIN«Attribute»

BIAS«Attribute»

ARITH_TYPE«Attribute»

OUT:IN_3:

IN_2:

IN_1:

IN_LO:

IN:

T3

T2

T1

PV

Figure 10. PAR - Detailed ARTH Block

User

ThePlant

Operatethe Plant

Stop thePlant

«extend»

Supervisethe Plant

«include»

Control thePlant

«include»

ControlStrategy

«include»

Start thePlant

«extend»

«extend»

«include»

«include»

«include»

«extend»

Figure 11. UC - Operation Use Cases

The activities of the system can be either continuous ordiscrete and they are represented by their states. When theactivities are continuous it is necessary to use the activitydiagram to represent these in a subsumed state machine.

The Activity Diagram (ACT) emphasizes the inputsand outputs, sequences and conditions. It provides a flex-

5

149

Page 6: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

SuperviseThePlantRef

AdjustingControlParametersRef

opt

SensorInputsRef

ActuatorOutputsRef

ControlStrategyActionRef

parallel

parallel

loop

user:User thePlant:ThePlant

sd StartThePlantRef

StopThePlantRef

Figure 12. SD - Operation Sequence

Off

OperateThePlant

Controling

Actuating

Controlling

Acquiring

Supervising

start stop

turn_off

Figure 13. STM - Operation State Machine

ible connection between the blocks and their behaviors.This diagram was extended to better support the Func-tional Block Diagrams (EFFBD) and their continuous anddiscrete control flows. Modeling continuous dynamics isimportant in most complex systems where hardware andsoftware integration exist. Figure 14 shows the activitiesfor the level control strategy. This is an example of controlstrategy that can be implemented in the experimental unit.

The Requirement Diagram (REQ) specifies the capa-bility or condition that should be satisfied, traced and/orallocated by the system. The requirements are text basedconstructions related to system model elements. Figure 15shows the requirements for the level control strategy. It ispossible to know which element (block, another diagram,etc.) satisfies the requirement and some others informa-tions about the systems behavior may be traced by thisdiagram.

LevelDevice«allocate»

Read Level Value

Control theLevel

level

ReadReferenceValue

reflevel

control

level

ref

ref

OutflowDevice«allocate»

Control theOutflow

Read Outflow Value

flow

control control

flow

flow

PositionerDevice«allocate»

Position theValve

pos

control

positon_output«continuous»

outflow_input«continuous»

level_input«continuous»

reference_input«continuous»

level

level

ref

ref

control

flow

flow

pos

control

Figure 14. ACT - Control Strategy

ControlLevelStrategy«Requirement»

Text: "The level must be maintained in 70% of the tank capacity through the level and outflow control of the fluid."

ControlOutflowStrategy«Requirement»

Text: "The outflow control is maintained by the positioner device that control the flow fluid amount."

«derive»

LevelDevice«block»

«satisfy»

OutflowDevice«block»

«satisfy»

TankCapacity«Requirement»

Text:"The tank capacity is unknowed but the level device sensing the tank filling amount."

«derive»«satisfy»

PositionerDevice«block»

«satisfy»

ControlSubSystem«block»

«allocation»

«allocation»

PhysicalSubSystem«block»

«allocation»

ControlStrategy

«refine»

SatisfiedBy:Control Level Activity Diagram

gy

Figure 15. REQ - Control Requirements

The allocation is used by the system engineers to mapelements, activities or other structures of an user modelinto a cross-association that shows where are the relation-ships between each one. The allocation can be representedby a cross-referenced element model into another diagram(such as the block definition diagram or the internal blockdiagram) or in an allocation sparse matrix.

From the activity diagram, show in Fig. 14, it is pos-sible to generate an allocation matrix (Table 1) for the de-vice elements. This table, in this case, is intended to showwhere the activities are allocated on each specific devicein a control strategy level.

Source Target (Device)Level Outflow Positioner

Read Level XRead Reference XControl Level XControl Outflow XPosition Valve X

Table 1. Allocation Matrix.

6

150

Page 7: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

5 Comments on SysML Models

Since SysML is a UML 2.0 subset and some diagramsare imported without modification, it was necessary theuse of support material on UML during the case studymodeling. But, the system modeling task is quite differ-ent form an object-oriented software modeling, and forthis purpose some diagrams were modified to show sys-tem characteristics.

In UML it is common to listen that “20% UML dia-grams made 80% UML modelling work”. In SysML dia-grams it is not the same. Each diagram is interrelated withanother performing an hierarchical structure that showswhat the system does and how the system work.

The most useful diagram depends on what the systemengineer wants to show. But, the new and modified dia-grams have some strengths and weaknesses that must beanalyzed.

The block definition diagram and the internal block di-agram describe the external and internal system structure,respectively. They allow the description of which ele-ments are interconnected and how they are interconnected.They also allow a top-down and/or a bottom-up model-ing giving an abstract/concrete system level to differentsystem elements. Unfortunately, to describe a complexsystem it is important a greater organization because de-pending on the system under modeling, and the view onewants to show, the number of BDD and IBD diagrams andmodel elements increases very quickly.

The requirement diagram and the parametric diagramare developed for systems engineer needs and they presentan important role during system modeling. Initially, therequirement diagram was perceived as a great improve-ment over UML models, because it shows how the re-quirements are satisfied by the system elements. Those re-quirements may be provided by the user, the environment,or by the system itself. Even so, it presents a high de-gree of informality. Requirements are described throughtext based on natural language. It may insert inconsis-tencies during the extraction of information from the di-agram. However, requirements can be grouped in a clearway, also documenting their origin (standards or more de-tailed specifications) or tracing their destination. The re-quirements also can be used to provide useful acceptancetests before the system deployment.

The parametric diagram is used to model mathematicaldynamics involved in the system. Since those are specificapplication systems, they present calculations for controland signal processing that, once modeled, they aid in thedefinition of routines with timing constraints.

The activity diagram had little modifications to sup-port continuous elements that are present in many sys-tems types and it is an important element to the systemengineer. But, the activity diagram are modified fromthe UML 2.0 to support some verification (now it con-tain some elements that looks like a Petri Net) and thisnew model element introduces another challenge: how to

verify discrete and continuous behavior together.The state machine diagram and also the sequence dia-

gram provide the same structure models that are used inthe UML models and they are addressed, respectively, todiscrete behavior and message passing behavior.

The use case diagram and the package diagram are thesame as in UML. In a way similar to the design of softwaresystems, these diagrams aid the system modeling duringits initial stage, where the level of abstraction of the sys-tem is high.

The use of some models is not very intuitive. This isjustified by the fact that the same diagram can representdifferent views of the same model, depending on the ele-ments that are used. Depending on the size of the system,the number of diagrams grows very quickly when one in-creases the level of detail. In a very complex system itmay be required a more abstract level to represent the sys-tem elements and other domain models (software, elec-trical, mechanical models) can be used to represent thedetailed elements. In this viewpoint, SysML is a powerfullanguage to integrate a great variety of domains in a firstmodeling stage that can be used for system developmentintegration and control.

6 Final Considerations

In this paper, SysML was evaluated as a proposal forthe modeling of industrial automation systems. In spite ofpresenting a steep learning curve, the language allows thebuilding of diagrams that easily represent the structure ofthe system that is being described. Through its diagramsit is possible to have a view of the final system.

The biggest difficulty faced while using SysML wasnot the fact of it being in a preliminary version. Thebiggest problem is that during a time period of 6 monthsthe specification was changed four times. The last timeit was the beginning of April 2006, when version 1.0 wasintroduced. This last one seems to be stable and the onethat will probably be refined until becoming a standardadopted by OMG.

Due to the fact that several diagrams were importedfrom UML 2.0, many of the models make reference to theUML specification, including diagrams that were modi-fied. That makes the modeling work more difficult forthose that do not have a previously knowledge of UML.The specification of SysML is a small document whencompared to that of UML. That gives to the system en-gineer the illusion that the work is simple.

For this paper we opted for a more generic view ofthe system and of the physical subsystem, including somenew SysML diagrams in order to evaluate them. Thischoice was motivated by the short available space to ex-pose the plant modeling. The consequence was that sev-eral diagrams that would bring a deeper view of the systemwere left out of the paper. Anyway the included diagramsallow a preliminary evaluation of the potential of SysML.The language is really powerful and to this moment it has

7

151

Page 8: [IEEE 2006 IEEE Conference on Emerging Technologies and Factory Automation - Prague, Czech Republic (2006.09.20-2006.09.22)] 2006 IEEE Conference on Emerging Technologies and Factory

supported the necessities of our modeling. For the systemengineer, it is a language easier to understand when he/shetries to read it than when he/she has to write models withit. In other words, the review of the diagrams by otherengineers won’t demand the same training level that thesystem engineer needs to draw the diagrams.

In spite of the problems, the result is positive. SysMLallows the system engineer to describe the system, includ-ing hardware and software aspects simultaneously withthe other elements of the industrial automation unit. How-ever, SysML modeling requires the project team, gener-ally formed by engineers, to have knowledge of UML.This requirement could be a barrier to its acceptance ina large scale.

For software developers that are used to UML 2.0, theuse of SysML is straightforward. A SysML specificationwould be a much better start for the system developmentthan a specification in natural language or, still worse, sev-eral electrical and mechanical diagrams.

Since the system development team is multidisci-plinary, including professionals from different domains,SysML is a very interesting proposal to improve the com-munication among them. To illustrate such statement weconsider a meeting on certain system elements. An elec-tronic engineer has electronic diagrams, a control engineerhas control diagrams and a software engineer has softwarediagrams. The interaction among the team is minimum,because one does not have knowledge of the modeling lan-guage used by the other. However, if SysML was used, themodeling language would be the same for all the personswith different backgrounds. It would improve the interac-tion among the team and decrease the time to market of asystem.

References

[1] E. Rechtin and M. Maier, Art of Systems Architecting,CRC Press, Boca Raton, 2 edition, June 2000.

[2] M. Hause, “Rebuilding the Tower of Babel – The Case forUML Extension”, in INCOSE UK Spring Symposium 2001Proccedings, 2001. INCOSE UK Chapter – InternationalCouncil on Systems Engineering.

[3] M. Hause, “Building a Systems Engineering OntologyUnsing UML”, in INCOSE International Symposium 2003Proccedings, 2003. INCOSE – International Council onSystems Engineering.

[4] UML, “Unified Modeling Language”,http://www.uml.org/, March 2006.

[5] M. Hause, F. Thom, and A. Moore, The Systems ModellingLanguage (SysML), White Paper. Artisan Software, 2004.

[6] OMG, Unified Modeling Language: Superstructure, ver-sion 2.0. Object Manegement Group, August 2005.

[7] OMG, “UML for Systems Engineering”, Request For Pro-posals - RFP ad/2003-3-41, Object Management Group,Needham, September 2003.

[8] OMG, “Object Manegement Group”,http://www.omg.org/, March 2006.

[9] SEDSIG, “Systems Engineering Domain Special InterestGroup”, http://syseng.omg.org/, March 2006.

[10] OMG SysML, “The OMG Systems Modeling Language”,http://omgsysml.org/index.htm, May 2006.

[11] SysML Merge Team, Systems Modeling Language(SysML) Specification, version 1.0 (DRAFT). Object Ma-negement Group (OMG), April 2006.

8

152