.. include:: vars.rst .. _section-next_gen_ee_arch: Next Generation E/E Architecture ================================ .. list-table:: :name: TableDatatypesPrerequisites :widths: 20 80 :header-rows: 0 * - Prerequisites - * :ref:`section-gsg_intro_cpp11`, including: * |DWs|, |DRs|, and *Topics* * Using the code generator * - Time to complete - 30 minutes * - Concepts covered in this module - - Four pillars of future-proof architecture - Integration with automotive industry standards The modern vehicle more closely resembles a mobile data center than a traditional automobile. Software-based functions that once seemed reserved for science fiction—advanced driver assistance, over-the-air (OTA) updates, even autonomous driving—are now common on automakers’ roadmaps. However, the modern automotive architecture—with over 100 million lines of code, 100+ engine control units (ECUs), and kilometers of cabling within each vehicle—can no longer scale. Vehicles designed for the future, and ultimately higher levels of autonomy, require an exponential increase in processing and computing power. To address these complex requirements, automakers are researching new protocols and redefining the vehicle architecture to simplify and scale their systems. In rebuilding the modern vehicle, automakers have a unique opportunity for innovation at every stage of the project lifecycle. .. _section-creating_fp_arch: Creating a Future-Proof Architecture ------------------------------------ Anticipating what the electric vehicle (EV) and autonomous vehicle (AV) markets are going to need in the future is not an easy task, especially in a landscape that is changing so quickly. For software engineers, this uncertainty also affects how we design and develop software for an expanding market. The goal is to create a vehicle architecture, both hardware and software, that is future-proof and adaptable to changing requirements. How do we do this? There’s a trend in the market to reduce the number of ECUs and add zonal controllers and central units, called the **Next-Generation Electrical/Electronic (E/E) Architecture**. However, in many of today’s deployments, the software is highly coupled to those specific ECUs, in-board transports, or proprietary stacks. Migrating to a different software-defined approach can require a huge effort unless you choose the software carefully. .. figure:: static/next-gen-ee-architecture.png :width: 80% :align: center The automotive industry is trending toward domain-centralized controllers limited by hardware; the way forward lies in a highly adaptable, software-defined framework. There are four main pillars to making your next-generation E/E system future-proof and adaptable: 1. **Portability:** A successful future-looking system should ideally be built on a framework that abstracts the OS and hardware-specific details. This way, each software module is developed once and deployed effortlessly an infinite number of times. The key to success when decoupling is minimizing the abstraction layer’s overhead, while transparently exploiting hardware and OS capabilities. .. figure:: static/portability.png :width: 80% :align: center Connext enables the portability to run effortlessly in a variety of environments. 2. **Evolvability:** A well-designed data model provides the flexibility required for vehicle evolution. Software systems originally designed and deployed with SAE Level 2 features can mature to include Level 4 capabilities with maximum reuse and minimum redesign. 3. **Flexibility:** Using a different technology to send each kind of data is cumbersome. This might seem to offer more performance at first, but it unnecessarily increases the complexity of the system and ties you to the hardware. A better option is choosing a single solution that is transport-agnostic and can simply be tuned to adapt to the different dataflows in your system, taking full advantage of the underlying technologies and optimizing performance based on the data requirements. .. figure:: static/data-types.png :width: 80% :align: center A successful automotive system must adapt seamlessly to a wide variety of data types, sizes, and frequencies. 4. **Integrability:** You probably have legacy systems that you want to keep, and there are many innovative technologies out there that you want to include. The key to success when integrating different systems is to achieve a balance between the features they provide, how mature they are, and the complexity they add. Building a system to last is not easy; you need to adapt as you grow and handle unknown requirements as they emerge. RTI’s |CONNEXT_DRIVE| has been designed with these aspects in mind, and the :ref:`section-hands_on` section will help you get started. .. _section-hands_on: Hands-On 4: Next Generation E/E Architecture -------------------------------------------- :ref:`section-creating_fp_arch` detailed the four pillars of a future-proof vehicle architecture. Now, experience first-hand how |CONNEXT_DRIVE| provides the portability, evolvability, flexibility, and integrability to power the vehicles of tomorrow. Follow along with RTI’s Case + Code for :link:`Building a Next Generation E/E Architecture `. Hands-On 5: Viewing Your Data from |CONNEXT_CERT_H| --------------------------------------------------- RTI designed |CONNEXT_DRIVE| to help integrate different subsystems by enabling a rich suite of tools and infrastructure services. You can see more details about these here: * `Infrastructure Services `_ * `Tools `_ If you want to use these tools to communicate with your `Hands-On 4: Next Generation E/E Architecture`_ example (or any example using DPSE), you can follow `this example `_ in our Community Github. Integrating into Ecosystems --------------------------- RTI designed |CONNEXT_DRIVE| to provide seamless connectivity for your automotive system – where and when you want it. That means integrating with or conforming to the standard behind major industry ecosystems, like ROS 2, AUTOSAR Classic, and AUTOSAR Adaptive, so you can leverage the power of |CONNEXT| without tradeoffs. For more information on using |CONNEXT_DRIVE| with the AUTOSAR Classic platform, check out the experimental `Integration Toolkit for AUTOSAR Classic <../../integration_toolkit_for_autosar_classic/getting_started_guide/IntegrationToolkitForAUTOSARClassic_GettingStartedGuide.pdf>`_. Next Steps ---------- The next section covers additional resources to help deepen your understanding of |CONNEXT| systems. These include additional hands-on examples and detailed manuals for |CONNEXT| Core Libraries and |CONNEXT_MICRO|.