The future of engineering is UML with AI Agents

|

Every engineer has had to grapple with their identity since the rise of generative AI. Like most people, I was worried when I first learned about just how well chatbots can generate coherent and simple functions. At this point, generative AI by itself is unable to build large software systems that span domains. For example, even though ChatGPT excels in creating simple web front-ends, it is unable to link that to a database and backend and then deploy it to a cloud provider in Kubernetes. This will change, of course, and AI will continue to develop more capabilities. In this article, I will be discussing my predictions about where the human mind will remain useful. To summarize, future engineers will become experts in semi-formal languages such as UML (unified modeling language) and SysML (systems modeling language). These future engineers will use these languages to translate customer requirements into an architecture of microservices that AI agents will develop.

I was first exposed to modeling languages before ChatGPT went big. I was hired as a Systems Engineer at a contractor for the US Navy and was tasked with bringing SysML into every part of the design process in the Naval Engineering efforts. The Navy wants to adopt model-based systems engineering (MBSE) because they have the unique challenge of coordinating multiple contracting agencies to design and build their defense systems. The Navy has struggled for decades with communication issues and incompatibilities between systems built by different contracting companies.

Model-based systems engineering and its language – UML and SysML being the most well-known – offer an ideal solution for resolving this confusion. The goal of MBSE is to develop a congruent blueprint that specifies exact definitions for inputs and outputs of the various subsystems that must work together. The model will specify not only the static architecture and physical components but also temporal relationships between the different operations in the system. With a well-defined model, it is possible to completely satisfy the customer by translating natural-language requirements into a semi-formal language that can then be implemented with guaranteed functionality.

I feel fortunate that I was exposed to SysML prior to the rise of ChatGPT because I am now well positioned to take advantages of the strengths of AI agents. I can focus on the highest level of abstraction – the customer’s natural language requirements – and translating that into a system definition to be implemented by specialized AI agents.

Imagine, for a moment, that your are the chief engineering officer in the Navy. From your perspective, the contractors you hire are essentially the exact same thing as a fleet of AI agents. Ideally, you could tell your group of contracts (agents) that you want a new battleship that will have such and such weapon systems, such and such communication capabilities, etc. You then trust that the contractors will build the system and correctly assemble the subsystems.

The issue is that these contractors often fail to assemble their subsystems into a cohesive whole. Maybe a certain contractor is a specialist in radar systems. They successfully develop a high quality radar system but fail to communicate to the power system engineers that they will need some number of watts. Or, even more often, they DID communicate to the power systems engineers what they need but the power systems engineers didn’t make that a priority.

The first impulse is to blame the contractors but it isn’t really their fault. The customer gave them nothing but an ambiguous wishlist of what they desired in their final product. They didn’t say anything about the interactions between the subsystems and how they must flow into a unified whole. What was needed was a language that was more formal than natural language, but sufficiently abstract to be intelligible by all stakeholders. The solution is SysML and MBSE. The Navy has seen the light on this issue now it’s time for the rest of us to see the light.

The hard truth is that individual coding skills are a dying speciality. Soon, companies won’t bother to test your ability to generate a C++ script during interviews because AI can do the same thing when given only a set of requirements as well as an input and output data structure definition. The issue, however, with using AI to generate code is that it still fails because human language is terribly ambiguous. And so many engineers who use AI today still fail to excel in using it or end up blundering through their projects while ChatGPT gives them buggy code because they told the chatbot to “build me a website”.

I predict that the future of engineering will therefore lie with model-based systems engineering. Although the exact language UML or SysML may not be where the market lands, it will certainly be something poignantly similar. Future engineers will begin with their customer or business requirements, then spend their effort developing a coherent system model. And then pass those unambiguous definitions of microservices to a fleet of AI agents to carry them out. It will certainly be interesting to watch this unfold!

Leave a Reply

Your email address will not be published. Required fields are marked *