IT and Engineering Insight: Control architecture, who needs it?

If you have a large control software programming project and no control system architect, small changes can lead to dead ends and bad decisions.

09/13/2010


One of the bad habits of unsuccessful software programming projects, mentioned in the August “IT and Engineering Insight” column, is the lack of a system architect or a well-defined architecture. Without an architecture providing a controlling influence, small changes will accumulate during project execution, too often leading down dead ends or to bad decisions. To paraphrase Lewis Carroll: If you don't know where you are headed, then any direction seems like the right path. [Online extra - Also read, below: Don’t be duped; Is it marketing or a unified modeling language?]

Having an architect for a control software or manufacturing IT software programming project may seem like a waste: an architect will not generate code, write detailed design documents, write test cases, or execute tests. However, not having architecture involvement has doomed many projects from their start. Software guru Grady Booch said it best “ …every system has an architecture - most are accidental, some are intentional.”

Architecture or architect?

All control system projects need well-defined architectures, but not all projects need architects. Those that are big enough, or different from previous projects, do need involvement of a control system architect. Medium size projects often require part time architect involvement, and large projects often require a full-time architect or an architecture team. Small projects, where the problem is well understood, may not need an architect’s involvement. Small projects do, however, still need an architecture. Consider building an office building; you need an architect and a well-defined architecture or else you will have a lot of demolishing, rework, and remodeling to do. If you are building a tree house, you don’t need an architect, but you still need an architectural plan, even if it’s on the back of an envelope.

At the start of a project the primary role of the control system architect is to develop a precise and clearly understood vision of the entire system. The system should define the main elements of the design, the top level design requirements for each element, and the interfaces between elements. A good architect will continually evaluate the system architecture during development to ensure it is still valid. This means that the architect must be involved in all design reviews. The architect’s primary role during project execution is to review preliminary designs, detailed designs, and changes requests. The architecture provides guidance that keep problems from arising due to incomplete understanding of requirements, bad designs, hidden connections between elements, and incompatible changes in requirements.

Get a reasonable expert

Identifying an architect or assigning the architect role to someone is an important first step in a project. An architect must be a jack-of-all-trades. The architect must be a reasonable expert in databases, networks, programming languages, programming styles, and the application area. An architect needs to understand software engineering as well as the specialized tools for documenting and verifying architectures. If the project is a control system project, then a control system architect is needed to know all of technologies listed above and also needs to know HMI, PLC, and DCS programming languages, data historian architectures, and industrial networks.

Picking a team member and assigning that person the architect role is bad project practice. Like any skill, being an architect takes practice and specialized knowledge. Grady Booch also said, “The best software designs look simple, but it takes a lot of hard work to design a simple architecture.”

Unsuccessful projects will often fail to have anyone clearly assigned to the architect role or will not have a well-defined architecture. Having a detailed architecture specification or an identified system architect will not make a project successful, but lacking both will leave your project “out-of-control.”


-Dennis Brandl is president of BR&L Consulting in Cary, NC, www.brlconsulting.com. His firm focuses on manufacturing IT. Contact him at dbrandl(at)brlconsulting.com.


View feedback submitted on this article: Balkanization of instrumentation and control profession

Also read:

- IT and Engineering Insight: Seven habits of unsuccessful projects;

- More IT and Engineering Insight.

Also see: How to Avoid Project Failure.


ONLINE extra: Don’t be duped: Is it marketing or a unified modeling language?

How do you know if your project has a well-defined project architecture? Unfortunately, if you have to ask, then the answer is probably “No you don’t have a well-defined architecture.” If you have an architecture, make sure it not really a “marketecture.” A Marketecture (marketing-architecture) is the marketing departments attempt at an architecture. Markectectures are usually PowerPoint presentations, developed by marketing for sale engineers to explain the main elements of a system. They look pretty, but don’t have any of the detailed interface and functionality information of a real architecture. If your architecture specifications consist of marketing slides, then you have a marketecture, not an architecture.

Real architectures may be formally defined or informally defined. If they are formal, then they are often described using the UML (Unified Modeling Language - ISO/IEC 19501) architecture components of packages, package diagrams, component diagrams, and deployment diagrams. Informal architectures will use boxes to represent individual elements and lines to represent integration points of data or control flow. Each element must have a clearly defined function, interface, scope, timing requirements, and restrictions. Each integration point must have a clearly defined list of data elements that make up the data or control flow, and should identify the amount and frequency of the information exchange. If your architecture diagrams and documents lack these critical pieces of data, they are probably marketecture diagrams and will not provide the controlling influence required for an “in-control” project.

Project management versus an architect

One common mistake in software programming projects is to assume that the project manager can be the architect. Project managers have many important personnel and scheduling tasks to perform when running projects, leaving little time to evaluate designs and detect future problems. Another mistake is to let the developers “work out the architecture.” This leads to inconsistent module designs and interfaces, usually resulting in significant rework and redesign late in the project.



No comments
The Engineers' Choice Awards highlight some of the best new control, instrumentation and automation products as chosen by...
Each year, a panel of Control Engineering editors and industry expert judges select the System Integrator of the Year Award winners.
Control Engineering Leaders Under 40 identifies and gives recognition to young engineers who...
Learn more about methods used to ensure that the integration between the safety system and the process control...
Adding industrial toughness and reliability to Ethernet eGuide
Technological advances like multiple-in-multiple-out (MIMO) transmitting and receiving
Big plans for small nuclear reactors: Simpler, safer control designs; Smarter manufacturing; Industrial cloud; Mobile HMI; Controls convergence
Virtualization advice: 4 ways splitting servers can help manufacturing; Efficient motion controls; Fill the brain drain; Learn from the HART Plant of the Year
Two sides to process safety: Combining human and technical factors in your program; Preparing HMI graphics for migrations; Mechatronics and safety; Engineers' Choice Awards
The Ask Control Engineering blog covers all aspects of automation, including motors, drives, sensors, motion control, machine control, and embedded systems.
Join this ongoing discussion of machine guarding topics, including solutions assessments, regulatory compliance, gap analysis...
News and comments from Control Engineering process industries editor, Peter Welander.
IMS Research, recently acquired by IHS Inc., is a leading independent supplier of market research and consultancy to the global electronics industry.
This is a blog from the trenches – written by engineers who are implementing and upgrading control systems every day across every industry.
Anthony Baker is a fictitious aggregation of experts from Callisto Integration, providing manufacturing consulting and systems integration.
Integrator Guide

Integrator Guide

Search the online Automation Integrator Guide
 

Create New Listing

Visit the System Integrators page to view past winners of Control Engineering's System Integrator of the Year Award and learn how to enter the competition. You will also find more information on system integrators and Control System Integrators Association.

Case Study Database

Case Study Database

Get more exposure for your case study by uploading it to the Control Engineering case study database, where end-users can identify relevant solutions and explore what the experts are doing to effectively implement a variety of technology and productivity related projects.

These case studies provide examples of how knowledgeable solution providers have used technology, processes and people to create effective and successful implementations in real-world situations. Case studies can be completed by filling out a simple online form where you can outline the project title, abstract, and full story in 1500 words or less; upload photos, videos and a logo.

Click here to visit the Case Study Database and upload your case study.