18

Click here to load reader

A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

Embed Size (px)

Citation preview

Page 1: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

0967-0661/$ - se

doi:10.1016/j.co

�CorrespondE-mail addr

(D.N. Ramos-H

Control Engineering Practice 15 (2007) 77–94

www.elsevier.com/locate/conengprac

A flexible environment for rapid prototyping and analysis ofdistributed real-time safety-critical systems

H.A. Thompsona, D.N. Ramos-Hernandeza,�, J. Fua, L. Jianga, I. Choia,K. Cartledgeb, J. Fortuneb, A. Brownb

aRolls-Royce University Technology Centre in Control and Systems Engineering, University of Sheffield, UKbRolls-Royce Plc., UK

Received 18 July 2005; accepted 30 April 2006

Available online 3 July 2006

Abstract

Currently, there is a plethora of low-cost commercial off-the-shelf (COTS) hardware available for implementing control systems. These

range from devices with fairly low intelligence, e.g. smart sensors and actuators, to dedicated controllers such as PowerPC,

programmable logic controllers (PLCs) and PC-based boards to dedicated systems-on-a-chip (SoC) ASICS and FPGAs. When

considering the construction of complex distributed systems, e.g. for a ship, aircraft, car, train, process plant, the ability to rapidly

integrate a variety of devices from different manufacturers is essential. A problem, however, is that manufacturers prefer to supply

proprietary tools for programming their products. As a consequence of this lack of ‘openness’, rapid prototyping and development of

distributed systems is extremely difficult and costly for a systems integrator. Great opportunities thus exist to produce high-performance,

dependable distributed systems. However, the key element that is missing is software tool support for systems integration. The objective

of the Flexible Control Systems Development and Integration Environment for Control Systems (FLEXICON) project IST-2001-37269

is to solve these problems for industry and reduce development and implementation costs for distributed control systems by providing an

integrated suite of tools to support all the development life-cycle of the system. Work within the Rolls-Royce supported University

Technology Centre (UTC) is investigating rapid prototyping of controllers for aero-engines, unmanned aerial vehicles and ships. This

paper describes the use of the developed co-simulation environment for a high-speed merchant vessel propulsion system application.

r 2006 Elsevier Ltd. All rights reserved.

Keywords: CORBA; Co-simulation; Distributed systems; Tool support; Systems integration; Obsolescence management

1. Introduction

Industry is extremely wary of adopting distributedsystems due to the step change in complexity that occursleading to increased costs and risks. In order to develop adistributed control system for an entire ship or aircraft, forinstance, it requires tools that can deal with high complex-ity, integrating design information from multiple domainsand allowing analysis of the overall design in terms oftechnical and commercial performance. Currently, nointegrated multi-disciplinary design tools exist which cando this. The ability to simulate and assess system

e front matter r 2006 Elsevier Ltd. All rights reserved.

nengprac.2006.04.005

ing author. Tel.: +44114 221 5400.

ess: [email protected]

ernandez).

performance and rapidly prototype systems is thus critical.In this paper, an integrated suite of tools to support all thedevelopment life-cycle phases: modelling/simulation, codegeneration and implementation, is implemented. The toolsaddress the following features:

management of requirements, � management of complexity, � performance assessment during design via multi-disci-

plinary co-simulation, and

� management of system component obsolescence.

Modelling and co-simulation support is used to assessthe performance of the system from different viewpointsprior to implementation, e.g. control system performance(for hybrid systems with continuous/discrete elements)

Page 2: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9478

using Simulink and ISaGRAF, fault tolerance for meetingtechnical goals using ARTISAN Unified Modelling Lan-guage (UML) modelling, and availability and through-lifecost modelling in Excel for meeting commercial goals suchas future service contracts.

Many of today’s manufacturers are faced with difficultchallenges including reducing time to market and achievingright first time designs. To do this, they are makingincreasing use of ‘virtual prototyping’ where a computermodel is replacing the physical prototype (in fact, it is tooexpensive to physical prototype an entire ship or aircraftcontrol system). There are many benefits to this approachincluding more rapid development, lower cost, greaternumber of design alternatives evaluated and more optimaldesigns achieved. Although pictures-to-code tools do existfor rapid prototyping of control systems, e.g. MathWorksReal-Time Workshop, the control code only accounts for20% of the problem in a typical practical system. Furthercode is necessary to support databus interfacing, signalconditioning, input/output data checking, and fault detec-tion, isolation and accommodation (FDIA). This function-ality needs to be developed separately and then integratedinto the final system. Thus, in addition to a control systemsengineer’s viewpoint, FDIA and architectural modellingtools are needed to define how the various code modulesshould be allocated to the distributed resources available.

Previously, in the Framework and PiCSI projects(Browne, Bass, & Fleming, 1997; Ramos-Hernandez,Fleming, & Bass, 2005) at the University of Sheffield, theintegration of Simulink, Statemate, UML, ISaGRAF andthe subsequent generation of code for distributed controlsystems was considered. Additionally, work on UnmannedAerial Vehicles has considered the rapid protoyping ofdistributed flight control systems with hardware-in-the-loop (HIL) (Newman, 2005). In the Flexible ControlSystems Development and Integration Environment forControl System (FLEXICON) project, code generationtools have been developed that integrate control law code,signal conditioning, databus interfacing, I/O data checkingand FDIA to allow HIL testing for high-speed ships (gasturbine engine/waterjet propulsion systems). Rapid proto-typing of subsystems allows a powerful means to establishsystem performance and provide confidence in a design.The complexity of the design can be increased andgradually tested in a systems environment using co-simulation. By running the controller code on the targetprocessor, co-simulation helps to determine the controller’smaximum sample rate, memory usage and other require-ments more accurately.

Another aim of the work at Sheffield is to deal withobsolescence management. Obsolescence is a critical issuefor industry due to the increasingly rapid turnover intechnology. It is quite likely that hardware will becomeobsolete within 2–3 years. The lifetime of a system, e.g.ship, aircraft, car, train, process plant, etc., however, can befrom 10 to 30 years. This presents a huge obsolescencemanagement problem. Thus, a flexible approach to code

generation has been developed that allows code to begenerated for a number of targets from a single systemspecification. Target languages that have been consideredare C, IEC 61131-3, Java and VHDL (for FPGAprogramming) with a variety of databus interfaces. Thisallows the support of PowerPC, PC-based boards, pro-grammable logic controllers (PLCs) and embedded intelli-gence interconnected via Ethernet, CAN and Wirelesstechnologies.

2. FLEXICON toolset

