Have you imagined what software engineering will look like in 2023?

2022-10-31 14:00:00
CMU SEI
Source
Translated 503
Summary : Software development in 2035 may be completely different from what it is today. Easy technical conversations can be completed between humans and computers; the use of AI makes testing and evaluation transform into an immersive experience, etc.

Image Source: iTj

Suppose it is 2035. What will software engineering look like? Perhaps we could imagine a joint team of aeronautical engineers, pilots, and software engineers working together to design the next space-capable vehicle by coming up with ideas that are displayed in real-time. The team compares defensive and maneuverability capabilities in flight by simulating a typical mission in real-time, thus selecting a design solution based on the most optimal balance of cost, capability, and time.

1. An easy technical dialogue between humans and computers might be accomplished.

Image Source: Brandeis.edu

The traditional process of manually refining specifications and writing code has disappeared, and the endless requirements and design reviews of Gone are the days of endless requirements and design reviews. The demands on developers are different, requiring them to be well-articulated and skilled in expressing intentions so that computers can learn from experience rather than writing code or having the ability to implement specific algorithms. "Elegant software" no longer refers to clever code but to the result of humans working with computers and artificial intelligence systems to achieve the best ideas humans can imagine in the most timely, economical, ethical, and safe way possible.

2. The person who can "program" and create complex systems can also be expanded.

Our conversations with computers will be in domain languages, for example, computational biologists developing software capabilities by talking about sequencing and genetics rather than learning Python.

3. The use of simulation can transform today's entire approach to testing and evaluation into an immersive experience.

Image Source: Intelsea

New hardware configurations and software capabilities are envisaged for various spatial assets. Environmental changes are simulated by full telemetry of the current asset in a fully immersive virtual reality environment. Engineers can view the new spatial configuration from any vantage point, and all available data and metadata from the current environment are also presented in real-time. If the desired effect is not what is expected, engineers make changes and immediately see the impact on the overall spatial environment. In addition, communication between engineers, through multiple media types and shared decision-making processes, ensure that everyone sees the system consistently and that no unexpected or undesired behaviour occurs.

4. Once the software has been deployed, the system will be much more adaptable and integrateable.

Consider a small special forces team on a mission, and suddenly there is an exchange of fire with the enemy. They are caught off guard, communications are down, and they are unsure what weapon to use against the enemy. Fortunately, they are working with a group of miniature unmanned aircraft systems to proactively establish a mesh network using alternate communication channels to re-establish contact with their headquarters. Once that network is established, the squad secretly observes and analyses the situation on the battlefield through its command equipment so that it has a good chance of retreating or taking effective cover. Not only are they able to overcome the threats they encounter, but they can also make their real-time experience available to other units in the special area that may be at risk. To make this scenario a reality, we need to design flexible architectures that allow the system to be adapted based on data from sensors and other input from users in the field.

5. With the expansion of adaptive user interfaces, making a film may work differently.

Image Source: Danilab

Instead of being expected to know the coding and scripting. In the 'holographic deck era,' they can incorporate novel visual storylines, design costumes for the next generation of tactile feedback, and create events that respond to audience input. Over time, as situational possibilities were explored, interactive experiences evolved and improved to suit the participants' preferences and to be based on the artist's intentions.


Despite these advances in software engineering, no complex system of any type can be perfect. In the future, software engineering may be improved with the help of AI, such as the disciplines of detecting potential system problems, recovering from failures when they occur, and discovering and eliminating the causes. For example, engineers may be asked by the system itself. If the system notices that the overall expression of emotions is moving towards undesirable extremes, the socio-technical ecosystem will automatically notify collaborating engineers to step in. When such problems are detected, it is the job of the professional software engineer to identify the root cause of the problem. While the role AI can play in software engineering is still to be determined, the role of AI is clear: humans and AI will be trusted collaborators, capable of rapidly evolving systems according to the program's intent. As software engineers continue to interact with intelligent software assistants, computers and humans will be able to play to their respective strengths, giving us greater scope to imagine previously unimaginable possibilities that could potentially become a reality and will lead to greater efficiency and trust at the scale of:

  • Humans use trusted AI to improve R&D effectiveness significantly.
  • Formal assurance arguments are formed to ensure and effectively guarantee the continuous evolution of software.
  • Advanced software portfolio mechanisms enable the predictable building of systems at increasingly large scales.

Advanced architectural paradigms will enable the predictable use of new computational models by:

  • Theories and techniques from the behavioural sciences are used to design large-scale socio-technical systems that lead to predictable social outcomes.
  • AI and non-AI components interact in predictable ways to achieve the enhanced mission, social, and business goals.
  • New analysis and design methods facilitate the development of quantum-enabled systems.


Need more help? Check out the Zentao blog


--


Read more:


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