5
Trends in Software and Control Sanz, Ricardo; Årzén, Karl-Erik Published in: Control Systems Magazine DOI: 10.1109/MCS.2003.1200238 Published: 2003-01-01 Link to publication Citation for published version (APA): Sanz, R., & Årzén, K-E. (2003). Trends in Software and Control. Control Systems Magazine, 23(3), 12-15. DOI: 10.1109/MCS.2003.1200238 General rights Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights. • Users may download and print one copy of any publication from the public portal for the purpose of private study or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal ? Take down policy If you believe that this document breaches copyright please contact us providing details, and we will remove access to the work immediately and investigate your claim.

sanz arzen IE...Mag 2003.pdf

Embed Size (px)

Citation preview

Page 1: sanz arzen IE...Mag 2003.pdf

LUND UNIVERSITY

PO Box 117221 00 Lund+46 46-222 00 00

Trends in Software and Control

Sanz, Ricardo; Årzén, Karl-Erik

Published in:Control Systems Magazine

DOI:10.1109/MCS.2003.1200238

Published: 2003-01-01

Link to publication

Citation for published version (APA):Sanz, R., & Årzén, K-E. (2003). Trends in Software and Control. Control Systems Magazine, 23(3), 12-15. DOI:10.1109/MCS.2003.1200238

General rightsCopyright and moral rights for the publications made accessible in the public portal are retained by the authorsand/or other copyright owners and it is a condition of accessing publications that users recognise and abide by thelegal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of privatestudy or research. • You may not further distribute the material or use it for any profit-making activity or commercial gain • You may freely distribute the URL identifying the publication in the public portal ?Take down policyIf you believe that this document breaches copyright please contact us providing details, and we will removeaccess to the work immediately and investigate your claim.

Page 2: sanz arzen IE...Mag 2003.pdf

12 IEEE Control Systems Magazine June 20030272-1708/03/$17.00©2003IEEE

Researchers in the computers and controlfield are becoming increasingly aware of the

need for an integrated scientific and technologi-cal perspective on the role that computers play incontrol systems and that control can play in com-puter systems. This need is evidenced by recentadvances in areas such as embedded systems,plantwide control systems, robotics, andmiddleware. Control engineers must master com-puter and software technologies to be able tobuild the systems of the future, and software engi-neers need to use control concepts to master theever-increasing complexity of computing sys-tems. The increased awareness and activitieswithin the field are underscored by IEEE ControlSystems Magazine in this special issue and in theFebruary 2003 special issue on software-enabledcontrol.

By Ricardo Sanz andKarl-Erik Årzén

Sanz ([email protected]) is with the UniversidadPolitécnica de Madrid, Spain, and Årzén ([email protected]) is with Lund University, Sweden.

CD

ST

RA

ND

:©19

99JO

HN

FO

XX

IMA

GE

S4

CO

MM

UN

ICA

TIO

NS

;SK

Y&

DO

OR

WA

YIM

AG

RU

BB

ER

BA

LLP

RO

DU

CT

ION

S;D

OO

RW

AY

TE

XT

UR

E:©

DIG

ITA

LV

ISIO

N,L

TD

Page 3: sanz arzen IE...Mag 2003.pdf

Complexity is increasing, and the limitations of classicalmethods for real-time systems engineering become appar-ent when faced with the embedded controls required forcritical applications. Control systems are becoming verycomplex software applications. Most of the software as-pects that induce complexity have their roots in require-ments that are hard to meet in isolation and extremelydifficult to attain in conjunction with other subsystems.Many software systems for control are or need to be:

• Time critical: They require high performance and/orare subject to hard real-time constraints.

• Embedded: They must execute on platforms with lim-ited computing resources and interact with the exter-nal environment.

• Fault tolerant: They must maintain(some level of) performance under faultconditions.

• Distributed: Software components areoften distributed on several intercon-nected computers.

