What Is SOA?

Model service-oriented architectures (SOA) in Simulink

Service-oriented architecture (SOA) is a software architecture based on the concept that a system consists of a set of services in which one service may use another, and applications use one or more of the services based on their need. SOA promotes a loosely coupled component-based approach using middleware for service-oriented communication.

SOA is used in multiple industry standards, including:

  • AUTOSAR: Engineers in the automotive industry have been increasingly using SOA when designing systems for highly autonomous driving applications. The AUTOSAR Adaptive Platform was developed by the AUTOSAR organization and is based on SOA. The AUTOSAR Adaptive Platform provides flexibility and scalability in processing distribution and compute resource allocations. Therefore, you can securely update and upgrade adaptive ECU software even after its release.
  • ROS: Many robotics applications use Robot Operating System (ROS), a robotics middleware that follows SOA methodology. It serves as a framework for communication between the components necessary to run the software.
  • DDS: Data Distribution Services (DDS) uses SOA methodology, and directly addresses publish and subscribe communications for real-time and embedded systems. DDS addresses the needs of applications that require real-time data exchange in industries like aerospace and defense, automotive, and robotics.

You can use Simulink to model and simulate software based on SOA that runs in different applications. 

Modeling of message-based communication between software components.

In addition, you can prepare your models to generate object-oriented C++ code using Embedded Coder®.

Model and generate C++ code for SOA-based AUTOSAR adaptive applications in Simulink® using AUTOSAR Blockset and Embedded Coder.

See also: Simulink, automated driving systems, automotive, AUTOSAR, AUTOSAR Blockset, Embedded Coder, ROS Toolbox, RTI DDS support