Complexity and Architecture

Capell, P. and Madni, A.M.

Abstract

As systems continue to grow in complexity, they increasingly rely on software to provide the requisite capabilities. The unintended consequences of the flexibility afforded by software is that occasionally those involved in developing requirements do a less than through job because of the erroneous belief that when they change requirements, the flexibility afforded by software will some how accommodate such changes. In fact, it would not be an overstatement that software is viewed as liquid logic that can be "poured" liberally into the "cracks" between large subsystem interfaces and fill "holes" in incomplete system representation. As stewards of the public trust – trust that our systems function reliably and safely as advertised, we need more stringent stan-dards of engineering to be applied to software engineering. This paper addresses some of the key issues underlying architecture and complexity that need to be addressed before the vision of formal, systematic development can become a reality.

From: Capell, P. and Madni, A.M., Conference on Systems Engineering Research (CSER), 2008.