New Technologies for Software Engineering in the Next Decade

2022-10-31 11:00:00
CMU SEI
Source
Translated 936
Summary : To anticipate the future research and development required to support software engineering, we must pay attention to several major emerging technologies for the future of software systems.

The strong technology ecosystem we have today means that new technologies are constantly being introduced, and more are coming. Our understanding of these technologies' capabilities and how to integrate them into systems quickly, securely and predictably will ensure that they become critical assets of software systems rather than sources of weakness or instability.

1. Advanced computing presents new engineering challenges in terms of composition and open systems.

Image Source: University of Kent

Advanced computing often uses specialized software or hardware to provide advanced technical capabilities to support large-scale data-intensive projects such as quantum computing, high-performance computing (often for simulation and modelling), large-scale cloud computing, etc. The last decade has seen many developments in advanced computing supported by new hardware, such as multi-core chips, GPUs, field-programmable gate arrays and chip-level dedicated integrated circuits, and future implementations of software ecosystems for scalable quantum computing. Advanced computing will contribute to an increasingly heterogeneous computing environment in the future, presenting us with new challenges in building and developing systems across computing foundations.

2. The Smart Edge presents new challenges due to scale.

Image Source: Intel

The "smart edge" generally refers to heterogeneous computing capabilities that go beyond traditional computer networks and incorporate devices at the network's edge (e.g. sensors, IoT devices and mobile phones, satellites, etc.) to push applications and data to the edge of the Internet. While the concept of pervasive computing has been around for decades, there has been a recent acceleration of the intelligent edge, including hardware improvements and the widespread deployment of 5G networks. Edge data is growing rapidly due to ubiquitous sensors and the Internet of Things. The analysis field is creating new and novel approaches to distributed data analysis using a combination of edge devices and central processing.

3. The digital twin creates new opportunities and challenges for trusted systems.

Image Source: Network World

Digital twins are high-fidelity digital or computer representations of physical objects with certain inference capabilities that allow us to understand the behaviour of real-world objects under many different conditions or requirements. Digital twins are already beginning to combine real-time data sensed by real-world objects. For example, new higher-resolution sensors allow digital twins to reason about future behaviour and then transfer the feedback to the physical object. Digital twins create new opportunities for software engineers to use data to develop and trust software systems. Still, they present us with new challenges at scale as more and more systems in the physical world produce digital twins.

4. Quantum systems present new challenges in combining different computational models.

Advances are needed in many areas, including quantum algorithms, development tools, languages, computational platforms and testbeds. Suppose we implement hardware that allows quantum computing to scale. In that case, software and software engineering will also have to keep pace with advances to solve the problems posed by quantum computing.

5. Extended reality offers new opportunities for humans to interact with and visualize complex data and systems.

Image Source: Softweb Solutions

Extended reality refers to augmented reality (AR), virtual reality (VR) and combinations of the two. AR involves devices (such as special glasses for aided display) that allow people to see the real world with augmented information. Conversely, virtual reality refers to specialized equipment that allows a person to see the virtual world. An essential feature of extended reality is its ability to reshape human reasoning about information fundamentally. These technologies can provide software engineers with new interfaces to visualize complex data or systems and enable new user interaction interfaces with higher productivity.


Need more help? Check out the Zentao blog


--


Read more:

Write a Comment
Comment will be posted after it is reviewed.