There are many commercially available tools specific todifferent application areas. While all have strengths inparticular areas, most do not cover the breadth ofapplications that manufacturers require. Currently, theproblem is that there is no one single tool that coversmultiple disciplines. Also, engineers wish to work withtools that are familiar in their domains. Therefore, it isnecessary to integrate several different tools to modeldifferent aspects of the design. For example, ARTISAN isa UML tool for system modelling familiar to softwareengineers, but it is difficult to simulate the impact of asystem fault using this tool. Simulink/MATLAB is apowerful system simulation tool developed for controlengineers, but it is not good for management systems oranalysis of reliability and cost. Engineers who performreliability and cost modelling are far more familiar withMicrosoft tools such as Excel. Instrumentation engineerswould be unfamiliar with control law design tools such asSimulink/Matlab. They tend to use PLC programmingtools using the IEC 61131-3 standard notation. Thisstandard has existed for several years and has beenadopted by most of the major PLC manufacturers andvendors (Lewis, 1998). A tool that supports IEC 61131-3notation is ISaGRAF Enhanced developed by Altersys(ISaGRAF, 2002). This tool conforms to the languagesdefined in the standard and also generates hardwareindependent TIC (Target Independent Code). The ap-proach adopted in the Framework, PiCSI and FLEXICONprojects therefore has been to integrate several differenttools that allow modelling of different aspects of the designin environments that engineers are most comfortable with.The FLEXICON project overall activities are divided

into three phases: Co-simulation integration, Code Gen-erator Integration and Demonstrator Integration Activities(Thompson & Ramos-Hernandez, 2004). This paperdescribes the first phase that concentrated on gatheringthe requirements for a Marine application and produced anenvironment that allows co-simulation of the differentviews of the system. In the second phase, work addressedthe development and integration of the code generators(Java and VHDL). The final phase, currently underdevelopment, is the construction of a Marine demonstra-tor. FLEXICON is the name of the project and the toolsthat allow Co-simulation with HIL and Code Gene-ration are called the FLEXICON toolset. For Marine,

Page 3: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 1. Co-simulation vision.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 79

Automotive and Aerospace applications, this toolset iscalled FLEXICON MAA.

Co-simulation is one of the best ways to developcomplex systems as it allows parts of the system to beintegrated and tested through virtual prototyping (Thomp-son & Ramos-Hernandez, 2004). Fig. 1 shows the ‘vision’for the FLEXICON toolset considering a Marine applica-tion with different commercial off-the-shelf (COTS) toolsfrom the design domains being integrated via an interfaceto Common Object Request Broker Architecture (COR-BA). In the demonstrator where HIL is required, it wasplanned to use Real-Time CORBA instead of CORBA.Although it is feasible to use RT-CORBA, a new middle-ware standard, NDDS, was selected to be used in the finalMarine demonstrator. This is described in Section 3.

The COTS tools that have been integrated within theFLEXICON environment are:

1

ISaGRAF for discrete control system modelling,

� Simulink as a continuous system model simulation tool, � ARTISAN as a model building and management tool, � Microsoft Excel for reliability and through-life cost

calculation.

3. Co-simulation environment based on CORBA

This paper describes the FLEXICON co-simulationenvironment and how VisiBroker CORBA has been usedto enable co-simulation between the ISaGRAF, Simulink,ARTISAN and Excel tools. The CORBA was selected as itis a standard adopted by the Object Management Group(OMG)1 to enable interoperability between applications in

http://www.omg.org/

heterogeneous distributed environments (Tari andBukhres, 2001). CORBA is the leading middlewarestandard for exchange of information on independenthardware platforms, programming languages and operat-ing systems. Thus, CORBA can be considered as an opensoftware bus, which allows object components created bydifferent operating systems and languages to interoperate.In addition, it can make integration with legacy softwareeasier.CORBA is also conceptualised as a communication bus

for client-server objects (Segue Software, 2003). SinceCORBA is a three-tier distributed object mechanism, theterminology ‘client-server’ applies within the context of aspecific request. That is, if an object A invokes a method onobject B, A is the client and B is the server. If B then callsA, the roles are reversed. Exported server interfaces mustbe specified in the CORBA standard Interface DefinitionLanguage (IDL). An IDL interface description is thenmapped using an IDL compiler to native language bindingssuch as C, C++, Java, COBOL, Smalltalk, Ada, Lisp,Python and IDLscript (OMG-CORBA, 2005). This allowseach programmer to write source code independently in themost appropriate language. For example, a server objectimplemented in C++ can be accessed by a Java applet.The applet programmer invokes methods on the server asthough they are local Java method calls. The ObjectRequest Broker (ORB) is the mediator, responsible forbrokering interactions between objects. Its job is to provideobject location and access transparency by facilitatingclient invocations of methods on server objects. A clientcan connect—or bind—to a server object statically if theserver interface is known at build time. Alternatively, theclient can use dynamic binding to ascertain the serverinterface and construct a call to the server. Servers

Page 4: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 2. Request to a remote server.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9480

implement services used by clients, and a server may be aclient to another server. Servers are usually multi-threaded,and can also have separate instances running on more thanone node, each of which has its own threads to servicerequest from clients (Cashman, 2001). The followingdiagram (Fig. 2) illustrates a request to a remote server.The ORB delivers the request to the server object andreturns any result to the client object.

CORBA is commonly used on problems that wouldbenefit from the simultaneous application of multipleprocessors over a network. These types of problems usuallyhave one or more of the following requirements:

2

3

parallel computations on different processors to im-prove performance,

� scalability which requires the dynamic addition of

computational resources,

� fault tolerance in case of processors or network failures

to migrate to others resources.

Thus, CORBA offers many advantages when addressingthe support of distributed systems development. There areseveral tools based on CORBA, such as TAO, VisiBrokerand ORBexpress. In 2002, when the FLEXICON projectstarted, the two most popular tools were VisiBroker andTAO. TAO2 is a C++ ORB that is compliant with mostof the features and services defined in the CORBA 3.0specification, which includes the RT-CORBA specification.TAO (developed at the University of California, Irvine)started to be supported commercially, but it was not widelyused in the industry. This was the concern for potentialusers of the FLEXICON toolset. Thus, VisiBroker3 fromBorland was selected for FLEXICON as it was well knownin the industry. VisiBroker is also a CORBA compliantmiddleware solution and provides seamless developmentacross leading enterprise and embedded/real-time operat-ing systems. In 2004, the new OMG’s middleware standard

http://www.cs.wustl.edu/�schmidt/TAO.html

http://www.highlander.com/index.html

Data Delivery Service (DDS) based on a publisher–sub-scriber design became available and it was a mandatedstandard for use across the Department of Defense (DoD)in USA. The first DDS-compliant product was NDDS byRTI.4 Since then, NDDS has been adopted for marineand aerospace applications in the USA. Thus, NDDS hasbeen recently adopted within the FLEXICON MAAtoolset instead of CORBA. Co-simulation with NDDSand its performance compared with CORBA will bereported in a future paper. The present paper describesthe co-simulation work carried out using the CORBAmiddleware standard.In addition to CORBA and NDDS, there are other

