

SIGNALS+ NEWSLETTER SUBSCRIPTION
Stay updated and leverage Signals+ latest insights, information and ideas on Connectivity, Digital Health, Electrification, and Smart Industry.
Thank you for subscribing to ADI Signals+. A confirmation email has been sent to your inbox.
You'll soon receive timely updates on all the breakthrough technologies impacting human lives across the globe. Enjoy!
CloseNAVIGATING SOFTWARE COMPLEXITY ACROSS THE INTELLIGENT EDGE
What if technology could make split second decisions the moment data was created? This is the potential of the Intelligent Edge. The Intelligent Edge exists at the intersection of the physical and digital worlds where devices interpret real-world phenomena into actionable data and valuable insights, with applications like advanced driver assistance systems (ADAS), vital signs monitoring (VSM), and the guidance of cobots. The future holds even greater possibilities to transform industries and improve our lives, and software will be key.
SOFTWARE ENGINEERING IS BECOMING AN INCREASINGLY COMPLEX CHALLENGE AS TECHNOLOGY ADVANCES AND TIME TO MARKET PRESSURES INTENSIFY.
To unlock the full potential of Intelligent Edge innovations and allow them to flourish, software developers need to tackle the interconnected complex challenges surrounding embedded and software-defined systems. The challenges include the multicore heterogeneous architectures that combine the unique capabilities of multiple processor types and the broader underlying business ecosystem of suppliers, distributors, and service providers.
Complexity is like energy. It cannot be created or destroyed, only moved somewhere else. When a product or service becomes simpler for users, engineers and designers must work harder and smarter on the underlying mechanisms by using the most efficient and reliable tools and resources across the supply chain. Our vision is to absorb complexity by making the technology available at the user’s desired level of abstraction—the specificity at which a system is viewed or programmed through software—then architecting hardware and software intelligently and collaboratively with partners.
All interconnected parts of the Intelligent Edge supply chain must act in concert to help reduce complexity and produce optimum performance and efficiency. We use the term “chain” because each link in the process affects the next, and a delay or failure at one stage can slow development or stop the entire process. Links along the chain must include an ecosystem of interconnected tools and technology, as well as a community of active contributors, that facilitates modern code management and helps optimize efficiency. We must ensure that the ecosystem is secure and easy to access.
SOFTWARE AT THE INTELLIGENT EDGE
Software is central to both creating and optimizing the performance of the Intelligent Edge. Edge devices are, in essence, software-defined systems (SDS). Software is what gives hardware its particular capabilities and allows it to be intelligent. It also permits hardware to be dynamically reconfigured, allowing for real-time adjustments in decision-making and adaptability. This flexibility helps ensure that systems can evolve to meet new objectives and future demands, remaining responsive to changing conditions.
ADI’s Sensinel™ Cardiopulmonary Management (CPM) System demonstrates this adaptability. The Sensinel device, a noninvasive, compact wearable for at-home use, tracks cardiopulmonary measurements to help care teams monitor chronic conditions such as heart failure, early and remotely. The software interprets sensor data to identify patients needing greater attention. As the system gathers more user data, it fine-tunes the software and algorithms to improve accuracy and efficiency in determining who requires follow-up care and when.