• Intelligent: They may require the solu-tion of ill-posed problems, requiring asubstantial level of intelligent and au-tonomous behavior.

• Large: They consist of potentially mil-lions of lines of code.

• Integrated: An application requires theintegration of several subsystems into asingle, cohesive unit.

• Open: They should be nonproprietary and capable ofsupporting third-party applications.

• Heterogeneous: They should be able to execute on avariety and mixture of computational platforms.

Ten years ago, research in control software focused onone or a couple of these aspects. Today, even the simplestcontroller is subject to several of these requirements. Con-sider, for example, embedded systems for plant automation.They comprise key components in both end-user productsand production systems. Machine controllers, process con-trollers, PLCs, robot controllers, and servocontrollers fordevices such as fixtures and welding equipment arewell-known industrial examples. Such embedded systemsare real-time systems, typically distributed/networked, andintegrated in large assemblies supporting standardized in-terfaces for openness and interoperability.

Control systems have traditionally been relativelystatic systems; however, technological advances andmarket demands are rapidly changing the situation. Theevolution from static to dynamic systems makes flexibil-ity a key design attribute for future systems. Local compo-nent intelligence is increasing, and large distributedcontrollers are being developed as communities of inter-acting intelligent agents. The increased connectivity im-plied by the Internet and mobile device technology willhave a major impact on control system architectures.

Modern products are often based on component architec-tures using commercial off-the-shelf (COTS) elements asunits. Standardization and use of open market technolo-gies are current requirements in control systems. Newlanguages and platforms such as Java, C#, and CORBA arepromising increased ease of use, portability, and safetyand contribute to making heterogeneous distributed con-trol system platforms possible.

Control systems constitute an important subclass of em-bedded real-time systems. In most critical cases, the require-ments for predictability are imposed by the fact that thereal-time system is actually a control system. A soft-ware-based controller is part of a computerized feedback

loop that imposes timing constraints on the software and theplatforms. The traditional approach in the real-time commu-nity is to design the system so as to maximize the temporaldeterminism. In control applications, however, the temporalnondeterminism can be viewed as a disturbance or uncer-tainty, and the control system can be designed to be robustagainst variations or to actively compensate for them. Thisopens up the possibility for more dynamic system architec-tures where the control applications and the implementationplatform negotiate online for access to shared resources,such as CPU time and communication bandwidth. In this ap-proach, the control performance can be regarded as a qual-ity-of-service parameter.

The rapid development of COTS computing and commu-nication platforms lacking stringent timing guaranteesmakes static system designs based on worst-case assump-tions increasingly conservative. Research is needed on de-sign and implementation techniques that allow dynamicrun-time flexibility with respect to variations such aschanges in workload and resource utilization patterns. Inaddition, we need to improve our understanding of how thisdynamic flexibility may be combined with more traditionalreal-time system approaches based on static design meth-odologies. For example, how should event-driven executionbe combined with prescheduled time-driven execution inembedded control systems?

June 2003 IEEE Control Systems Magazine 13

Control engineers mustmaster computer andsoftware technologiesto be able to build thesystems of the future.

Page 4: sanz arzen IE...Mag 2003.pdf

The use of control-based approaches for the modeling,analysis, and design of embedded computer and communi-cations systems is currently receiving increased attentionfrom the real-time systems community as a promising foun-dation for controlling the uncertainty in large and complexreal-time systems. Areas of growing interest include feed-back architectures for adaptive real-time computing, theoryfor performance guarantees under uncertainty, integratedresource scheduling and feedback control, control-theoreti-cal models of dynamic real-time systems, ap-plication of control theory for controllingtiming behavior, and optimal, robust, or adap-tive feedback control in real-time systems.The use of control has the potential to in-crease flexibility while preserving depend-ability and efficiency. For example, controltechniques can be used to compensate forshortcomings and imperfections in the imple-mentation platforms. Control approaches toresource allocation are especially interestingfor distributed control systems. For example,a feedback scheduler can distribute the com-puting and communications resources insuch a way that the global control perfor-mance is maximized. This is also an alterna-tive approach to increase system dependability or achievegraceful degradation.