technologies that can be used to integrate heterogeneousdistributed systems, such as Web services, .NET, Message-Oriented Middleware, Transaction Monitors, Grid plat-forms, HLA (previously used in the Virtual Engine andAircraft System Environment at Sheffield, see Stewart andFleming (2001)) and Enterprise Java Beans. However,CORBA and recently NDDS are the de facto standardsused in real-time applications. For instance, in Li andQi (2004), it is highlighted that although CORBA pro-vides high performance, good security and scalability inmanaging components in a distributed computing envi-ronment, the main drawback of this middleware is itslack of true interoperability. The authors then use Webservices (based on SOAP) to augment a previous CORBA-oriented wrapper generator called WSOWG. Thus, non-networked legacy code is leveraged as Web services. Thetesting results for performance evaluation show thatusing SOAP causes considerable performance overheadsbecause its eXtensible Markup Language (XML) parsingand formatting are time consuming. Thus, further workis needed to increase performance if this technologyis going to be used in a real-time, safety-critical appli-cation.

3.1. CORBA approach

Since CORBA allows the exchange of information onindependent hardware platforms, programming languagesand operating systems, the first version of the co-simulation environment is based on this middleware. Toachieve the co-simulation, client-server objects wereimplemented for each COTS tool. An IDL template filewas created and compiled to create the skeleton and stubfor the client and server of the COTS tools described inSection 2 (Thompson et al., 2004).The IDL file created contains the following lines:

//Flexicon.idl

module FlexServer {interface GetServer {

string GetFromServer( in long RW, out long X, out

long Y, out string strGName);

4http

://w ww.rti.com/index.html
Page 5: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 81

};

interface SendServer {string SendToServer(in long RW, in long X, in long

Y, in string strSName);

};

interface ControlServer {string ControlInfo(in string strCName);

};

};

The IDL keyword interface is used to tell the IDLcompiler that this is the object interface. Then the functionsthat this interface is going to use are specified. In thisapplication, there are three member functions, GetServer,SendServer and ControlServer. There are three IDL key-words: in, out and inout. If the function takes a parameterthat would only be used by the function and is not usedas a result, the IDL keyword in would be placed in frontof the parameter. If the function takes a parameterthat would only be used as a result and is not used bythe function, the IDL keyword out would be placed infront of the parameter. Furthermore, if the functiontakes a parameter that was going to be both used by thefunction and used to return a value, the keyword inout

would be placed in front of the parameter. The keywordinout was not used in this IDL file. Once the IDL file iswritten, it needs to be compiled into the skeleton and stubusing the VisiBroker tool idl2cpp. Then four files aregenerated (Flexicon_c.cpp, Flexicon_c.hh, Flexicon_s.cpp,

Flexicon_s.hh). These files are used to create the server andclient applications. Thus, the models in each tool can beaccessed using read and write functions. The clientapplication can receive and send data to the server throughthe VisiBroker ORB. The C++ Builder 6 tool was usedto create the CORBA server and client applications(Borland, 2002).

Fig. 3. Integrated Propul

4. Marine application

To provide a challenging and complex application, ahigh-speed ship propulsion system is being considered.Rolls-Royce Marine is developing a new generation of jet-powered high-speed ships through its Scandanavian groupof companies which manufacture gas turbine engines,marine control systems and waterjets. The example shiputilises five gas turbine engines and a sharp long hull thatallows the ship to cut through waves at 50 knots ratherthan ride over them. This allows the ship to maintainhigher speeds than conventional ships even in mid-oceanand bad weather. In such a ship, crossing the Atlanticshould take around 90 h, whereas existing ‘fast’ ships (32knots) take around a week (Thompson, Ramos-Hernan-dez, Cartledge, Fortune, & Brown, 2003). The ships (aboutthe length of three jumbo jets) are predicted to be the mostsignificant development in ocean travel in the past 100years. The first ships will be built to carry cargo but there isalso considerable interest in the market for passenger cruiseships. The propulsion system consists of five MT30 gasturbines, five Kamewa waterjets and gearboxes as shown inFig. 3 controlled by a typical, complex, distributed, real-time, safety-critical Integrated Propulsion Control System(IPCS) for control and monitoring.The IPCS allows the operator to control and monitor all

the propulsion train equipment as an entire system fromthe control consoles. This supervisory control system at thetop level interacts with local equipment controllers thatcontrol the gas turbines, gearboxes and waterjets. TheIPCS can be operated in three control modes: automatic,semi-automatic and manual. In the case of the propulsionequipment, the IPCS interfaces with local control systemscontrolling starting, shutdown and speed of the gasturbines, and speed of the waterjets and their direction.The waterjets (see Fig. 4) provide steering for the ship

and also the ability to rapidly stop through reversal of

sion Control System.

Page 6: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 4. Kamewa waterjets.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9482

thrust. (Here, there are many analogies with work beingperformed within the Sheffield University TechnologyCentre on rapid prototyping and simulation of thrustvectoring aircraft, see Newman 2005.)

5. Co-simulation for the marine application

The FLEXICON toolset co-simulation environmentbeing developed can be used to rapidly prototype theIPCS by testing discrete and continuous laws developed inISaGRAF and Simulink against a model of the gas turbineengine and waterjet propulsion system with incorporatedship dynamics in Simulink. UML modelling (with theARTISAN Real-time Studio (RtS) tool) is used to definethe hardware architecture redundancy for fault toleranceand the functionality of the control system. Fault injectionscenarios can be injected into Simulink to test out FDIAstrategies. Excel is used to perform reliability and through-life cost modelling of the system. Co-simulation with HILis also possible allowing integration testing of real systemcomponents within the prototyping environment. In thefollowing sections, the various parts of the co-simulationenvironment are described.

5.1. Captains interface

In Fig. 1, the Captain of the Ship interacts with the IPCSvia the Human Machine Interface (HMI), thus he/she cancontrol and monitor the propulsion system. Firstly, theHMI communicates with the ISaGRAF tool that containsthe supervisory mode control (PLC system based). Fourscenarios have been considered: Start-up, Normal Opera-tion, Normal Stop and Emergency Stop. The supervisorymode controller in the ISaGRAF tool then controls theSimulink continuous model of the waterjet propulsionsystem according to the selected mode via CORBA. Thedifferent operating modes (Start-up, Normal Operation,Normal Stop and Emergency Stop) of the gas turbines areperformed using a Sequential Function Chart (SFC) withinISaGRAF. This language was selected as the mostappropriate for this application as it describes thesequential behaviour of a control programme. Note thatit is also possible to implement the modes in the Stateflow

tool within the MathWorks environment (Stateflow, 2002).This tool, however, does not support generation of code forPLCs and is unfamiliar to instrumentation engineers.To initiate each mode, a Graphical User Interface (GUI)

was developed using ISaGRAF’s HMI. Thus, each modecan be activated using an associated pushbutton as shownin Fig. 5. The HMI is not integrated within the co-simulation environment via CORBA, but is implementedwithin the ISaGRAF tool (communication is establishedthrough an OPC Server).The HMI includes a number of pushbuttons to select

different modes. Indicator lamps are also included to showthe various stages of start-up and normal stop as theyprogress. In addition, an overspeed trip alarm is includedfor fault injection experiments. This is described in a latersection on fault injection.