As application capabilities have grown over time, so has software’s physical size and complexity, placing new demands on software engineers’ time to create code to drive heterogeneous multicore architectures and Intelligent Edge applications.
IN 1994, LINUX WAS LAUNCHED WITH 176,250 LINES OF CODE.1
BY 2024, LINUX HAD ALMOST 40 MILLION LINES OF CODE.2
Developers leverage open source to expedite problem-solving and accelerate the software development process. By offering both visibility and permissive licensing, open source empowers developers to stand on the shoulders of others and build on existing work by enhancing, modifying, and customizing code to suit their needs. This collaborative approach not only fosters innovation and flexibility but also significantly reduces the time and effort required to create software.
However, the origin of open-source code can present challenges, primarily due to its inherent complex dependencies. These dependencies can sometimes open doors for bad actors to insert code. To mitigate this risk, various methods, such as rigorous code reviews, automated security scans, and the use of trusted repositories, are employed to ensure integrity and security. Through these practices, the open-source community can continue to thrive while maintaining a secure and reliable development environment.
COMPLEX HARDWARE DEMANDS COMPLEX SOFTWARE
Today’s Intelligent Edge devices are composed of a heterogeneous architecture—integrating CPUs, GPUs, and FPGAs onto a signal chip—typically called system on a chip (SoC). It is hard to overstate how challenging and how complex designing a modern multicore architecture with mixed-signal capabilities is, relative to yesteryear’s single-core architecture.
IN 2007, THE ARM® CORTEX®-A9 PROCESSOR USED IN MANY EARLY EDGE DEVICES SUCH AS SMARTPHONES HAD APPROXIMATELY 26 MILLION TRANSISTORS.3 TODAY, ANALOG DEVICES BUILDS INTELLIGENT EDGE DEVICES WITH OVER 3 BILLION TRANSISTORS.
SoC integration enables better power efficiency, reduced latency, and improved data throughput, as different architectures are leveraged to capitalize on their unique strengths. However, designing software for SoCs comes with its complexities, including balancing the needs of each processing unit, synchronization, and dynamic power optimization, as well as safeguarding data integrity and secure communication between units. As these systems grow larger, software must scale effectively, or bottlenecks may occur. Optimizing performance and achieving the best performance/power efficiency trade-offs requires careful system design, sophisticated tools, and technical knowledge.
BUILDING ON THE UNDERLYING ECOSYSTEM
Developing software for heterogeneous architectures can be complex, requiring a wide range of expertise, tools, and standardization that are often beyond the scope of a single company. A well-formed ecosystem promotes standardization through collaboration between industry players. Standard APIs, frameworks, and tools enable software to run efficiently across different platforms, which is critical for scaling applications across various architectures.
Participants in the ecosystem can co-develop new technologies, intellectual property, and best practices. This encourages innovation in software tools, development techniques, and hardware optimizations, pushing the entire field forward. The ecosystem fosters collaboration, reduces development complexity, and ensures that companies and developers can efficiently build, optimize, and scale software. A carefully selected and managed ecosystem helps to minimize expenditure on redundant products and services—lowering costs and accelerating results.
NAVIGATING COMPLEXITY WITH A SOFTWARE DEVELOPMENT ENVIRONMENT
Software engineering today is an increasingly complex challenge as technology advances toward multicore, muti-architecture hardware solutions. Many engineers are expected to deal with this complexity using outdated tools, middleware, and software development kits (SDKs), which were designed for the simpler, single-core, single-architecture world. These legacy platforms fail to provide open, extensible interfaces essential for modern heterogeneous systems that use more than one type of processor or core and are designed to achieve the best performance/power efficiency trade-offs.
To help solve this increased complexity, embedded software engineers need open tools and environments designed for multicore systems that provide system visibility and offer the flexibility to adapt to their development needs.
NEXT-GENERATION SOFTWARE TOOLS
Next-generation software sourcing and coding tools can improve application quality, the development process, and time to market while making the process more efficient for software developers. To accomplish these tasks, the industry must focus on:
- Invest in open standards and open source—focus investments in truly differentiated ways.
- Accelerate scalable software development by leveraging a transparent software supply chain and SBOM.
- Focus on secure by design principles and practices—security from the edge to the core, ensuring integrity and privacy.
- Build open tools platforms, designed with the developer in mind, to make development, integration, and testing easier, faster, and more scalable.
Taming Complexity for a Better Future
To achieve the advantages of our software-defined future and the benefits it poses for people and the planet, we must address the complexities of hardware and software development while accelerating the pace of innovation. Developers are ready to answer the call, but they require the right tools and technologies for support. Industry must unite around open source, open standards, and collaborative ecosystems that foster efficient, aligned investments. Collective ingenuity and cooperation are essential to meet today’s challenges and stay ahead of what’s possible.

References
1 David Hayward. “The History of Linux: How Time has Shaped the Penguin.” TechRadar, November 2012
2 Dave McKay. “What Is the Linux Kernel, and Why Does It Matter?” How-To-Geek, November 2024
3 “A History of Microprocessor Transistor Count, 1971- 2013.” The Wagner Consulting Group, 2013