Mar 05, 2020 DevOps

Embedded Development Solutions: Tools for Agile Development

By Michel Genard

mgenard-2

Agile methodologies are becoming a requirement in embedded systems development. Organizations are expected to support rapid development and release cycles. While it sounds simple, many teams are met with personnel and organizational challenges that they must overcome to move forward with these strategies. Explore how the Wind River portfolio enables the implementation of DevOps and Continuous Integration/Continuous Development (CI/CD) practices specifically for embedded systems development.

Find out how you can implement embedded DevOps in your organization.
Free eBook: Realizing the DevOps Vision in Embedded Systems

Download Now

Embedded Development Solutions

Adjust Company Culture

Agile implementation requires a shift in management processes and company culture. Organizations using traditional development methods will need to make sure all teams are on board to ensure an effective transition, which may require some additional support.

Wind River Professional Services

Wind River has more experience in agile development in the embedded systems world than any other organization. We pioneered the process for the development of our own products. Our Professional Services team can help your organization make the leap to DevSecOps with best practices for making the most effective use of our cutting-edge development tools.

Ensure Security

Ensuring security across rapid application development cycles is a challenge. Quick iterations open up larger attack surface areas; therefore, organizations must find tools for agile development that have security built in.

Wind River Professional Services

Wind River Professional Services puts security first. We offer an innovative approach by combining extensive security expertise with industry-leading software and solutions. We start with a comprehensive security assessment to determine how to ensure security across the development process.

Our Professional Services team uses the assessment to identify how to assist you with:

•        Design: Determine and identify potential issues before any code is written.

•        Implementation: Review and optimize software configurations and settings before testing.

•        Testing: Make improvement recommendations after the code has been written but before it is deployed in the field.

•        Post-deployment: Identify continuous improvement opportunities that don’t require platform changes once devices are deployed. Some security enhancements can be completed through organizational measures and corresponding controls.

The Wind River Professional Services team brings decades of experience in hardening the security around embedded devices to protect them from cybersecurity threats.

Modernize Toolsets

CI/CD is still getting implemented across the embedded systems world, and many organizations are still relying on traditional waterfall methods. To drive this transition, all Wind River products support the workflows required to implement agile methods.

We Now Use DevOps and CI/CD for Our Own Releases

Wind River products now enable the full DevOps-CI/CD workflow. To make this successful for our customers, we started with our own dev-test-release processes. (We certainly felt it would be right to use a process we advocated for others.) Today, products such as Wind River Linux, VxWorks, and Helix Platform are produced using our own DevOps environment. We have learned a great deal about the unique needs of these methodologies in the embedded systems context. Our insights into the process have led to an effective DevOps-CI/CD stack, as depicted in the figure below.

How Wind River Products Enable DevOps and CI/CD in Embedded Systems

The process of forming the DevOps and CI/CD environment shown in the image above has led Wind River products to provide the DevOps and CI/CD functionality required for the workflow. In addition, the Wind River portfolio supports many of the industry-standard tools for each function.

Wind River Linux and VxWorks

The Wind River commercially supported Linux operating system and accompanying dev-test toolsets enable quick embedded development from prototype to production. VxWorks, considered the industry’s leading real-time operating system (RTOS), offers comparable functionality. They both support the standard functions in the development stage of the DevOps workflow. These include source code creation, code analysis, build and unit test, and repository management. If our customers have their own preferred tools, Linux and VxWorks support such tools as Jive, Git, and Jenkins to allow for additional functionality.

Wind River Linux also supports CI/CD pipeline tools such as OSTree, an upgrade system for Linux-based operating systems, which facilitates deployed capability updates. It performs the kind of atomic upgrades of complete file system trees that are needed to perform CI/CD, i.e., change the tire while the car is moving.

At runtime, both Wind River Linux and VxWorks embody qualities that make them ideal for DevOps and CI/CD in the embedded space. This includes the capability to work with container technology to enable rapid application and microservices development and deployment via embedded systems DevOps.

Wind River commercially supported Linux and VxWorks RTOS include the tools engineers need to enable quick embedded development.

Abstraction of App Code from the OS