5.2. Co-simulation interface—ISaGRAF and Simulink

The SFC diagram (within ISaGRAF) contains the fourscenarios (start-up, normal operation, normal stop andemergency stop). Each scenario was implemented usingsteps and transitions. The steps are shown as rectangularboxes connected by vertical lines. Each step represents aparticular state of the system being controlled and eachconnecting line has a horizontal bar representing atransition. A transition is associated with a conditionwhich, when true, causes the step before the transition tobe deactivated and the step that follows the transition to beactivated. Transition through the sequence diagram canbe monitored by means of a white token moving aroundthe various steps of the diagram. In a SFC diagram, theflow of control is generally down the page, but branchescan be used to go back to earlier steps (ISaGRAF, 2002).Fig. 6 shows the first two steps and transitions of the ‘start-up’ mode in more detail. The description of the actionsto be performed is defined on the rectangular boxes on theright-hand side of this figure.In order to illustrate the co-simulation between ISa-

GRAF and SIMULINK, the main steps in each mode arelisted in Table 1. For example, to complete the start-upsequence, 12 steps must be completed. If any step fails, thenthe start-up sequence will abort going to the ‘start aborted’step.

5.2.1. Propulsion control in Simulink

To operate the Propulsion System, information isexchanged between the ISaGRAF (SFC model) andSimulink model via a co-simulation interface.The top-level of the Simulink operational mode model is

shown in Fig. 7. The modes have been defined correspond-ing to start-up, normal operation, normal stop andemergency stop. These modes are selected accordingly fromthe HMI via ISaGRAF. The model links these modes to aSimulink simulation of the Waterjet Propulsion Systemand to Fault Injection and Detection subsystem modelsdeveloped in Simulink. Data from ISaGRAF are passed to

Page 7: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 5. HMI—mode selection.

Table 1

Summary of the steps used in the supervisory control of the gas turbine

Steps

Start-up Normal stop

Ventilation fan Engine cooling

Purge enclosure Shut off valve

Lubrication oil Metering valve

Fuel forwarding system Ventilation valve

Initiate start Auxil system down

Engine crank Coast down

Purging Engine management system stop

Ignition on Normal operation

Engine management system on System status

Light up Manual stop

Power turbine ramp UP Goto emergency stop

Loading Emergency stop

Start aborted Fuel shut off

Fig. 6. SFC—start-up mode detail.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 83

the Simulink model through the block called FromISa-

GRAF. Outputs from the operation modes are sent backto ISaGRAF via the ToISaGRAF block and to theWaterjet Propulsion System. These two blocks performread and write functions utilising the developed CORBAinterfaces.

Thus, the selected mode is first passed from ISaGRAF toSimulink. Simulink then activates the corresponding modeand the passing of data between both tools duringsimulation is performed. For example, if the start-up modeis selected in ISaGRAF, Simulink will activate this modetoo (case 1), if all the sequence is satisfactory andcommunication between the tools is okay, then normal

operation (case 2) is activated. Case 2 will start the normalrunning of the Waterjet Propulsion System. Case 3corresponds to normal stop and case 4 to emergency stop.After the start-up of the gas turbine engine, the normal

operation mode is activated. This causes the Simulinkmodel to switch to the Waterjet Propulsion Systemoperating in normal simulation mode (case 2).Fig. 8 shows the start-up subsystem and the input and

output ports to ISaGRAF for the start-up sequence of thegas turbine engine. Here, the control systems engineer

Page 8: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 7. Simulink model showing operational modes (top-level).

Fig. 8. Simulink start-up mode.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9484

needs to identify the parameters that are to be passedbetween ISaGRAF and Simulink. Two scopes were used tomonitor the data transferred between the tools.

5.2.2. Co-simulation results

During co-simulation, the ISaGRAF Server (built inCORBA) updates the ISaGRAF database. Co-simulationresults are shown in Fig. 9. Firstly, it is necessary tostart the gas turbine engine. This is illustrated in the firstplot of this figure. There is no response from the gasturbine engine power turbine (second plot) until thestart sequence is complete and the power turbine is runup (60 s). At this point, the engine transitions into normaloperation.

5.2.3. Fault injection scenario

There are a number of critical failures in the gas turbineengine (mechanical failures or design limit exceedences)that can result in catastrophic failure of the system anddamage. In these cases, an immediate emergency shutdownof the system is performed by activating the fuel shut offvalve. Two types of ‘emergency stop’ scenario can occur.An ‘emergency stop’ can be initiated manually by theCaptain (via HMI, see Fig. 5) or it can be automaticallytriggered (as demonstrated in Fig. 9) when there is criticalfailure (170 s). In the case of a manual ‘emergency stop’,ISaGRAF will communicate this to the Simulink modelwhich will shut off the fuel immediately. For the case of afault which causes an automatic shutdown of the engine(such as the overspeed fault), the fault is injected into the

Page 9: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 9. Fault injection GUI.

5http://rational.com/6http://www.artisansw.com

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 85

Simulink model. This is detected by appropriate detectionlogic (also incorporated into this model). Simulink alertsISaGRAF which then automatically enters the emergencystop sequence. This shuts off the gas turbine engine. Analarm is also activated on the Captain’s HMI to show thatan emergency shutdown has been performed.

It is also possible to inject failures into sensors andactuators within the system. This is of particular interestfor the development and testing of fault detection andredundancy management schemes.

5.3. Co-simulation with ARTISAN

The next tool in the co-simulation environment is theARTISAN RtS tool. The ARTISAN tool is based on theUML. UML was adopted by the OMG as a standard forsoftware systems engineering. Since its introduction in1997, UML has been widely used by both industry andacademia. However, although it has proven suitable formodelling the qualitative aspects of many softwaresystems, the original definition did not provide a standardmeans for expressing the quantitative aspects of thosesystems. For example, in the real-time domain, it is oftennecessary to specify temporal constraints associated withspecific elements of a model, such as the maximumacceptable duration of certain actions, necessary andavailable communication throughput rates, and time-outvalues. To remedy this, the OMG has supplemented theoriginal UML specification by developing a ‘Real-TimeProfile’ (RT-Profile) (OMG-RT Profile, 2003) that woulddefine standardised ways for specifying temporal propertiesin a UML model. (A profile is the UML extension

mechanism for a tightened semantic interpretation of therelatively general concepts in the standard, intended tomeet the requirements of a particular domain.) The RT-Profile focuses on the modelling of time and time-relatedaspects such as the key characteristics of timeliness,performance and schedulability. The ability to predictthese characteristics based on analysing models of softwareis a fundamental objective of this special profile. Formalquantitative analyses based on the ability to model qualityof service aspects, such as deadlines and priorities, willprovide far better results than relying exclusively onintuition and ‘feel’.There are several tools based on UML for real-time and

