Keynote speeches

International standards supporting quality in software architecture

Johan Bendz Montresor picture

Johan Bendz
Convenor of the ISO/IEC-JTC1-SC7 Working Group on Architecture

As the world rapidly progresses through the transition from agrarian and industrial to informational societies, the importance of software is becoming increasingly critical. No other branch of engineering or technology can show a comparable increase in demand over the last decades.
As our reliance on software as a key component in almost all man-made systems grows, so do the requirements for its trustworthiness with respect to all sorts of critical properties – performance, robustness, safety, and security, to mention a few. These properties of software and systems are governed, designed and measured in terms of quality attributes.
As the complexity of interconnected and interoperating systems increases, so does the demand for approaches and methods to successfully manage the quality attributes of those systems. Over recent decades, concepts from civil engineering have been introduced into software engineering. One such concept is that of architecture, which in many cases has been successfully applied to systems and software. There are diverse opinions as to what architecture actually is, but most practitioners seem to agree that architecture supports engineering by providing an understanding of the key principles that, when implemented, render the system its desired critical properties.
To support formalizing and operationalizing the use of architecture in software and systems engineering, international standards are being developed which codify current “best practice” within these disciplines. Ultimately, these standards will support the creation, description, evaluation and life-cycle management of architectures of software and systems, thus acting as powerful means of achieving the desired levels of quality.
The key-note speaker will, using some illustrative examples, make an effort to support the above claims and in doing so hopefully persuade his audience to consider a personal involvement in the exciting standards development that lies ahead of us.

Speed and Innovation through Architecture

Jan Bosch picture

Jan Bosch
Chalmers University of Technology in Gothenburg, Sweden

The nature of software system development is changing. Rather than building systems according to specification, innovation processes and customer intimacy are at the heart of software development, requiring unprecedented levels of agility and speed. In addition, software is increasingly built in the context of a software ecosystem where other companies and independent developers add value as well. As these trends require smallteams to work efficiently and rapidly in the context of large complex systems, the role of software architecture (and that of a software architect in particular) is more important in this new world, but there is significant evolution in its implementation. This keynote starts by characterizing the new approach to software engineering and the role of compositionality. It then explores the implications for software architecture and the role of the software architect. The talk will present examples from several industries to illustrate specific focus areas.

Designing extreme distributed systems: challenges and opportunities.

Alberto Montresor picture

Alberto Montresor
University of Trento, Italy

Modern distributed systems may nowadays consist of hundreds of thousands of computers, ranging from high-end powerful machines to low-end resource-constrained wireless devices. We label them as extreme distributed systems, as they push scalability and complexity well beyond traditional scenarios. Most of these systems are still organized along traditional lines with hierarchical, centralized control planes. Things are changing though: more and more decentralized organizations are emerging, exemplified by P2P systems, ad-hoc networks, etc. Decentralized organizations often combine local decision-making with dissemination of information in order to improve the decision-making process, exemplified by many epidemic-based and other bio-inspired approaches. In this light, we are witnessing the rise of novel design approaches, where the distributed system is fully integrated with application-level algorithms. In this talk, we will overview the state-of-the-art in extreme distributed systems, trying to identify the open challenges and the research opportunities behind their design and engineering.