25 11 / 2011

Notes on “ultra-large-scale systems”

The term “ultra-large-scale system (ULSS)” was introduced in a 2006 report produced by Linda Northrop and colleagues from Carnegie Mellon University’s Software Engineering Institute.  The ULSS report explains that systems are reaching unprecedented scales (by measures including lines of code; numbers of users and stakeholders; purposes the system is put to; amounts of data stored, accessed, manipulated, and refined; numbers of connections and interdependencies among components; and numbers of hardware elements).  The ULSS report argues that these “ultra-large-scale systems” defy traditional approaches to engineering and management.  The problem is no longer of engineering systems, or system-of-systems but of engineering what they call socio-technical ecosystems.

At a similar time to the publication of the ULSS report, a research and training initiative was starting in the UK on Large Scale Complex IT Systems (LSCITS) - the initiative I’m currently employed on.  Many of the challenges recognised in this initiative were the same as, or were similar to those recognised as the challenges of ultra-large-scale systems.  The only significance difference seems to be that the ULSS report argued that we need new engineering approaches in order to build a ULSS, whereas the LSCITS initiative argued that we need new approaches so that we don’t build ultra large scale systems that are unnecessarily risky (see lecture 10 here for a brief discussion).  True to national stereotypes the Americans were asking how can we build the biggest systems in the world?  The British were asking how can we stop screwing up when we try to build the biggest systems in the world?         

The ULSS report explains that ultra-large-scale systems hold the characteristics of systems-of-systems.  They are systems that have operationally independent sub-systems; managerially independent components and sub-systems; evolutionary development; emergent behaviour; and geographic distribution.  But, in addition to these, ULSS will:

  • Have decentralised data, development, evolution and operational control.
  • Addresses inherently conflicting, unknowable, and diverse requirements.
  • Evolve continuously while it is operating, with different capabilities being deployed and removed.
  • Contain heterogeneous, inconsistent and changing elements.
  • Erode the people system boundary. People will not be just users, but elements of the system and affect its overall emergent behaviour.
  • Encounter failure as the norm, rather than the exception, with it being extremely unlikely that all components are functioning at any one time.
  • Require new paradigms for acquisition and policy, and new methods for control.

In 2008, Greg Goth wrote in IEEE software that although the ULSS report focused on challenges faced by the United States Department of Defense in engineering software intensive systems, “its description of how the fundamental principles of software design will change in a global economy … is finding wide appeal”. The term is now used to discuss problems in several domains:

Defense: Northrop’s ULSS report argued that

“the U.S. Department of Defense (DoD) has a goal of information dominance … this goal depends on increasingly complex systems characterized by thousands of platforms, sensors, decision nodes, weapons, and warfighters connected through heterogeneous wired and wireless networks. … These systems will push far beyond the size of today’s systems by every measure … They will be ultra-large-scale systems.”

Financial Trading: Cliff and Northrop have argued

“The very high degree of interconnectedness in the global markets means that entire trading systems, implemented and managed separately by independent organizations, can rightfully be considered as significant constituent entities in the larger global super-system. … The sheer number of human agents and computer systems connected within the global financial-markets system-of-systems is so large that it is an instance of an ultra-large-scale system, and that largeness-of-scale has significant effects on the nature of the system”.

Healthcare: Kevin Sullivan, speaking at the IOM, claimed that in the light of the US HITECH act:

[The US healthcare system is] “clearly an ultra-large-scale system”

and that

[building national scale cyber-infrastructure for healthcare] “demands not just a rigorous, modern software and systems engineering effort, but an approach at the cutting edge of our understanding of information processing systems and their development and deployment in complex socio-technical environments”.

I’d argue that the NHS in England is facing similar issues.  This is not to argue that individual technologies produced under NPfIT are in themselves ultra large scale systems, but that the NHS is facing massive problems of integration, interoperation and coordination.

Other Domains: Other domains said to be seeing the rise of ultra-large-scale systems include government, transport systems (for example air traffic control systems), energy distribution systems (for example smart grids) and large enterprises.

I’ve recently updated the Wikipedia page on ultra-large-scale systems.  Ian Sommerville has also added an entry about LSCITS.