among the most popular are Rational Rose RT5 andARTISAN RtS.6 ARTISAN RtS is of particular interestfor this project as powerful real-time extensions areincluded for development of a real-time system andspecially its System Architecture Diagram. The ARTISANVersion used in the project is 4.2 and this is based on UMLVersion 1.4. Currently, the OMG is upgrading all of UMLto Version 2.0 (OMG-UML, 2005). However, the ARTI-SAN tool used in FLEXICON already supports someaspects of UML 2.0. In Douglas (2004), the authormentions that one can still build complex system usingclass, sequence and state diagrams with UML 1.x. Thus,the Marine application modelled in Version 1.4 can easilybe adapted to UML 2.0 if this is required in the future.Based on a requirements document provided by Rolls-

Royce Marine, the high-speed ship propulsion system was

Page 10: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9486

modelled using UML. The RT-Profile provided by theARTiSAN RtS tool was also used. Special care was takento produce a model that allows the functionality to beeasily partitioned onto different hardware architectures.When providing systems to different customers, the actualhardware choice (PC-based technology, PLC-based tech-nology, PowerPC-based technology, databus standards,etc.) is often driven by customer preferences. Thus, it isimportant to model the functionality at a level that allowsit to be moved between different hardware platforms.During the development of the model, there were discus-sions with Rolls-Royce Marine on UML specification toallow traceability of requirements, inclusion of informationon Safety Integrity Levels (SIL), sensor types (intelligentand dumb) and hardware information (manufacturers andpart numbers). This information can be passed to othertools such as Excel for requirements traceability manage-ment and through-life cost analysis. The modelling wasdone in a number of stages:

The whole UML modelling process starts with theSystem Architecture Diagram, which models the sys-tem’s physical structure and describes the hardwarestructure for the Marine application’s demonstrator.The support for architecture modelling is a particularfeature of the ARTiSAN RtS tool. � Use Case diagrams were used to capture the main

functionality of the Marine application. This function-ality includes the various operating modes of the gasturbine engine/waterjet system and also sensor faultdetection and accommodation.

� Class diagrams were created to depict the static

behaviour and the software structure of the Marineapplication.

� The dynamic behaviour of the Marine application was

modelled with corresponding State Diagrams, Colla-boration Diagrams and Sequence Diagrams.

� A Concurrency Diagram was used to describe the

implementation with the real-time environment andsystem constraints were modelled to define the timingperformance of the Marine application.

5.3.1. Architecture diagram

The system architecture model plays a critical role in theearly development stages allowing the Systems Engineer toexplore potential architectural solutions using SystemArchitecture Diagrams, and then as a solution emerges,to describe it down to the level of bus, board, etc. TheArchitecture Diagram uses the following components:subsystem, interface device, board, disk, multi-drop bus,and types for defined special characteristics for all theabove components.

The top-level architecture diagram of the Marinedemonstrator in ARTISAN is shown in Fig. 10. Thisdiagram mainly follows the physical structure described inFig. 3. It consists of the following subsystems: MainControl Processor, Backup Control Processor, Bridge

Control Console, Switchboard Control Console, Gateway(Ethernet/CAN), Equipment Health Monitoring, WirelessMonitoring System, and local controllers and I/O systemsfor the gas turbine, gearbox and waterjet, respectively. Thesubsystem ‘bridge control console’ and ‘switchboardcontrol console’ includes two ‘Interface Devices’: ‘OperatorDisplay’ and ‘Operator Input’. The subsystem ‘maincontrol processor’ and ‘backup control processor’ areconnected via a duplex Ethernet network to the Gateway(Ethernet/CAN). The local controllers and their I/Osystems communicate via a triplex CAN network behindthe Ethernet/CAN Gateway. ‘Equipment Health Monitor-ing’ connects with the local I/O subsystems via a separateindustrial Ethernet network.Examples of the internal architecture of the model are

shown in Figs. 11 and 12. In Fig. 11, the local Gas TurbineController is implemented on an Embedded Power PC(EPPC405) running a VxWorks operating system. It hastwo CAN interfaces, one Ethernet and one serial-portinterface. It communicates with the triplex CAN bus forsampling and control of the gas turbine. The communica-tion between the local controller and the main controlprocessor uses the CAN bus and the Ethernet/CANGateway. The smart actuators for waterjet’s steering arecontrolled via embedded controllers which also use CANbus for communication.Fig. 12 gives an example of a pressure sensor. As model

components provided by ARTISAN can only describestandard hardware’s information, stereotypes and tagvalues are designed for special modelling requirements. Astereotype named ‘Sensor Information’ is defined torepresent more information about sensors. It has severaltags, such as ‘Name of Manufacturer’, ‘Part Number’,‘Intelligent’(smart sensor or not), ‘Repetition’(single, du-plex or triplex), ‘MinValue’, ‘MaxValue’ and ‘Type’. Forexample, for a Pressure Sensor monitoring a filter, ‘Filter’,one can specify its ‘Name of Manufactuer ¼ Druck’, ‘PartNumber ¼ 356’, ‘Intelligent ¼ True’, ‘MinValue ¼ 0’,‘MaxValue ¼ 10’ and ‘Repetition ¼ 1’.Class Diagrams are also used to define functionality. Fig.

13 for instance shows the descriptions of classes related tothe four operating modes of the gas turbine and faultdetection functionality.In Fig. 13, the ‘Control and Monitoring of Gas Turbine’

package describes the top-level control of the gas turbine.It includes one main class ‘ ControlGasTurbine’ which isaggregated with classes ‘Start’, ‘Stop’, ‘SpeedControl’ (fornormal operation) and ‘EmergencyTrip’. Detailed beha-viour of these four classes is represented via correspondingstate diagrams. There are another two classes ‘CheckSen-sor’ and ‘SelfTest’.The system ‘Alarms and Warnings’ management pack-

age is shown in Fig. 14. This package has one main class,which includes several subclasses, such as ‘PropulsionTrai-nAlarms’ and ‘LocalControllerAlarms’. It also includesan ‘EMS Alarms’ package that contains alarms related tothe local-level EMS system. A stereotype named ‘Alarm

Page 11: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 11. Architecture Diagram of Gas Turbine Control System.

Fig. 12. Architecture Diagram of Gas Turbine Pressure Sensor.

Fig. 10. Architecture Diagram of Waterjet Propulsion System (top-level).

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 87

Information’ was also defined to represent informationsuch as ‘REQ’ referring to a specific numbered requirementin the requirements document (this has been used in theFLEXICON Code Generators tools for consistency andtraceability checking against the application requirements)

‘Name’, ‘TrainName’ for different train numbers (a total of5 in this application), and the ‘SIL’ of the alarm function.The SIL data are extracted from ARTISAN using the

FLEXICON Reliability and Through-Life Cost (R&TLC)tool. This tool links ARTISAN and the R&TLC model(based on Excel). Thus, the tool estimates the developmentcost of the system (the SIL level has an impact on thecertification costs). The R&TLC tool is discussed inSection 5.4.

5.3.2. State diagram

