Control Systems Architecture and Governance - Pragmatic Enterprise Architecture (2014) - Strategies to Transform Information Systems in the Era of Big Data

Pragmatic Enterprise Architecture (2014)
Strategies to Transform Information Systems in the Era of Big Data

PART V Control Systems

Abstract

This part represents an excursion into control systems so as to help the reader appreciate some of the key ways in which it contrasts with information systems. Having an appreciation of control systems also provides value to understanding information systems because object-oriented paradigms began in the realm of control systems first and later spread into the world of information systems. Although the second edition of this as planned goes into more depth into this topic as well as others, the content of this section will position the reader to address the confusion espoused by those that see incompatibilities between object-oriented and relational methods for what they truly are, which is simply the difference between control systems and information systems.

Keywords

control systems

COTS

commercial off the shelf

test beds

system paradigm

5.1 “Control Systems” Architecture and Governance

Few individuals get the opportunity in their career to work with both, information systems and control systems, never mind succeed in understanding both.

Information systems started when businesses needed to cut the manpower costs associated with doing intellectual tasks, such as bookkeeping and accounting. Essentially, information systems could perform most any tasks that could be performed by people using a paper and a pencil.

Although information systems have software drivers that operate hardware peripherals, those peripherals are always standard devices, such as printers, monitors, or an interface to an I/O substructure loaded with disk drives.

Control systems, on the other hand, started as a way for software to replace people to operate machinery. Today, control systems range from the simplicity of operating a beverage machine to operating a cruise missile, a B-2 stealth bomber aircraft, or even a human-like robot.

5.1.1 Key Development Issues

Through their development process, control systems necessarily have an emphasis on hardware. The events that they react to are environmentally driven within the physical world, their processing is real time, they are more often computationally intensive, they have few lines of software code, there have few data points, and the development environment of a control system is almost always radically different than their production target environment.

In contrast, information systems have an emphasis on software, their events originate with a man-machine interface, they have online and batch processing, they are more often I/O intensive, there is usually large quantities of software in terms of lines of code and layers of software architecture, they have large numbers of data points, and their development environments are similar or identical to their target production environment.

5.1.2 Analysis Issues

Regarding the analysis portion of their respective system development life cycles, control systems require modeling of the entire system including hardware. They have a process-oriented focus with heavy process modeling and control modeling component, and they have little or no man-machine interface.

Information systems analysis focuses upon modeling just the software containing the business rules that are built into the application components, thereby excluding analysis functional analysis of hardware and infrastructure software, such as operating system, database management system, and network and security software. There is a preponderance of data architecture and data modeling, and they have a significant man-machine interface.

5.1.3 System Design Issues

Regarding the system design portion of the systems development life cycle, control system responses are always time critical. Any degradation that must be tolerated must be graceful (i.e., control systems do not roll back transactions, roll forward transactions, or dump system memory to a file or a printer). They usually do not have the notion of a transaction, and their error handling is all about keeping the system operational. The system environment is physically centralized and is typically equipped with a variety of sensor devices that generate streams of I/O.

Information systems in contrast focus upon data integrity as the single most important priority. Rollback and recovery are required to protect data integrity. Transactions and logical units of work are essential concepts. They require error handling to protect each unit of work. Information systems are often distributed, and the I/O devices range between man-machine interfaces or databases with large assortments of data points.

5.1.4 Implementation Issues

Regarding implementation issues, control systems have custom designed and developed operating systems and I/O drivers, with an emphasis on algorithmic solutions that are sometimes instantiated within hardware.

Information systems employ commercial off the shelf (COTS) operating systems, sometimes open source operating systems (e.g., Linux), middleware (e.g., JBOSS), COTS database management system software, sometimes open source database management system software (e.g., Hadoop, HBase), security software, network operating systems, programming languages, and Web-based infrastructure.

5.1.5 Test Issues

Regarding test issues, control systems have a variety of program-specific integration and test environments including host-based test beds, real-time closed loop test beds, real-time open loop test beds, and operational testing in a simulated environment.

Information systems often have program-independent unit test, integration test, user acceptance, and stress testing environments, as well as occasional additional environments, such as an emergency test environment to troubleshoot production without directly impacting the software development life cycle environments.

5.1.6 Cost Issues

Regarding cost factors, control systems employ product-specific materials, extensive labor requirements for development, and test deployment, development of program-specific integration and test environments, and manufacturing units of the system.

Information systems, on the other hand, have for each release systems analysis and design costs, software development labor, testing labor, and labor to maintain and support the application.

5.1.7 Profit Areas

The profit area for control systems is hardware unit production with breakeven usually 3 years after deployment.

Information system profit areas are numerous including profits generated for services rendered for the systems development life cycle, user support agreements, software support, maintenance, and software licensing potentially involving participation in the business profits.

5.1.8 Architectural Issues

The architectural artifacts and architectural disciplines of control systems and information systems are significantly different than one another. Even though objects in control systems are from the tangible physical world and information system objects are from the intangible intellectual world, the one thing they can share is an object-oriented approach to analysis, design, and implementation.

The application architecture for error handling is perhaps the most unsettling aspect to developers from the other system paradigm. On one hand, you don’t want a billion dollar aircraft falling out of the sky because it decided to perform a memory dump, but on the other hand, you also don’t want zero divide errors gracefully handled by explicitly being ignored in a global money transfer system.

We’ve only briefly covered the differences of controls systems and information systems mostly because this book would double in size if we addressed the architectural disciplines of control systems in the manner that we have done so for information systems.