Abstraction of application code from the underlying operating system and hardware stack is an essential factor in making DevOps-CI/CD work. Changes to application code are frequent in DevOps-CI/CD. If there are issues with a new build, it can quickly be rotated out of production and fixed. The OS layer is not so forgiving, especially when changes are occurring in a live production environment. For this reason, VxWorks supports industry-standard abstraction frameworks. This is particularly important in embedded systems that must conform to tightly controlled industry standards. Without this support, it would be nearly impossible to do DevOps for real-time embedded systems. VxWorks support includes:

•        Robot Operating System (ROS2): Software libraries and tools for creating robotic applications

•        Adaptive AUTomotive Open System ARchitecture (AUTOSAR): A worldwide development partnership of automotive entities that creates an open and standardized software architecture for automotive electronic control units (ECUs)

•        The Open Group’s Future Airborne Capability Environment (FACETM) Technical Standard: An open real-time standard for avionics that makes safety-critical computing operations more robust, interoperable, portable, and secure

Wind River Helix Virtualization Platform and Wind River Cloud Platform

Embedded systems developers using the DevOps-CI/CD workflow can deploy their code onto Helix Platform or Cloud Platform. Helix Platform enables a single-compute system on edge devices to run multiple OSes and mixed-criticality applications. This approach is becoming increasingly popular with embedded systems makers who want to put abstraction to work, updating one application on a piece of hardware without having to reinstall the OS.

Cloud Platform is a production-grade Kubernetes solution. It is designed to make 5G possible through the solving of operational problems related to deploying and managing distributed edge networks at scale. Kubernetes support makes it possible for embedded systems DevOps teams to perform CI/CD on individual containers. Cloud Platform also supports virtualization as well as a range of operating systems, including Linux, VxWorks, and others.

Wind River Helix Virtualization Platform and Cloud Platform provide an easy way for teams to deploy code without interrupting application functionality.

Testing and Monitoring

As the DevOps-CI/CD workflow releases code into production, either on Helix Platform or Cloud Platform, Wind River tools provide essential functions for testing and monitoring the code. Wind River WASP is a proven testing framework for code entering production. WindShare manages software delivery, while Wind River Panorama facilitates the release program. In addition, Wind River supports industry-standard tools for many of these functions, including Coverity for static analysis, Nessus for security vulnerability scanning, and Achilles for robustness testing.

Eliminate Hardware Roadblocks

Teams need access to target hardware to keep up with rapid development requirements. With continuous iteration, this hardware is often expensive, has limited availability, or doesn’t even exist yet. Teams are able to eliminate this roadblock using advanced simulation tools.

Wind River Simics

Wind River Simics, a full system simulator, solves this problem. Simics’ advanced software can replicate the functionality of many kinds of hardware and operating systems. It can also model an array of peripherals, boards, and networks. This technology allows developers and QA teams to code for a piece of hardware they don’t have or that may not even exist. For instance, Simics can mimic hardware functions based on the “tape up” of a proposed circuit or board.

Simics enables developers, QA, and Ops teams to model large, interconnected systems. For example, they can show how a piece of software will run on multiple combinations of devices, architectures, and operating systems. Once your developers have created a model of a system in Simics, you can simulate many different operational scenarios, such as deterministic bug re-creation.

These capabilities, paired with built-in collaboration tools, help radically speed up Dev, QA, and Ops processes. The Dev and QA teams don’t have to spend time setting up physical development labs, and the Ops teams get an advance look at how the hardware deployment will work. The result is higher-quality code that’s easier to support—because it’s already been tested in many different potential configurations.

Wind River Simics allows you to simulate anything from the simplest OSes on a chip to the most complex interconnected systems.

Implement CI/CD with Tools for Agile Development

The Wind River portfolio of systems tools enables DevOps and CI/CD in the embedded systems world. Wind River Linux, VxWorks RTOS, Helix Platform, and Cloud Platform offer developers, QA teams, and IT Ops features that facilitate DevOps. They either provide the features needed in the workflow or support industry-standard tools. Simics, with its hardware and complex system simulation, speeds the process up while enabling DevOps for a wide range of hardware. Ready to optimize your embedded development processes?

To see how each of these solutions helps combat the challenges associated with CI/CD, download our eBook:

Realizing the DevOps Vision in Embedded Systems

Download Now

Previous TSN and Real-Time Operation from Wind River
Next Wind River Four-Step Procedure to Secure Linux-Based Systems