State diagrams describe how a system responds to eventsin a manner that is dependent upon its state. Systems thathave a fixed number of states, and that respond to a fixedset of events are called finite state machines (FSMs). UMLhas a rich set of notation elements to describe FSMs. EachState Diagram (and its subdiagrams) models all thepossible state and event sequences permitted for one classof objects in response to external and internal events. Thiscan be seen as a behavioural template for the class that it ismodelling (Artisan, 2002). A State Diagram shows thestates and the transitions between states through which anobject passes during its lifetime, together with its responsesto external events. After creating a State Diagram, theARTiSAN State Machine Generator can be used togenerate the model objects required to implement thesimulation programme for that State Diagram.For the Marine application, the four operational modes

of the gas turbine: start-up, stop, emergency stop andnormal operation (speed control) were modelled with StateDiagrams. Also, the state diagram for sensor faultdetection was modelled for a Sensor class. By using theARTISAN State Machine Generator, the dynamic simula-tion of these state diagrams can be performed forverification purposes. However, in practise, the modellingand simulation of the operational modes of a gas turbineand sensor fault detection are done in more sophisticatedtools like Stateflow/MathWorks or ISaGRAF (using theSFC language). Thus, State Diagrams were considered not

Page 12: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 13. Class Diagram of Control and Monitoring Gas Turbine (top-level).

Fig. 14. Tag information of stereotype ‘Alarms Information’.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9488

useful to model these requirements for the Marineapplication.

5.3.3. Other diagrams modelled

Apart from state diagrams, other diagrams that alsodepict system dynamics are the Collaboration Diagramand the Sequence Diagram. These both describe the flow ofmessages between objects. Sequence diagrams focus uponthe timing order in which the messages are sent.Collaboration diagrams, on the other hand, focus uponthe relationships between the objects. A Sequence Diagramshows the interactions which occur between the objects inthe Use Case. It is thus a graphical description of a UseCase. The diagram comprises statements, objects andstimuli. A Collaboration Diagram models the structuraldimension of a scenario by graphically illustrating the

interactions between actors and objects. It provides analternative representation of a Sequence Diagram, each onemodelling a different execution thread (or ‘scenario’)through a Use Case by showing the flow or sequence ofmessages between associated objects. The Use Cases,‘Automatic Operation Mode’ and ‘Start-up of GasTurbine’, were modelled using both Collaboration Dia-grams and Sequence Diagrams. Timing performance wasalso analysed and attached to the sequence diagram. AConstraints Model was used to define the constraintsapplicable to a system. Three types of constraints related tothe Marine application were represented: timing, perfor-mance and reliability. Although, it was useful to explore allof these diagrams to model the requirements, thesediagrams are not further used to interact with theFLEXICON toolset.

Page 13: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 89

Concurrency Modelling was used to take a set of objectsimplementing the required functionality (using ClassDiagrams) of the system and to schedule them so thatthe system meets its performance goals given the targethardware (System Architecture Diagram). A ConcurrencyDiagram represents a multi-tasking model. Thus, in theConcurrency Diagram that was created, the objects aremapped to their corresponding tasks. These tasks are thenmapped to the hardware devices created in the ArchitectureDiagram. The Concurrent Diagram has been used in theFLEXICON Code Generator tools.

5.3.4. Fault injection co-simulation

Referring back to the overall vision described in Fig. 1,integration of ARTISAN allows the control and plantsimulations developed in ISaGRAF and Simulink to beconnected to the architecture model of the system describedin UML. To demonstrate this, faults were injected into theSimulink model of the system (using a specially developedGUI as shown in Fig. 9). These are detected using faultdetection blocks in Simulink. The client in ARTISAN isshown in Fig. 15(a). This window shows that ARTISANhas successfully received the fault information fromSimulink and recorded this as a Short-circuit in the‘Combustor inlet temperature’ Interface Device withinARTISAN. The failed components are automaticallyhighlighted within the hardware architecture model.

The information can also be displayed on a faultinspector mimic as shown in Fig. 15(b). Here, the fact thatthere has been a short-circuit failure in the ‘Combustorinlet temperature Sensor’ is also recorded. Additionally, ared circle is given to warn that a failure has occurred onthat particular sensor and the date and time of the failure isrecorded. This information is logged in a file and used torecord the results of fault injection testing programmes. Itis also possible to expand this figure to locate the faultmore accurately inside a gas turbine engine picture.

Fig. 15. Fault information (a) from ARTIS

5.4. Co-simulation with excel reliability and through-life

cost models

Although Excel can be used to record the occurrences offailures and provides a useful feature for running testcampaigns, the primary role of Excel in the environmentis to support reliability and through-life cost modelling.A R&TLC tool that is part of the FLEXICON toolsetwas developed. This tool possesses a CORBA interfacethat allows calculation of system reliability figuresthrough extraction of data from the design tools. Also,this tool calculates automatically the cost of the systemas the system’s architecture is defined in UML andcontrol functionality is defined in Simulink and ISaGRAF.For instance, information on SIL and sensor types(intelligent and dumb) has been built into the UMLmodel (Class Diagrams and Architecture Diagrams,respectively) as described in the previous section. Addi-tionally, the degree of complexity of the control systemcan be extracted from the Simulink and ISaGRAFmodels by assessing the number of blocks/steps used. Thisallows the impacts on development and maintainabi-lity costs (and hence through-life costs) to be esti-mated through on-line extraction of information fromthe ARTISAN and Simulink tools via the co-simulation.This also allows systems engineers to rapidly assess newdesigns or modification of current designs with respect tothe through-life cost. This is particular useful whenconsidering Total Care Package contracts and rapidproduction of figures for ‘7 day proposal support’ inresponse to bids.The form of the functional and hardware reliability

models used to calculate system reliability/availability andthrough-life costing from the functional unavailability isgiven in Fig. 16(a) and (b). These take architectureredundancy level and complexity information from theUML, Simulink and ISaGRAF models and combine this

AN Client; (b) Fault Inspector Mimic.

Page 14: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

(a) (b)

Fig. 16. (a) Functional and (b) hardware reliability models.

Fig. 17. Hardware reliability model data input form.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9490

with information describing the boards and equipmentused, e.g. failure rates, costs, etc.

Drop down menus as shown in Fig. 17 are used to inputdata such as the usage and cost of unavailability of thepropulsion system. Within the spreadsheet it is possible forthe user to switch between forms and add new items to theequipment library.

5.4.1. R&TLC tool

This Section gives a simple example of how the reliability(see Fig. 18) and through-life models can be used to aid

decision-making in the design and development of acontrol system. Components details are stored in aspreadsheet including failure rate and cost information.This is combined with the expected usage data andnumbers of components used taken from the architecturemodel (UML) to calculate the total unreliability.The Control System tab of the form (see Fig. 19(a)) is

used to input data associated with the general design andintended use of the control system. This also features aplace to add the name of the particular system beingmodelled or assessed. This name is attached to the outputs

