The system of systems of systems
Most computer users never stop to think about what's in the box or “out there” in the corporate network, but there is more to it than hardware or the application software producing results on the screen. Faced with our increasing dependence on increasingly complex networks of computers, the scientists involved in complex systems engineering are trying to improve performance by developing intelligent systems of systems – as well as educating the people and organisations who use them...…
Article by Peter Barr
Most computer users never stop to think about what's in the box or “out there” in the corporate network, but there is more to it than hardware or the application software producing results on the screen. Faced with our increasing dependence on increasingly complex networks of computers, the scientists involved in complex systems engineering are trying to improve performance by developing intelligent systems of systems – as well as educating the people and organisations who use them...
What do The Buddha and the Robot, lambda calculus and complex systems engineering have in common? The answer is Professor Greg Michaelson – computer scientist and novelist, and one of the SICSA theme leaders. As an academic (Professor of Computer Science at Heriot-Watt University), he is interested in programming language design and implementation, “in particular functional languages for parallel, distributed and mobile deployment.” And as a writer who has just completed his second novel (the follow-up to The Wave Singer), he is interested in trying to describe a dystopian future where people hoard “pieces of technology that can no longer be powered” – somewhat ironic in view of the fact that Michaelson is one of the SICSA team focusing on low-carbon computing (see sidebar), to solve our future energy problems and prevent his own fiction from becoming a reality.
Even though Michaelson may appear to live separate lives, there is a logical connection between them, embodied in his personal approach to computing and teaching – as well as his role as a SICSA theme leader, looking after complex systems engineering (CSE). “I am interested in how computers co-operate,” Michaelson says, “but even more interested in how people co-operate.”
Michaelson focuses on programming languages, taking mathematical ideas and turning them into computer systems which translate data into something meaningful that people can use, at the same time as helping the systems work faster and more efficiently by optimising hardware and software resources. He is also co-designer of the Hume language, “a tool for exploring formal guarantees that software satisfies strong resource bounds,” working with colleagues at the universities of Edinburgh, St Andrews and Queens Belfast on “the optimal implementation of Hume on heterogeneous platforms combining multi-core, SIMD and FPGA.”
Such language may appear alien or esoteric to non-technological minds, but as a teacher and a writer, Michaelson is also aware of the need to communicate and help people understand what matters in computing. He may analyse the highly complex details of systems to make them work smarter, but he also recognises the need for a “cultural” change in both people and organisations, beyond the mathematics and the science, so they can take full advantage of every technological advance.
Similarly, when it comes to Michaelson's role as a SICSA theme leader, his work focuses not only on “systems of systems” but also on the need to “energise” 135 people in 11 universities all over Scotland, organising events (including workshops, seminars and summer schools) and encouraging collaborative projects.
Among the first collaborative groups to emerge from discussions with other specialists in CSE are SEABIS (Self-organising, Emergent, Autonomous, Biologically Inspired Systems), which is headed up by Ben Paechter of Napier University, THREADSS (Theory of Resources for Autonomous, Dependable and Scalable Systems), with Professor Kevin Hammond of the University of St Andrews in charge, plus SEMANTICS (Software Engineering Modelling and Networks: Theories in Computer Science), run by Dr Hans-Wolfgang Loidl of Heriot-Watt University, and SSTS (the Scottish Socio-Technical Systems Network), run by Chris Johnson of the University of Glasgow.
A major collaborative project launched with help from SICSA CSE is the MultiCore Challenge. This will bring together researchers in parallel programming, from Scotland and around the world, to implement applications on networks of multi-core machines and in the process learn about the strengths and weaknesses of current systems. The results were discussed at a workshop in early December 2010.
Like the other theme leaders, Michaelson expects a lot of projects to overlap, drawing on researchers from multiple fields as well as from multiple universities. People may also participate in multiple themes, and Michaelson welcomes the fact that SICSA has provided the framework, as well as the time and the space, to facilitate collaborative projects on a scale which would not have been possible only a few years ago. Michaelson himself has worked with many other academic partners for years but also recognises that SICSA has brought many scientists out of their silos, encouraging them to co-operate more, rather than competing for funding in much smaller groups.
Michaelson defines CSE as “technologies for managing systems of systems,” describing the scope of the challenge as follows: “New systems of systems must be engineered to meet the needs of industry and society, operating robustly within an often hostile external environment.” This means using systems to build and understand systems of systems – modelling, managing and understanding complexity, as well as making users more aware of the need to streamline and optimise the networks of computers which government and business are becoming more dependent on as time goes by.
For example, says Michaelson, users generally don’t have a clue what the impact will be when they add on new software or open multiple programs – not just in terms of performance but also of potential carbon footprint. “When you buy software, you have no idea what difference it makes to the rest of your system, in terms of resource need as well as the impact on the other software,” he says. And his job is to look at this “ecology” of systems to work out how to optimise computing resources, from the desktop level right up to the largest of corporate networks, using the latest mathematical methods to make all these systems work smarter – starting at the lowest level. “Every single instruction also has an energy cost,” he explains.
In basic terms, Michaelson and other CSE researchers study what is happening inside the systems of systems, adding up the costs of the instructions and trying to understand the “tree” of decisions the system is being requested to make – as well as the impact that one process has on another. Once they have a picture of the system, they can then suggest improvements which will optimise performance, saving time and energy – and money.
One concept used in CSE is the development of “self-aware” or autonomic programs for use in systems such as distributed processing networks. These autonomic systems are smart enough to know how to optimise network resources, automatically allocating different data-processing tasks to the best available components, so that idle or under-used parts of the network can relieve the processing burden on over-used parts. For network managers or users to perform this same task would be virtually impossible, and to develop these intelligent agents, you first have to analyse what is really happening inside the systems of systems.
Michaelson describes the biggest challenges facing CSE researchers today as follows:
Ensuring the predictability and robustness of enormous heterogeneous systems whose hardware and software components are constantly changing.
USERS: Providing seamless continuity of service which is platform-and location-independent, so users see the same environment wherever they are and whatever they are using: mobile phones, laptops and desktops, on public transport and in internet cafés, etc.
ORGANISATIONAL: Enabling interconnectivity of arbitrary systems across organisations to support shared access to large-scale composite computational/information resources while preserving security and confidentiality of local information.
In Michaelson's script for a short film called The Buddha and the Robot, a robot complains to the Buddha about elephants knocking him over. The Buddha makes the robot big enough to knock over the elephants, and they in turn complain and become even bigger, suggesting that the increase in size may go on ad infinitum – perhaps a metaphor for the increasingly difficult challenges of complex systems which scientists face...