For future industrial competitiveness, new types of com-petence and system solutions are needed. The use of con-trol-based approaches in the analysis and design ofembedded systems is one promising approach. Further-more, low-level, real-time technology needs to be combinedwith high-level aspects, such as programming, networking,security, simulation, and control.

The use of these technologies in the implementation ofcomplex controllers will necessarily be based on develop-ment tools and methodologies that provide support for de-sign, implementation, verification, and deployment.Real-time Unified Modeling Language (UML, the modelinglanguage of reference in the software engineering commu-nity) will potentially provide us with methods for modelingreal-time embedded systems in such a way that we will beable to compute real-time system properties (e.g., respon-siveness, schedulability, resource requirements) in ad-vance from the models.

When complexity increases, engineers rely on well-known, effective designs. Design knowledge capture is acritical issue for control engineers, who repeatedly re-usecontrol designs that are well known and well documented.When software is involved in the final implementation, how-ever, many other factors that are not well documented in thecontrol design textbook must be taken into account. It is dif-ficult to document the control and the software parts of acontroller in a concise, coherent, and integrated way. An in-teresting methodology that can help us with this knowledge

capture task is the use of design patterns for the systems inour field. These patterns will contribute to the effectivesharing of the best design knowledge and will serve as a ba-sis for effective systems development based on automatedtool support.

To summarize, software is critical for the control sys-tems community, and a better understanding of it is neces-sary to build the systems of the future in a framework ofprogressively difficult requirements: smaller size, less cost,

less time, more functionality, more evolvability, and moredependability. To cope with these requirements, the controlsystems community must actively follow the developmentsin a number of areas: agent technology, architecture-baseddesign, artificial intelligence, concurrent engineering, com-posability, design patterns, distributed embedded systems,domain engineering, embedded systems, frameworks, inte-gration, life cycles, model-based software engineering, mod-ular systems, object-oriented programming, ontologies,product line engineering, real-time distributed systems, re-usability, software components, and software processes.This special section includes five articles that cover a partof this spectrum of knowledge.

Tools that unify the analysis and design of controllersand computing systems are critical for this field. The arti-cle “How Does Control Timing Affect Performance?” byAnton Cervin, Dan Henriksson, Bo Lincoln, Johan Eker, andKarl-Erik Årzén discusses the possibilities for analyzingthe control performance effects caused by non-deterministic jitter (e.g., in sampling intervals and laten-cies) due to real-time kernel anomalies, communicationdelays, and the like. Two new MATLAB toolboxes are pre-sented: Jitterbug and TrueTime. Jitterbug makes it possi-ble to compute a quadratic performance criterion for alinear control system under various timing conditions. Us-ing the toolbox, one can determine how sensitive a controlsystem is to delay, jitter, lost samples, aborted computa-tions, and so on. The tool can also be used to investigate jit-ter-compensating, aperiodic, and multirate controllers.TrueTime allows the user to simulate the timing effects

14 IEEE Control Systems Magazine June 2003

Software engineersneed to use controlconcepts to master theever-increasingcomplexity ofcomputing systems.

Page 5: sanz arzen IE...Mag 2003.pdf

caused by scheduling, context switches, and interrupthandling in an RT kernel, as well as their impact on controlperformance. Additionally, the effects caused by variouscommunication protocols on the performance of net-worked control loops can be simulated. TrueTime alsoserves as a simulation platform for the design of more flexi-ble/adaptive scheduling strategies that take the applica-tion characteristics into account dynamically. One suchexample is feedback scheduling. The article primarily con-siders feedback scheduling in the context of control-loopscheduling (i.e., how to apply feedback scheduling ideas inthe design of real-time feedback control systems).