Page 15: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 18. Hardware reliability model example.

Fig. 19. Marine through-life cost input form: (a) control system, (b) maintenance, (c) disposal.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 91

form to the model to allow the user to distinguish betweendifferent trials of various systems. The Degree of Automa-

tion is extracted from the Simulink and ISaGRAF tools,and the Level of Safety Justification from the ARTISANtool. The Maintenance tab of the input form contains theinput parameters associated with the maintenance of the

control system. The Predictive Maintenance can be high,medium or low; the Maintenance Regime can be on-boardor shore based; and the level of Repair and Support

Network can be high, medium or low—this is shown inFig. 19(b). The Disposal tab contains the input parameterassociated with the disposal of the control system

Page 16: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESS

Fig. 20. Example of summary bar chart for marine Through-Life Cost tool.

H.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9492

(destroyed, recycled or sale to third party). The disposaltab is shown in Fig. 19(c). Once the parameter values havebeen extracted from the COTS tools (mainly for theControl System tab) and the other parameters are selectedon the other two tabs, the user presses the Calculate buttonand the information in the form is loaded into the R&TLCmodel.

5.4.2. Outputs from the model

The outputs from the Marine through-life cost model aretables and graphs showing the cost of the various stagesand activities. The main output page displays the cost (inthousands of pounds) for each of the through-life activitiessplit into the acquisition, operational and disposal stages.A summary of the cost for each stage is also given. Theoutput form associated with this page also allows the userto select bar graphs for the individual stages as well as asummary bar graph and pie chart for the entire project.The pie chart can be particularly useful as this gives aneasily interpreted display of the proportional contributionof each stage. An example of the summary bar chart isshown in Fig. 20.

6. Related work

A number of projects are investigating some of theintegrating technologies being used in FLEXICON.

In Dias, Teixeira, Teixeira, Becker, and Pereira (2001),an approach called MOSYS is described. MOSYS is amethodology for developing distributed real-time applica-tions based on distributed autonomous objects. Theapproach provides a method for automatic identificationof possible design objects architectures and includes

testability support during the design phase. MOSYS alsooffers support for automatic code generation for a real-time operating system. Although this approach is targetedat distributed real-time applications its emphasis is on aparticular phase in the development life-cycle—‘best fittedarchitecture’.Paunicka, Corman, and Mendel (2001) describe an Open

Control Platform (OCP), which facilitates the transitioningof control designs to embedded targets. The OCP is aCORBA-based solution for unmanned autonomous vehicle(UAV) control algorithms. The OCP contains a ControlApplication Programming Interface (API), thus the controldesigner takes the design generated by Simulink and usesthe Control API Front End Tool to enhance the designwith additional Quality of Service (QoS) Information (e.g.worse case execution times, allowable rates of execution,scheduling type, physical layout and data types). Then, theControl API Front End tool generates an XML represen-tation of the system. This XML description of the system isprovided as an input to the Control API Back End toolthat generates the OCP component framework. Finally, thedesigner adds Real-Time Workshop generated code(C++) to OCP’s component framework. This workdepends totally on the Real-Time Workshop to generatecode. However, using a descriptive language such as XMLallows non-functional information to be added.HIDOORS is an integrated development environment

for embedded distributed real-time systems and it is basedon the Java programming language. The goal of HI-DOORS is to provide the full functionality of the Javalanguage for the development of distributed, real-time andsafety-critical systems and to provide a set of tools thatsupport modelling, analysis and proof of correctness of

Page 17: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–94 93

systems developed in Java. This environment will cover allthe life-cycle of real-time software development usingextensions to existing tools (UML modelling, Javacompiler, Java Virtual Machine and a worst-case executiontime analysis tool) (Ventura, Siebert, Walter, & Hunt,2002).

A Boeing project, Open System Architecture-Condition-Based Maintenance (Boeing, 2002) uses the real-timemiddleware (RT-CORBA) to transfer data between com-puters and XML/HTTP for user display. RT-CORBA isused for high-level object semantics and XML for low-leveltext semantics. Java Servlet (Web Server: Tom Cat) is usedto extract RT-CORBA data and convert it to XML.

The Integrated Modelling for Analysis and Generationof Embedded Software (IMAGES) project from theCarnegie Mellon University (CMU, 2002) has the goal toimprove productivity of developing validated software forembedded systems through simultaneous and consistentmulti-view modelling and meta-modelling support. It willcreate a modelling framework, comprising extensiblenotation, analysis engines, tools and services for integra-tion, analysis and generation of embedded software.

Another project is the Model-Based Integration ofEmbedded Software (MoBIES) at the University ofCalifornia at Berkeley (UCB, 2002). This project is focusedon the design of process-oriented components and theirruntime environments for real-time embedded systems.Finally, in Krus (2002), the author presents a co-simulationof a wheel loader using a Simulink model, a HOPSANmodel and a model in Adams. HOPSAN is a simulationpackage for fluid power technology and Adams is a tool forsimulation of three-dimensional mechanical systems.

Although prototyping and analysis of systems is a veryactive area of research, FLEXICON is different in that itaims to reduce the development life-cycle and implementa-tion cost for distributed control systems. FLEXICON willprovide a set of tools for Marine, Aerospace andAutomotive applications (FLEXICON MAA), which willallow the integration of COTS tools (via co-simulation andwith HIL) for the design and development of theseapplications. Also, the tools will allow analysis of controlsystem performance, fault tolerance availability andthrough-life cost. FLEXICON uses open standards suchas OPC, IEEE 1451 and other standards like UML, IEC61131-3, CORBA and recently NDDS. The COTS toolsbeing integrated are ISaGRAF, Simulink, ARTISAN RtSand Excel.

7. Concluding remarks and future work

In this paper, a flexible multi-disciplinary co-simulationenvironment has been described that has been developedfor analysis and integration of distributed control systems.The FLEXICON toolset is applicable across a wide rangeof distributed real-time, safety-critical systems. Applica-tions include aerospace, marine, automotive and a range ofprocess control applications through the interface with

ISaGRAF for IEC 61131-3 programming of PLC-basedsystems. It should be noted that the methodology of howthe tools are used is not prescriptive. For instance, it will bedifficult to change the development process model of Rolls-Royce Marine or any other company. Thus, the FLEX-ICON toolset is based on the V-model that is well acceptedand widely used for the development of an application.Also, it is very similar to the process model used at Rolls-Royce. The interfaces developed for the co-simulation areflexible allowing engineers to perform whatever studiesthey wish.In the case of the Marine application described in this

