5 Ways AI 2.0 Affects Architects: why GUI goes API
Nyckelord: AI, Big Data, architecture
Applied AI got its second wind from big data, Internet of Things (IoT), and adaptive Content Delivery Networks (CDN). Ever since compilers moved from rocket science “AI” to everyday life, each AI wave heightens the crossbar of automation toward more complex tasks. AI in the 2010’s utilizes much more interaction of components and things (in IoT) than human-machine interaction (HMI), and has an impact on the entire architectural landscape, modeling, requirements, and more.
1. Cheaper big data
IoT enables millions of sensors from power plants, jet engines, cars, trains, medical electronics, athletes, endangered species, houses, surveillance, and more, to transfer large amounts of real-time data to big data stores. The decreasing cost of learning from big data boosts data driven AI. Among other things, the multitude of data makes welltried machine-learning technology deliver much smarter machines (Neural Networks, Evolutionary Algorithms, rule induction in general).
An increasing part of everyday life is in the virtual J hands of AI. The current crossbar lift offers high-skill, high-stake, high-responsibility decisions assisted, or sometimes even made, by AI. Last time I arrived to Swedish snow and winds, aboard a new 737, I was fascinated by the precise touchdown under harsh conditions. The captain told us that the crew’s task during landing was to “monitor that the systems worked”. I looked it up on the web, and found that Boeing and Airbus had several airliner types certified for autolanding already. Down to earth J indeed, compared to spacey cyber dreams of the past, or even to the tech side of dynamic analysis of a time series, or inferring if a set of patterns indicates an interesting situation or diagnosis, or adaptively learning from real-time data streams…
2. Less HMI
On one hand, improved HMI increased job satisfaction, and lessened both error rates and staff turnover. On the other hand, it diverted architectural focus away from the business-logic tier and from interactions that don’t involve humans. In other words, it improved the current state at the expense of this shift in most organizations. There are only tradeoffs in architecture, no free lunches…
Researchers gave us an advance notice 10+ years ago, when studies from Sweden indicated that business-IT users increasingly preferred “invisible” systems to flashy HMI and GUI.
Few software architects were receptive to their message. Nevertheless, most advances in practice over the past decade are systems that either minimize or eliminate HMI: fly by wire, drones, train-control systems, driver assistants, driverless vehicles, etc.
I belong to the minority who claimed this shift would happen quickly, see also this Sequence Diagram contrasted to Use Cases in the SearchSoftwareQuality article in 2007, but I admit I overrated the speed by years. As Dr. Oren Etzioni of the Allen Institute for AI put it in a recent interview: Never mistake a clear view for a short distance—it will take some time.
Likely, the transition from a CRUD-editor architecture to semantic operations in the business-logic tier will continue to smarter operations/services along the lines of “Vehicle stability system On/Off” (without additional HMI). Therefore, process owners and domain experts are ever-more important stakeholders, in application projects as well as in architecture.
With IoT in mind, the bridge-building between SW architects and product architects (HW, manufactured components, services, etc.) will continue to spill over, from automotive and manufacturing to other sectors. Product-package configuration often kick-starts such bridging, but implies architectural “design to configure” upfront.
Tangible-product architects tend to emphasize static properties and form, whereas their colleagues in SW are leaning to dynamic, that is, behavior, functionality. The ability of many configurators to combine functional configuration (starting from a wish list of behavior and functions) with component configuration (starting from a wish list of components and parameter values) comes in useful in merging both traditions.
Another useful tool is the ability of standard modeling languages (UML SysML) to combine static and dynamic diagrams into a meaningful whole, without a split of focus and “too much to see”. Animation takes them a step further, and makes a useful visual explanation of an architecture to a large number of roles in a large organization; animations typically trigger comments that are very similar across industry sectors, from automotive electronics or telcos to energy or finance with intricate legacy: “I see at last why the whole thing works at all”, no matter hand-made logic or machine-made.
Rules, decision trees, or diagrams (UML, SysML) are both easy to animate and comprehensible to testers and other stakeholders. This can be contrasted to an underlying neural network where the corresponding logic is more “hard-wired” (likely, as weight values on synapses between artificial neurons).
5. Requirements and V&V
As complexity and business logic move into the system, from HMI and users’ Post-It notes, specifications of internal logic become more precise: Diagrams, rules, formulas, decision tables, etc. Security and safety become important early on, as well as tests in the business-logic tier.
An important complement to design-stage walkthroughs are virtual “tests” of a design, such as simulated wind-tunnel tests in a CAD-package or animations of both hand-made and machine-induced behavior in key scenarios (in a similar way as State diagram and Sequence diagram animations in UML/SysML tools).
Architecture is not exempt from AI’s impact on high-skill professions. AI affects the complexity of systems we design, the architectural tradeoffs we make, the priorities among stakeholders and requirements, the architecture development process, the ways we model and explainarchitectures, and the ranking of quality attributes such as security, safety, or testability.
IoT and AI turn much of our attention to component interaction, business logic, and data; to cut a long story short, the “GUI” of the future is an API.