Good design engineering is critically based on ourcompetence in building good models of the systems we in-tend to build. In their article, Cervin et al. took an ap-proach based on classic tools in the controls field; in“Using Models in Real-Time Software Design,” Bran Selicand Leo Motus proceed along the same lines but from adifferent direction: that of mainstream software technol-ogy. Software engineering is critically conditioned by ourcapability to convey designs among all stakeholders in acomplex software system (as most control systems are).This is especially critical when difficult requirementsmust be met (e.g., small footprint, speed, predictability,distribution). As the authors say, “real-time software isparticularly difficult to design,” but traditional model-based engineering is useful for this task. Multiperspectivesoftware models help designers focus on relevant detailsand ignore what is irrelevant for a particular task (analy-sis, understanding, code generation, etc.). Selic andMotus highlight the use of UML to model the real-timesoftware implementation of controllers.

Transfer and storage of design knowledge is critical forsystems engineering effectiveness. The article “Pattern-Based Control Systems Engineering” by Ricardo Sanz andJanusz Zalewsky introduces a pattern-based methodologyfor capturing control systems design knowledge. Patternsoffer such a method for design knowledge transfer and areeven more critical in domains with tight requirements,such as the control domain. When design heterogeneitygrows, as is the case when control is augmented with com-plex software issues, it is progressively difficult to captureand interchange design knowledge. Patterns help in shar-ing knowledge and in the development of a common vocab-ulary and a shared understanding of design alternatives.

The increasing availability of distributed computing re-sources and the escalating need to fulfill complex behav-ioral requirements in the presence of uncertaintynecessarily lead to the allocation of intelligence to the small-est parts of a control system. The article “Agent-Based Con-trol Systems” by Nicholas R. Jennings and Stefan Bussmanndescribes the implementation of control systems com-

posed of collections of semiautonomous agents that coop-erate to reach a global control objective. The “agent” designparadigm offers a solid, generic foundation for control sys-tems engineering. Encapsulating behavior in agents helpssolve the composability problem of large-scale controllerengineering, increasing functionality and systems resiliencedue to the increased autonomy of isolated entities.

The article “Feedback Performance Control in SoftwareServices” by Tarek F. Abdelzaher, John A. Stankovic,Chenyang Lu, Ronghua Zhang, and Ying Lu looks at theother side of the coin. Software is critical for control sys-tems, but control systems are also going to be critical forcomplex software systems. The authors describe ways ofmodeling the software system and give examples of howcontrol technology can help increase the sustained perfor-mance of the system. They introduce control-theoreticconcepts for the implementation of software systems thatprovide increased quality of service, and they describetools and middleware platforms that can be used to regu-late system performance attributes.

This special issue provides a sample of an extremelybroad and complex field. Although we do not cover all thetechnologies and knowledge needed for a future synthesisof control and software, we hope that the sampling pre-sented can help pave the way to a broader and more inte-grated knowledge sharing between both disciplines.

Ricardo Sanz is an associate professor of systems engi-neering and automatic control at the UniversidadPolitécnica de Madrid, Spain. He obtained his engineeringand Ph.D. degrees from the same university in 1987 and1991, respectively. He is a Senior Member of the IEEE andchair of the IFAC Technical Committee on Computers andControl and the OMG Control Systems Working Group. Hisresearch interests include large-scale controller engineer-ing, intelligent modular control, and object-based distrib-uted real-time systems. He is an associate editor of IEEEControl Systems Magazine.

Karl-Erik Årzén received a Ph.D. in automatic controlfrom the Lund Institute of Technology, Sweden, in 1987. Hehas been a professor at the Department of Automatic Con-trol at Lund Institute of Technology since 2000. His re-search interests are real-time systems, real-time control,and programming languages for control applications. Hewas chair of the IEEE Control Systems Society TechnicalCommittee on Real-Time Control, Computing, and SignalProcessing from 1999 to 2002 and is currently vice-chair ofthe IFAC Technical Committee on Computers and Control.

June 2003 IEEE Control Systems Magazine 15