paper, Rolls-Royce Marine provided a requirementsdocument and also a Simulink model which was extendedto meet these requirements. As mentioned in the paper, theSimulink model only accounts for 20% of the require-ments. Thus, using other COTS tools, models were createdto fully comply with these requirements. For instance, thesupervisory control modes driven by a Captain’s HMI(start-up, normal operation, normal stop and emergencystop) were implemented in a SFC diagram using theISaGRAF tool. This SFC is used in co-simulation tocontrol the gas turbine engine/waterjet model in Simulink.A GUI in Simulink was also implemented to allow faultinjection to create a range of open- and short-circuitfailures in sensors. The results of these fault injectionexperiments can be logged in a file or used to indicatesensor failures graphically. Redundancy was designed in aSystem Architecture Diagram using the ARTISAN tool.Critical failures such as an overspeed can also be simulatedand the correct response (emergency shutdown of the gasturbine engine) can be validated. Finally, informationabout the system control complexity can be extracted fromthe ISaGRAF and Simulink tools, along with physicalinformation on the hardware architecture (componentsused and their arrangement to create redundancy) andfunctional information such as the safety integrity levels ofdifferent functions to be used in the reliability and through-life cost modelling tools in Excel. This provides a powerfulmeans of assessing the viability of systems for Total CarePackage contracts and also supporting rapid production ofdata for ‘7 Day Proposal’ generation. In order to generatecode for the full application, Code Generation tools havebeen also implemented in the project. These tools are notreported in this paper. Currently, a demonstrator that willallow the performance evaluation of the tools is beingconstructed.

Acknowledgements

The authors gratefully acknowledge the financial sup-port of the European Union’s Information and ScienceTechnologies programme for the FLEXICON projectIST-2001-37269, Rolls-Royce plc., the DTI and theLoCostUCAV project. Additionally, the authors gratefullyacknowledge the support provided by ARTISAN, Borlandand WindRiver.

Page 18: A flexible environment for rapid prototyping and analysis of distributed real-time safety-critical systems

ARTICLE IN PRESSH.A. Thompson et al. / Control Engineering Practice 15 (2007) 77–9494

References

Artisan. (2002). Manual of ARTISAN real-time studio. Version 4.2,

ARTISAN Software tools.

Boeing. (2002). Open system architecture-condition-based maintenance.

http://www.osacbm.org/Documents/milestones/milestone10/Boein-

g_OSACBM_Milestone10_ver3.pdf; Access date: 11/10/2002.

Borland. (2002). C++ Builder 6 Developer’s guide. The Borland Software

Corporation.

Browne, A. R., Bass, J. M., & Fleming, P. J. (1997). A building-block

approach to the temporal modelling of control software. In Proceed-

ings of the fourth IFAC workshop on algorithms and architectures for

real-time control, AARTC 97, Portugal, pp. 433–438.

Cashman, M. (2001). A basic CORBA application. http://www.tempor

aldoorway.com/programming/cbuilder/multitier/basiccorba.htm.

CMU (2002). The integrated modeling for analysis and generation of

embedded software (IMAGES). http://www.rl.af.mil/tech/programs/

MoBIES/Carnegie_Mellon_U.html; Access date: 11/10/2002.

Dias, O. P., Teixeira, I. M., Teixeira, J. P., Becker, L. B., & Pereira, C. E.

(2001). On identifying and evaluating object architectures for real-time

applications. Control Engineering Practice, 9, 403–409.

Douglas, B. P. (2004). What’s new in UML 2.0? IEE Electronics Sector,

published on 1 December 2004.

Isagraf. (2002). ISaGRAF Enhanced-Workbench (2.4). AlterSys.

Krus, P. (2002). System modelling and simulation. http://www.machine.ikp.

liu.se/edu/post/multidomain/SMSkurs1.pdf; Access date: 11/10/2002.

Lewis, R.W. (1998). Programming industrial control systems using IEC

1131-3’’ (revised ed.). IEE Publications.

Li, M., & Qi, M. (2004). Leveraging legacy codes to distributed problem-

solving environments: a web services approach. Software-Practice and

Experience, 34, 1297–1309 (Wiley InterScience).

Newman, A. J. (2005). Hardware co-simulation of a tailless, thrust

vectoring unmanned aerial vehicle. M.E dissertation, University of

Sheffield, submitted for publication.

OMG-CORBA. (2005). http://www.omg.org/gettingstarted/corbafaq.htm;

Access date: 06/06/05.

OMG-RT Profile. (2003). Draft available specification, ‘UML profile for

schedulability, performance, and time specification’. http://www.omg.

org; ptc/2003-03-02.

OMG-UML. (2005). http://www.uml.org/; Access date: 07/06/05.

Paunicka, J. L., Corman, D. E., Mendel, B. R. (2001). A CORBA-based

middleware solution for UAVs. In The fourth IEEE international

symposium on object-oriented real-time distributed computing, ISORC

2001, 2–4 May (pp. 261–267). Magdeburg, Germany: IEEE Computer

Society.

Ramos-Hernandez, D. N., Fleming, P. J., & Bass, J. M. (2005). A novel

object-oriented environment for distributed process control systems.

Journal of Control Engineering Practice, 13(2), 213–230.

Segue Software. (2003). A CORBA primer—CORBA white paper. http://

cgi.omg.org/library/seguecorba.pdf; Access date: 06/03/03.

Stateflow. (2002). Stateflow and stateflow coder for complex logic and state

diagram modelling. User’s Guide Version 5.0. The MathWorks Inc.

Stewart, P. G., & Fleming, P. J. (2001). The response surface methodology

for real-time distributed simulation. In Proceedings of the IFAC

conference on new technologies for computer control, Hong Kong

(pp. 128–133).

Tari, Z., & Bukhres, O. (2001). Fundamentals of distributed object

systems. In A. Y. Zomaya (Ed.), The CORBA perspective. Wiley series

of parallel and distributed computing. USA: Wiley.

Thompson, H. A., & Ramos-Hernandez, D. N. (2004). A flexible control

systems development and integration environment for distributed

control. In Proceedings of the sixth Portuguese conference on automatic

control, Controlo 2004, 7–9 June, Faro, Portugal.

Thompson, H. A., Ramos-Hernandez, D. N., Cartledge, K., Fortune, J.,

& Brown, A. (2003). A flexible control systems development and

integration environment for distributed ship control. In 13th interna-

tional ship control systems symposium (SCCS), 7–9 April, Orlando,

USA.

Thompson, H. A., Ramos-Hernandez, D. N., Fu, J., Jiang, L., Nui, J., &

Choi, I., et al. (2004). FLEXICON co-simulation environment for the

marine application. In Proceedings sixth Portuguese conference on

automatic control, Controlo 2004, 7–9 June, Faro, Portugal.

UCB. (2002). Model-based integration of embedded software. http://

ptolemy.eecs.berkeley.edu/projects/mobies/; Access date: 11/10/2002.

Ventura, J., Siebert, F., Walter, A., & Hunt, J. (2002). HIDOORS—

A high integrity distributed deterministic Java environment. In

Proceedings of the seventh IEEE International workshop on object-

oriented real-time dependable systems (WORDS 2002), 7–9 January

(pp. 113–118). San Diego, CA: IEEE Computer Society.

Further reading

Simulink. (2002). Simulink, model based and system based design. Using

Simulink version 5.0. The MathWorks Inc.