«TECHNISCHE BERICHTE TECHNICAL REPORTS ISSN 1430-211X TUD-Fl14-04-August 2014 Dr. Frank J. Furrer, Jan Reimann (Eds.) Institut für Software- und ...»
Dr. Frank J. Furrer, Jan Reimann (Eds.)
Institut für Software- und Multimediatechnik
Impact and Challenges of Software in 2025
Technische Universität Dresden
Hauptseminar Sommersemester 2014
Dr. Frank J. Furrer
Impact and Challenges of Software in 2025 Collected Papers Editors: Dr. Frank J. Furrer, Jan Reimann Technische Universität Dresden Technical Report TUD-FI14-04-August 2014 c Fotolia.com (Used with permission) “Software is the fuel of our modern economy – Where are we going?” Table of Contents Introduction 5 Contributed Papers 9 Impact of Heterogeneous Processor Architectures and Adaptation Technologies on the Software of 2025 Kay Bierzynski..................................... 9 Facing Future Software Engineering Challenges by Means of Software Product Lines David Gollasch..................................... 19 Capabilities of Digital Search and Impact on Work and Life in 2025 Christina Korger.................................... 27 Transparent Components for Software Systems Paul Peschel...................................... 37 Functionality, Threats and Inﬂuence of Ubiquitous Personal Assistants with Regard to the Society Jonas Rausch...................................... 47 Evolution-driven Changes of Non-Functional Requirements and Their Architecture Hendrik Schön..................................... 57 Introduction Dr. Frank J. Furrer Context Today (2014), software is the key ingredient of most products and services. Software generates innovation and progress in many modern industries. Software is an indispensable element of evolution, of quality of life, and of our future. Software development is (slowly) evolving from a craft to an industrial discipline. Software – and the ability to eﬃciently produce and evolve high-quality software – is the single most important success factor for many highly competitive industries.
Software technology, development methods and tools, and applications in more and more areas are rapidly evolving. The impact of software in 2025 in nearly all areas of life, work, relationships, culture, and society is expected to be massive.
The question of the future of software is therefore important. However – like all predictions – quite diﬃcult. Some market forces, industrial developments, social needs, and technology trends are visible today. How will they develop and inﬂuence the software we will have in 2025?
Topic This seminar worked on answers to the central question: Which are the situation, the challenges, and the impact of software in the year 2025?
The focus lies on 3 relevant areas:
Q1 How will the software in 2025 be diﬀerent from today’s software?
Q2 How will software be engineered, developed, operated, and evolved in 2025?
Q3 What is the impact of software on people, work and society in 2025?
Each participant had to choose one focus and elaborate on one speciﬁc theme related to the
focus question. The following choices were made:
(d) to experience the peer-review process, (e) to learn how to deliver eﬀective and eﬃcient presentations, (f) to beneﬁt from a considerable broading of their perspective in the ﬁeld of technology, software, applications, and impact.
The participation in the Hauptseminar will enable the participants to plan their personal education and professional evolution.
Mandatory ReadingAll participants were asked to read the following 3 references:
• Edgar G. Daylight, Sebastian Nanz (Editors): Conversations: The Future of Software Engineering – Panel Discussions. 22-23 November 2010, ETH Zurich. Lonely Scholar bvba, Heverlee, Belgium, 2011. ISBN 978-94-91386-01-5
• U.S. National Academy of Engineering: The Engineer of 2020: Visions of Engineering in the New Century. National Academy Press, Washington D.C., USA, 2004. ISBN 978-0-309-09162-6. Downloadable from: http://www.nap.edu/download.php?record_ id=10999
• ISTAG – Information Society Technologies Advisory Group (Working Group on Software Technologies), July 2012: Software Technologies – The missing Key Enabling Technology (Toward a Strategic Agenda for Software Technologies in Europe). Downloadable from:
http://cordis.europa.eu/fp7/ict/docs/istag-soft-tech-wgreport2012.pdf Papers The following papers were authored, peer-reviewed and presented during the Hauptseminar. All papers are reproduced in full on the following pages.
Abstract. Many products and services, which we are using today, are powered by software. The software has a big impact on our everyday life and became in the last three decades one of the most important drivers of the global economy. The result of this development is that our presentday society extremely relies on software. This dependency will grow in the future, because of that we need to ﬁnd and understand the challenges and trends, which will inﬂuence software in future, so that research and the economy can focus on them.
A way to do so is to answer the question: What is the diﬀerence in software in 2025? We will make a contribution to the answer for this question through discussing the inﬂuence of heterogeneous processor units on the software and their deployment environments in 2025 in the ﬁrst part of the paper. In the discussion we will present some reasons for our conclusion of the ﬁrst part. The conclusion is that we expect that the software of 2025 will be executed on mobile devices from a heterogeneous processor unit and on stationary devices from a central or graphic processing unit.
This very likely development rise the need for more and better dynamic adaptation technologies so that software can eﬃciently use the diﬀerent processor unit kinds.
In the second part of the paper we discuss reasons beside the eﬃciently use of processor units for the importance of the self adaptation approach, the autonomic computing approach and the role approach for the software in 2025. But important as autonomic computing may be we expect that autonomic computing as envisioned by IBM  will not completely exist in 2025, because of the standardization process, the diﬃcult development of a query language, legal issues and security issues. More information to these are presented in the paper. To conclude both discussions we will give some recommendations.
Keywords: APU, CPU, GPU, heterogeneous processor unit, autonomic computing, self adaptive software, role 1 Introduction Many products and services, which we are using today, are powered by software.
The software has a big impact on our everyday life and became in the last three
decades one of the most important drivers of the global economy. The result of this development is that our present-day society extremely relies on software.
This dependency will grow in the future, because of that it is important to ﬁnd and understand the challenges and trends, which will inﬂuence software in future. One possibility to do so is to answer the question: What is the diﬀerence in software in 2025? To formulate a complete answer for that question is hard, because software is used in many diﬀerent areas. Some of them for example are the following: parallel, cloud and high performance computing; big data;
social computing; internet-based applications and real-time services; embedded systems; human-centred computing and multi-media; enterprise applications and the future generation of software-intensive systems .
It is not possible to analysing and discussing all challenges and trends in the diﬀerent areas in a single paper, this is the reason why we will focus on two speciﬁc topics. The ﬁrst topic is the impact of heterogeneous processing units on
the software in 2025. We will deal with this topic through analysing the question:
Which kind of processing units will execute software in 2025? As a basis for the analysis, we will use the results of an experiment, which was executed in my bachelor thesis . After that we present the importance of the self adaptation approach, the autonomic computing approach and the roles approach for the software in 2025 and the reasons for why we think that autonomic computing as envisioned by IBM  will not completely exist in 2025.
Based on the two topics the structure of the paper is as follows: In the next section we will talk about existing works. The third section deals with the ﬁrst topic and the fourth section with the second. In the last section we present our conclusions and recommendations.
2 Existing Work
The two works, which inspired this paper, are the report ”Software Technologies The missing Key Enabling Technology (Toward a Strategic Agenda for Software Technologies in Europe)” from the Information Society Technologies Advisory Group  short ISTAG and the book ”Conversations: The Future of Software Engineering Panel Discussions” from Edgar G. Daylight and Sebastian Nanz .
The latter is about two panels, where some of the top researchers in the area of software engineering discuss how the state of the art of software and software engineering is today and how it should be in the future. As already mentioned our paper is inspired by this book so for example we got the idea to look in the area of software parallelism from a statement of Bertrand Meyer in the second panel .
The ISTAG propose in their report the creation of a European Software Agenda. To support their proposal they analyse the current strengths and emerging trends in software technology and a number of critical application areas including: parallel, cloud and high performance computing; big data; social computing; internet-based applications and real-time services; embedded systems;
Impact of Heterogeneous Processors and Adaptation Technologies
human-centred computing and multi-media; enterprise applications and the future generation of software-intensive systems .
This paper is diﬀerent from these two works to the amount that we speciﬁcally focus on the inﬂuence of heterogeneous processing units in the software of 2025 and on the importance of the self adaptive software approach, the autonomic computing approach and the role approach for the software in 2025.
For the ﬁeld of adaptation technologies the paper ”The Vision of Autonomic Computing” from Jeﬀrey O. Kephart and David M. Chess  and the white paper ”An Architectural Blueprint for Autonomic Computing”  are important to mention. In the ﬁrst paper the vision of autonomic computing is delivered.