embetronicx.com Open in urlscan Pro
188.114.96.3  Public Scan

URL: https://embetronicx.com/tutorials/automotive/autosar/application-layer-in-autosar-autosar-tutorials/
Submission: On May 21 via manual from TN — Scanned from NL

Form analysis 5 forms found in the DOM

GET https://embetronicx.com/

<form method="get" class="search-form navigation-search" action="https://embetronicx.com/">
  <input type="search" class="search-field" value="" name="s" title="Search">
</form>

POST https://embetronicx.com/wp-admin/admin-ajax.php?action=wpdAddSubscription

<form action="https://embetronicx.com/wp-admin/admin-ajax.php?action=wpdAddSubscription" method="post" id="wpdiscuz-subscribe-form">
  <div class="wpdiscuz-subscribe-form-intro">Notify of </div>
  <div class="wpdiscuz-subscribe-form-option" style="width:40%;">
    <select class="wpdiscuz_select" name="wpdiscuzSubscriptionType">
      <option value="post">new follow-up comments</option>
      <option value="all_comment">new replies to my comments</option>
    </select>
  </div>
  <div class="wpdiscuz-item wpdiscuz-subscribe-form-email">
    <input class="email" type="email" name="wpdiscuzSubscriptionEmail" required="required" value="" placeholder="Email">
  </div>
  <div class="wpdiscuz-subscribe-form-button">
    <input id="wpdiscuz_subscription_button" class="wpd-prim-button wpd_not_clicked" type="submit" value="›" name="wpdiscuz_subscription_button">
  </div>
  <input type="hidden" id="wpdiscuz_subscribe_form_nonce" name="wpdiscuz_subscribe_form_nonce" value="26b20835e7"><input type="hidden" name="_wp_http_referer" value="/tutorials/automotive/autosar/application-layer-in-autosar-autosar-tutorials/">
</form>

POST

<form method="post" enctype="multipart/form-data" data-uploading="false" class="wpd_comm_form wpd_main_comm_form">
  <div class="wpd-field-comment">
    <div class="wpdiscuz-item wc-field-textarea">
      <div class="wpdiscuz-textarea-wrap ">
        <div class="wpd-avatar">
          <img alt="guest" src="https://embetronicx.com/wp-content/uploads/2020/05/avatar_146_146.png" srcset="https://embetronicx.com/wp-content/uploads/2020/05/avatar_146_146.png 2x" class="avatar avatar-56 photo" height="56" width="56">
        </div>
        <div id="wpd-editor-wraper-0_0" style="">
          <label style="display: none;" for="wc-textarea-0_0">Label</label>
          <div id="wpd-editor-0_0" class="ql-container ql-snow">
            <div class="ql-editor ql-blank" data-gramm="false" contenteditable="true" data-placeholder="Join the discussion">
              <p><br></p>
            </div>
            <div class="ql-clipboard" contenteditable="true" tabindex="-1"></div>
            <div class="ql-tooltip ql-hidden"><a class="ql-preview" target="_blank" href="about:blank"></a><input type="text" data-formula="e=mc^2" data-link="https://example.com"
                data-video="Embed URL"><a class="ql-action"></a><a class="ql-remove"></a></div>
            <div class="ql-texteditor"><textarea id="wc-textarea-0_0" name="wc_comment" class="wc_comment wpd-field" style="display: none;"></textarea></div>
          </div>
          <div id="wpd-editor-toolbar-0_0" class="ql-toolbar ql-snow">
            <button title="Bold" class="ql-bold" type="button"><svg viewBox="0 0 18 18">
                <path class="ql-stroke" d="M5,4H9.5A2.5,2.5,0,0,1,12,6.5v0A2.5,2.5,0,0,1,9.5,9H5A0,0,0,0,1,5,9V4A0,0,0,0,1,5,4Z"></path>
                <path class="ql-stroke" d="M5,9h5.5A2.5,2.5,0,0,1,13,11.5v0A2.5,2.5,0,0,1,10.5,14H5a0,0,0,0,1,0,0V9A0,0,0,0,1,5,9Z"></path>
              </svg></button>
            <button title="Italic" class="ql-italic" type="button"><svg viewBox="0 0 18 18">
                <line class="ql-stroke" x1="7" x2="13" y1="4" y2="4"></line>
                <line class="ql-stroke" x1="5" x2="11" y1="14" y2="14"></line>
                <line class="ql-stroke" x1="8" x2="10" y1="14" y2="4"></line>
              </svg></button>
            <button title="Underline" class="ql-underline" type="button"><svg viewBox="0 0 18 18">
                <path class="ql-stroke" d="M5,3V9a4.012,4.012,0,0,0,4,4H9a4.012,4.012,0,0,0,4-4V3"></path>
                <rect class="ql-fill" height="1" rx="0.5" ry="0.5" width="12" x="3" y="15"></rect>
              </svg></button>
            <button title="Strike" class="ql-strike" type="button"><svg viewBox="0 0 18 18">
                <line class="ql-stroke ql-thin" x1="15.5" x2="2.5" y1="8.5" y2="9.5"></line>
                <path class="ql-fill" d="M9.007,8C6.542,7.791,6,7.519,6,6.5,6,5.792,7.283,5,9,5c1.571,0,2.765.679,2.969,1.309a1,1,0,0,0,1.9-.617C13.356,4.106,11.354,3,9,3,6.2,3,4,4.538,4,6.5a3.2,3.2,0,0,0,.5,1.843Z"></path>
                <path class="ql-fill" d="M8.984,10C11.457,10.208,12,10.479,12,11.5c0,0.708-1.283,1.5-3,1.5-1.571,0-2.765-.679-2.969-1.309a1,1,0,1,0-1.9.617C4.644,13.894,6.646,15,9,15c2.8,0,5-1.538,5-3.5a3.2,3.2,0,0,0-.5-1.843Z"></path>
              </svg></button>
            <button title="Ordered List" class="ql-list" value="ordered" type="button"><svg viewBox="0 0 18 18">
                <line class="ql-stroke" x1="7" x2="15" y1="4" y2="4"></line>
                <line class="ql-stroke" x1="7" x2="15" y1="9" y2="9"></line>
                <line class="ql-stroke" x1="7" x2="15" y1="14" y2="14"></line>
                <line class="ql-stroke ql-thin" x1="2.5" x2="4.5" y1="5.5" y2="5.5"></line>
                <path class="ql-fill" d="M3.5,6A0.5,0.5,0,0,1,3,5.5V3.085l-0.276.138A0.5,0.5,0,0,1,2.053,3c-0.124-.247-0.023-0.324.224-0.447l1-.5A0.5,0.5,0,0,1,4,2.5v3A0.5,0.5,0,0,1,3.5,6Z"></path>
                <path class="ql-stroke ql-thin" d="M4.5,10.5h-2c0-.234,1.85-1.076,1.85-2.234A0.959,0.959,0,0,0,2.5,8.156"></path>
                <path class="ql-stroke ql-thin" d="M2.5,14.846a0.959,0.959,0,0,0,1.85-.109A0.7,0.7,0,0,0,3.75,14a0.688,0.688,0,0,0,.6-0.736,0.959,0.959,0,0,0-1.85-.109"></path>
              </svg></button>
            <button title="Unordered List" class="ql-list" value="bullet" type="button"><svg viewBox="0 0 18 18">
                <line class="ql-stroke" x1="6" x2="15" y1="4" y2="4"></line>
                <line class="ql-stroke" x1="6" x2="15" y1="9" y2="9"></line>
                <line class="ql-stroke" x1="6" x2="15" y1="14" y2="14"></line>
                <line class="ql-stroke" x1="3" x2="3" y1="4" y2="4"></line>
                <line class="ql-stroke" x1="3" x2="3" y1="9" y2="9"></line>
                <line class="ql-stroke" x1="3" x2="3" y1="14" y2="14"></line>
              </svg></button>
            <button title="Blockquote" class="ql-blockquote" type="button"><svg viewBox="0 0 18 18">
                <rect class="ql-fill ql-stroke" height="3" width="3" x="4" y="5"></rect>
                <rect class="ql-fill ql-stroke" height="3" width="3" x="11" y="5"></rect>
                <path class="ql-even ql-fill ql-stroke" d="M7,8c0,4.031-3,5-3,5"></path>
                <path class="ql-even ql-fill ql-stroke" d="M14,8c0,4.031-3,5-3,5"></path>
              </svg></button>
            <button title="Code Block" class="ql-code-block" type="button"><svg viewBox="0 0 18 18">
                <polyline class="ql-even ql-stroke" points="5 7 3 9 5 11"></polyline>
                <polyline class="ql-even ql-stroke" points="13 7 15 9 13 11"></polyline>
                <line class="ql-stroke" x1="10" x2="8" y1="5" y2="13"></line>
              </svg></button>
            <button title="Link" class="ql-link" type="button"><svg viewBox="0 0 18 18">
                <line class="ql-stroke" x1="7" x2="11" y1="7" y2="11"></line>
                <path class="ql-even ql-stroke" d="M8.9,4.577a3.476,3.476,0,0,1,.36,4.679A3.476,3.476,0,0,1,4.577,8.9C3.185,7.5,2.035,6.4,4.217,4.217S7.5,3.185,8.9,4.577Z"></path>
                <path class="ql-even ql-stroke" d="M13.423,9.1a3.476,3.476,0,0,0-4.679-.36,3.476,3.476,0,0,0,.36,4.679c1.392,1.392,2.5,2.542,4.679.36S14.815,10.5,13.423,9.1Z"></path>
              </svg></button>
            <button title="Source Code" class="ql-sourcecode" data-wpde_button_name="sourcecode" type="button">{}</button>
            <button title="Spoiler" class="ql-spoiler" data-wpde_button_name="spoiler" type="button">[+]</button>
            <div class="wpd-editor-buttons-right">
              <span class="wmu-upload-wrap" wpd-tooltip="Attach an image to this comment" wpd-tooltip-position="left"><label class="wmu-add"><i class="far fa-image"></i><input style="display:none;" class="wmu-add-files" type="file" name="wmu_files[]"
                    accept="image/*"></label></span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="wpd-form-foot" style="display:none;">
    <div class="wpdiscuz-textarea-foot">
      <div class="wpdiscuz-button-actions">
        <div class="wmu-action-wrap">
          <div class="wmu-tabs wmu-images-tab wmu-hide"></div>
        </div>
      </div>
    </div>
    <div class="wpd-form-row">
      <div class="wpd-form-col-left">
        <div class="wpdiscuz-item wc_name-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-user"></i>
          </div>
          <input id="wc_name-0_0" value="" required="required" aria-required="true" class="wc_name wpd-field" type="text" name="wc_name" placeholder="Name*" maxlength="50" pattern=".{3,50}" title="">
          <label for="wc_name-0_0" class="wpdlb">Name*</label>
        </div>
        <div class="wpdiscuz-item wc_email-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-at"></i>
          </div>
          <input id="wc_email-0_0" value="" required="required" aria-required="true" class="wc_email wpd-field" type="email" name="wc_email" placeholder="Email*">
          <label for="wc_email-0_0" class="wpdlb">Email*</label>
        </div>
        <div class="wpdiscuz-item wc_website-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-link"></i>
          </div>
          <input id="wc_website-0_0" value="" class="wc_website wpd-field" type="text" name="wc_website" placeholder="Website">
          <label for="wc_website-0_0" class="wpdlb">Website</label>
        </div>
        <div class="wc-field-submit">
          <label class="wpd_label" wpd-tooltip="Notify of new replies to this comment">
            <input id="wc_notification_new_comment-0_0" class="wc_notification_new_comment-0_0 wpd_label__checkbox" value="comment" type="checkbox" name="wpdiscuz_notification_type" checked="checked">
            <span class="wpd_label__text">
              <span class="wpd_label__check">
                <i class="fas fa-bell wpdicon wpdicon-on"></i>
                <i class="fas fa-bell-slash wpdicon wpdicon-off"></i>
              </span>
            </span>
          </label>
          <input id="wpd-field-submit-0_0" class="wc_comm_submit wpd_not_clicked wpd-prim-button" type="submit" name="submit" value="Post Comment" aria-label="Post Comment">
        </div>
      </div>
      <div class="wpd-form-col-right">
      </div>
      <div class="clearfix"></div>
    </div>
  </div>
  <input type="hidden" class="wpdiscuz_unique_id" value="0_0" name="wpdiscuz_unique_id">
  <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="357251a98a"></p>
  <p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_1" name="ak_js"
      value="1716296529330">
    <script>
      document.getElementById("ak_js_1").setAttribute("value", (new Date()).getTime());
    </script>
  </p>
</form>

POST

<form method="post" enctype="multipart/form-data" data-uploading="false" class="wpd_comm_form wpd-secondary-form-wrapper">
  <div class="wpd-field-comment">
    <div class="wpdiscuz-item wc-field-textarea">
      <div class="wpdiscuz-textarea-wrap ">
        <div class="wpd-avatar">
          <img alt="guest" src="https://embetronicx.com/wp-content/uploads/2020/05/avatar_146_146.png" srcset="https://embetronicx.com/wp-content/uploads/2020/05/avatar_146_146.png 2x" class="avatar avatar-56 photo" height="56" width="56">
        </div>
        <div id="wpd-editor-wraper-wpdiscuzuniqueid" style="display: none;">
          <div id="wpd-editor-char-counter-wpdiscuzuniqueid" class="wpd-editor-char-counter"></div>
          <label style="display: none;" for="wc-textarea-wpdiscuzuniqueid">Label</label>
          <textarea id="wc-textarea-wpdiscuzuniqueid" name="wc_comment" class="wc_comment wpd-field"></textarea>
          <div id="wpd-editor-wpdiscuzuniqueid"></div>
          <div id="wpd-editor-toolbar-wpdiscuzuniqueid">
            <button title="Bold" class="ql-bold"></button>
            <button title="Italic" class="ql-italic"></button>
            <button title="Underline" class="ql-underline"></button>
            <button title="Strike" class="ql-strike"></button>
            <button title="Ordered List" class="ql-list" value="ordered"></button>
            <button title="Unordered List" class="ql-list" value="bullet"></button>
            <button title="Blockquote" class="ql-blockquote"></button>
            <button title="Code Block" class="ql-code-block"></button>
            <button title="Link" class="ql-link"></button>
            <button title="Source Code" class="ql-sourcecode" data-wpde_button_name="sourcecode">{}</button>
            <button title="Spoiler" class="ql-spoiler" data-wpde_button_name="spoiler">[+]</button>
            <div class="wpd-editor-buttons-right">
              <span class="wmu-upload-wrap" wpd-tooltip="Attach an image to this comment" wpd-tooltip-position="left"><label class="wmu-add"><i class="far fa-image"></i><input style="display:none;" class="wmu-add-files" type="file" name="wmu_files[]"
                    accept="image/*"></label></span>
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  <div class="wpd-form-foot" style="display:none;">
    <div class="wpdiscuz-textarea-foot">
      <div class="wpdiscuz-button-actions">
        <div class="wmu-action-wrap">
          <div class="wmu-tabs wmu-images-tab wmu-hide"></div>
        </div>
      </div>
    </div>
    <div class="wpd-form-row">
      <div class="wpd-form-col-left">
        <div class="wpdiscuz-item wc_name-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-user"></i>
          </div>
          <input id="wc_name-wpdiscuzuniqueid" value="" required="required" aria-required="true" class="wc_name wpd-field" type="text" name="wc_name" placeholder="Name*" maxlength="50" pattern=".{3,50}" title="">
          <label for="wc_name-wpdiscuzuniqueid" class="wpdlb">Name*</label>
        </div>
        <div class="wpdiscuz-item wc_email-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-at"></i>
          </div>
          <input id="wc_email-wpdiscuzuniqueid" value="" required="required" aria-required="true" class="wc_email wpd-field" type="email" name="wc_email" placeholder="Email*">
          <label for="wc_email-wpdiscuzuniqueid" class="wpdlb">Email*</label>
        </div>
        <div class="wpdiscuz-item wc_website-wrapper wpd-has-icon">
          <div class="wpd-field-icon"><i class="fas fa-link"></i>
          </div>
          <input id="wc_website-wpdiscuzuniqueid" value="" class="wc_website wpd-field" type="text" name="wc_website" placeholder="Website">
          <label for="wc_website-wpdiscuzuniqueid" class="wpdlb">Website</label>
        </div>
        <div class="wc-field-submit">
          <label class="wpd_label" wpd-tooltip="Notify of new replies to this comment">
            <input id="wc_notification_new_comment-wpdiscuzuniqueid" class="wc_notification_new_comment-wpdiscuzuniqueid wpd_label__checkbox" value="comment" type="checkbox" name="wpdiscuz_notification_type" checked="checked">
            <span class="wpd_label__text">
              <span class="wpd_label__check">
                <i class="fas fa-bell wpdicon wpdicon-on"></i>
                <i class="fas fa-bell-slash wpdicon wpdicon-off"></i>
              </span>
            </span>
          </label>
          <input id="wpd-field-submit-wpdiscuzuniqueid" class="wc_comm_submit wpd_not_clicked wpd-prim-button" type="submit" name="submit" value="Post Comment" aria-label="Post Comment">
        </div>
      </div>
      <div class="wpd-form-col-right">
      </div>
      <div class="clearfix"></div>
    </div>
  </div>
  <input type="hidden" class="wpdiscuz_unique_id" value="wpdiscuzuniqueid" name="wpdiscuz_unique_id">
  <p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="357251a98a"></p>
  <p style="display: none !important;" class="akismet-fields-container" data-prefix="ak_"><label>Δ<textarea name="ak_hp_textarea" cols="45" rows="8" maxlength="100"></textarea></label><input type="hidden" id="ak_js_2" name="ak_js"
      value="1716296529331">
    <script>
      document.getElementById("ak_js_2").setAttribute("value", (new Date()).getTime());
    </script>
  </p>
</form>

POST #

<form action="#" method="post" accept-charset="utf-8" id="subscribe-blog-blog_subscription-2" data-blog="130803104" data-post_access_level="everybody">
  <div id="subscribe-text">
    <p>Enter your email address to receive the notifications of new posts.</p>
  </div>
  <p id="subscribe-email">
    <label id="jetpack-subscribe-label" class="screen-reader-text" for="subscribe-field-blog_subscription-2"> Email Address </label>
    <input type="email" name="email" required="required" value="" id="subscribe-field-blog_subscription-2" placeholder="Email Address">
  </p>
  <p id="subscribe-submit">
    <input type="hidden" name="action" value="subscribe">
    <input type="hidden" name="source" value="https://embetronicx.com/tutorials/automotive/autosar/application-layer-in-autosar-autosar-tutorials/">
    <input type="hidden" name="sub-type" value="widget">
    <input type="hidden" name="redirect_fragment" value="subscribe-blog-blog_subscription-2">
    <input type="hidden" id="_wpnonce" name="_wpnonce" value="f60fe5884b"><input type="hidden" name="_wp_http_referer" value="/tutorials/automotive/autosar/application-layer-in-autosar-autosar-tutorials/"> <button type="submit"
      class="wp-block-button__link" name="jetpack_subscriptions_widget"> Subscribe </button>
  </p>
</form>

Text Content

WE VALUE YOUR PRIVACY

We and our partners store and/or access information on a device, such as cookies
and process personal data, such as unique identifiers and standard information
sent by a device for personalised advertising and content, advertising and
content measurement, audience research and services development. With your
permission we and our partners may use precise geolocation data and
identification through device scanning. You may click to consent to our and our
1429 partners’ processing as described above. Alternatively you may access more
detailed information and change your preferences before consenting or to refuse
consenting. Please note that some processing of your personal data may not
require your consent, but you have a right to object to such processing. Your
preferences will apply to this website only. You can change your preferences or
withdraw your consent at any time by returning to this site and clicking the
"Privacy" button at the bottom of the webpage.
MORE OPTIONSAGREE
Skip to content


Menu
 * Home
 * Tutorials
   * Automotive
     * UDS Protocol Tutorials
     * AUTOSAR Tutorials
   * Bootloader Tutorials
     * STM32F7 Bootloader (ARM Cortex M7) Tutorial
     * STM32F103 (ARM Cortex M3) Bootloader Tutorials
     * STM32 MikroC Pro ARM Bootloader
   * Unit Testing Tutorials
   * Programming Language
     * C Tutorials
     * Embedded Interview Topics
   * Microcontroller Tutorials
     * Raspberry Pi Tutorials
     * Raspberry PI Pico Tutorials
     * 8051 Tutorials
     * PIC16F877A Tutorials
     * LPC2148 Tutorials
     * STM32 Tutorials
     * ESP32
       * ESP-IDF Tutorials
       * NuttX RTOS
   * Linux
     * Linux Device Driver
   * RTOS
     * NuttX RTOS Tutorials
     * FreeRTOS Tutorials
     * RTX RTOS
     * Zephyr RTOS – STM32 Tutorials
     * Zephyr RTOS – ESP32 Tutorials
     * RT-Thread RTOS Tutorials
   * Technologies And Devices
   * PCB
   * VLSI
   * Uncategorized
   * B.E Projects
     * 8051 Projects
     * LPC2148 Projects
 * Others
   * Interview Topics
   * Embedded Companies in India
   * Video Tutorials
   * Product Reviews
 * About Us
   * Contact Us
   * FAQ
   * Trademark Details
   * Disclaimer
   * Privacy Policy
   * Advertise With Us
   * Guest Post
 * Hire Us
 * Testimonials
 * Log In
 * Free Online Gerber Viewer
 * PCB assembly & Box build



Home → Tutorials → Automotive → AUTOSAR → Application Layer in AUTOSAR – AUTOSAR
Tutorials Part 2




APPLICATION LAYER IN AUTOSAR – AUTOSAR TUTORIALS PART 2

by Kiruthika Tags Automotive, AUTOSAR, Tutorials Categories AUTOSAR

Play Video
PlaySkip BackwardSkip Forward
Unmute

Current Time 0:00
/
Duration 50:13
Loaded: 1.02%


00:00
Stream Type LIVE
Seek to live, currently behind liveLIVE
Remaining Time -50:13
 
1x
Playback Rate

Chapters
 * Chapters

Descriptions
 * descriptions off, selected

Captions
 * captions settings, opens captions settings dialog
 * captions off, selected

Audio Track
 * default, selected

Picture-in-PictureFullscreen

This is a modal window.



Beginning of dialog window. Escape will cancel and close the window.

TextColorWhiteBlackRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentText
BackgroundColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityOpaqueSemi-TransparentTransparentCaption
Area
BackgroundColorBlackWhiteRedGreenBlueYellowMagentaCyanOpacityTransparentSemi-TransparentOpaque
Font Size50%75%100%125%150%175%200%300%400%Text Edge
StyleNoneRaisedDepressedUniformDrop shadowFont FamilyProportional
Sans-SerifMonospace Sans-SerifProportional SerifMonospace SerifCasualScriptSmall
Caps
Reset restore all settings to the default valuesDone
Close Modal Dialog

End of dialog window.

Advertisement









Last Updated on: March 17th, 2024



This article is the continuation of the Series on AUTOSAR Tutorials and carries
the discussion on AUTOSAR. The aim of this series is to provide easy and
practical examples that anyone can understand. In the last article, we have seen
the Introduction to AUTOSAR. In this tutorial, we are going to see the
Application Layer in AUTOSAR – AUTOSAR Tutorials Part 2.

Table of Contents


Toggle
 * Application Layer in AUTOSAR – Introduction
 * Software Component (SWC)
   * Atomic SWC
   * Composition SWC
     * Runnable Entity
       * Init Runnable
       * Periodic Runnable
       * Server Runnable
     * Trigger points
     * Access point type
     * Ports
     * Port Interface
       * Sender/Receiver interface
       * Client/Server interface
       * Example
     * Port Prototypes
     * Connectors
       * Assembly connector
       * Delegate connector
 * Summary


APPLICATION LAYER IN AUTOSAR – INTRODUCTION

The application layer in AUTOSAR (AUTomotive Open System ARchitecture) is a
crucial component within the overall software architecture of automotive
systems. It is the top most layer in AUTOSAR Software Architecture, and it is
responsible for executing the application software and managing the interaction
between different software components. The application layer provides a
standardized framework that enables seamless integration of various
applications, such as vehicle functions, services, and features, across
different ECUs (Electronic Control Units) in a vehicle. It helps to facilitate
communication, data exchange, and coordination among these applications,
ensuring the efficient and reliable operation of the entire automotive system.

This layer consists of many software components (SWC) which execute the set of
tasks to fulfill the functionality of the vehicle. Each SWC contains many
runnable. These software components (SWC) are connected with the help of ports.
These ports give communication between two SWCs as well as with BSW.




SOFTWARE COMPONENT (SWC)

The below image represents the typical view of Software component (SWC),




The software component is a small application that is created for some specific
functionality in ECU. The main purpose of having a software component is to make
the software independent of hardware and make the software reusable. while
creating a new component type under the application component type in the
DaVinci Developer tool, the developer needs to select either one of the types
mentioned below.

There are 2 types of software components. they are,

 1. Atomic SWC
 2. Composition SWC


ATOMIC SWC

An atomic software component is a self-contained unit which is having
application software. It encapsulates the implementation of the functionality.
It only exposes the connection points to the outside world through the port
prototype.



Under Atomic SWC there are a few sub-types,

 1. Application SWC – This is normal hardware-independent application software.
 2. Sensor/Actuator SWC – This is used to handle sensor and Actuator
    input/outputs.
 3. Non-volatile memory block SWC – This is used when we are using NVRAM.
 4. Calibration parameter SWC- This is used for sharing calibration parameter
    values with other devices.
 5. Complex device driver SWC- This is used when we are developing complex
    device drivers which are not supported by AUTOSAR.
 6. Service SWC- This is used when we are using services provided by the service
    layer which is placed in the BSW layer.
 7. Service proxy SWC- It serves as a proxy to one or more remote ECUs,
    providing internal services. Its primary function is to distribute vehicle
    mode information across the system.
 8. ECU abstraction SWC- This is used to access the I/O by directly interacting
    with specific BSW modules.


COMPOSITION SWC

Composition SWC is a group of individual software components combined into one
software component to make the ECU. This type of grouping facilitates
abstracting SWCs and standardizing software development.

RUNNABLE ENTITY

 As discussed earlier, application software components are having certain
entities, those are called as the Runnable, which are basically embedded c
logics. During configuration with the help of tools, a skeleton is generated in
respective source files of SWCs, later developers must write their logic inside
the skeleton to run the specific task.



There are 3 types of runnable entities,

 1. Init Runnable
 2. Periodic Runnable
 3. Server Runnable

INIT RUNNABLE

The Init Runnable is an important part of the AUTOSAR architecture as it allows
the ECU to perform the necessary tasks during the initialization phase and
prepare for normal operation. These can be used to verify that the controller is
properly configured and ready to perform its intended function.

PERIODIC RUNNABLE

If an executable is configured as Periodic, it will be called periodically at
the configured time.  So the developer needs to give the minimum interval during
configuration.



SERVER RUNNABLE

This is used to provide services to other components in the system. This is
typically triggered by an external request, such as a request from another
component to access certain data or perform a certain task.

TRIGGER POINTS

While configuring runnable developers must mention the trigger point type as
well as access points, and trigger points, it tells under which condition the
runnable needs to be triggered or called. There are few types of trigger points
are mentioned below,

 1. Init
 2. Periodic
 3. Background
 4. On-data reception
 5. On-data reception

ACCESS POINT TYPE

In case if the runnable wants to use the port prototype, the developer must
mention the access point type. The types of access points are,


 1. Read data
 2. Write data
 3. Invoke operations
 4. Read received mode

PORTS

In AUTOSAR, all communication between SWC and lower layers is done using ports.
A port is a channel or connection used to transmit data between SWCs or BSW
modules. Since AUTOSAR is intended for standardization, the data that will be
transferred between entities must be known at configuration time. Ports belong
to exactly one SWC at a time. The port may or may not be connected to the other
end. Connectors are used to connect two ports.

There are two types of ports,

1. Required Ports(R-Port)- This type of port is used when data is to be received
or required.



2. Provider Ports(P-Port)- – This type of port is used when data is to be
transmitted or SWC is a provider of some service to other entities. 

PORT INTERFACE

The Port interface acts as a door between software components (SWC) to
communicate with one another. The term Port Interface refers to the highest
level of description of information transferred between components in an AUTOSAR
system. The Port interface is reusable, and it is configured during the system
configuration phase.

There are two types of port interfaces,


 1. Sender/Receiver interface
 2. Client/Server interface

SENDER/RECEIVER INTERFACE

In this type of communication interface data elements are transferred from one
software component to another. The data element type may be int, float, char,
array, and record. This interface is mostly used between application software
components. A port may contain many data elements. The communication between
software components is 1: n or n:1.

Syntax

Rte_Read_<port name>_<data element>



Rte_Write_<port name> _<data element>

CLIENT/SERVER INTERFACE

The Client calls an operation of a Server asynchronously or synchronously.
Communication between client and server is 1:1 or n:1. Operations can be called
individually. This communication interface takes place most frequently between
the application and services of the Basic Software (diagnostics, memory
management, etc.). The operation may be requesting for turn on the light and get
some data from memory, etc.,

Syntax



Rte_Call_<port_name>_<operations_name>

EXAMPLE

To understand better the concept of SR Interface and CS Interface let’s take the
below example,



We have two sensor actuators one is for right door motion and another one is for
left door motion called Right Door Sensor, Left Door Sensor, and right Door
Sensor is a Sender port(P- Port) it will write the door state and Left Door
State, and the Right Door State is an SWC’s is a Receiver Port(R-Port) it will
read the door state.



CDD SWC for the Right door state and CDD SWC for the Left door state are acting
as Server Ports (P- Port) it will get the input from Actuators, and it will
serve the door state and Interior Light state acting as a Client Port(R-Port)
and it will get the interior light state whether it is ON or OFF based on door
state.

PORT PROTOTYPES

Port Prototypes are intended to be used for attaching Software Connectors that
establish an actual connection between SWC prototypes.

CONNECTORS

A connector is used to complete the connection between the port prototypes.



There are 2 types of connectors,

 1. Assembly connector
 2. Delegate connector

ASSEMBLY CONNECTOR

Assembly connectors are used to connect two ports in a single software
component. 



DELEGATE CONNECTOR

Delegation connectors are used when some port of SWC needs to be exposed to the
outer world of the Composition (ECU).





SUMMARY

The application layer in AUTOSAR is a fundamental part of the automotive
software architecture. Its main purpose is to execute application software and
facilitate communication between different software components. It provides a
standardized framework for integrating various vehicle functions, services, and
features across multiple ECUs. The application layer plays a vital role in
ensuring the efficient and reliable operation of the automotive system as a
whole.

In our next article, we will discuss the Run Time Environment (RTE) Layer in
AUTOSAR.

You can also read the below tutorials.



Linux Device Driver TutorialsC Programming Tutorials FreeRTOS TutorialsNuttX
RTOS Tutorials RTX RTOS TutorialsInterrupts Basics I2C Protocol – Part 1
(Basics)I2C Protocol – Part 2 (Advanced Topics) STM32 TutorialsLPC2148 (ARM7)
Tutorials PIC16F877A Tutorials8051 Tutorials Unit Testing in C
TutorialsESP32-IDF Tutorials Raspberry Pi TutorialsEmbedded Interview Topics
Reset Sequence in ARM Cortex-M4BLE Basics VIC and NVIC in ARMSPI – Serial
Peripheral Interface Protocol STM32F7 Bootloader TutorialsRaspberry PI Pico
Tutorials STM32F103 Bootloader TutorialsRT-Thread RTOS Tutorials Zephyr RTOS
Tutorials – STM32Zephyr RTOS Tutorials – ESP32 AUTOSAR TutorialsUDS Protocol
Tutorials Product ReviewsSTM32 MikroC Bootloader Tutorial VHDL Tutorials

Kiruthika

Embedded Software Developer who is passionate about Embedded Systems.


Hits (since 1 July 2022) - 16,429


SHARE THIS:

 * Share
 * 
 * WhatsApp
 * 
 * Telegram
 * Email
 * 
 * Print
 * More
 * 

 * Bewaren
 * 


RELATED

AUTOSAR INTRODUCTION – AUTOSAR TUTORIALS PART 1

This article is the first part of the Series on AUTOSAR Tutorials and carries
the discussion on AUTOSAR. The aim of this series is to provide easy and
practical examples that anyone can understand. In this article, we will see an
AUTOSAR Introduction. AUTOSAR Introduction What is AUTOSAR? In the Automotive
industry…

In "AUTOSAR"

RUN TIME ENVIRONMENT (RTE) LAYER – AUTOSAR TUTORIALS PART 3

This article is the continuation of the Series on AUTOSAR Tutorials and carries
the discussion on AUTOSAR. The aim of this series is to provide easy and
practical examples that anyone can understand. In the last article, we have seen
the Application Layer in AUTOSAR. In this tutorial, we are going to see…

In "AUTOSAR"

UDS PROTOCOL INTRODUCTION (UNIFIED DIAGNOSTIC SERVICES) – UDS PROTOCOL TUTORIAL
PART 1

This article is the first part of the Series on the UDS Protocol and carries the
discussion on the Unified Diagnostic Services Protocol. The aim of this series
is to provide easy and practical examples that anyone can understand. This is
the UDS Protocol Introduction (Unified Diagnostic Services) - UDS…

In "UDS Protocol"


Categories AUTOSAR Tags Automotive, AUTOSAR, Tutorials
Unit Testing in C Part 5 – Mock using CMock in Embedded
Interrupts Example Program in Linux Kernel – Linux Device Driver Tutorial – Part
13
Subscribe
Login
Notify of
new follow-up comments new replies to my comments


Label







{} [+]


Name*

Email*

Website






Δ


Label

{} [+]


Name*

Email*

Website






Δ

This site uses Akismet to reduce spam. Learn how your comment data is processed.

1 Comment

Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Amit
Guest


February 28, 2024 6:37 PM


Hi When we can get part3 of this series

0

Reply


Load More Comments




BROWSE BY TAGS

8051 (33) ADC (7) Automotive (9) Bootloader (10) Bottom Half (12) c (49)
Character Device Driver (50) Cortex-M0+ (16) Cortex-M3 (19) cortex-m4 (38)
Cortex-M7 (32) CubeIDE (7) DC Motor (8) Device Driver (53) Diagnostics (6) esp32
(12) FreeRTOS (15) GPIO (26) GSM (7) HAL (7) I2C (14) Interrupts (18) keypad (6)
LCD Interfacing (51) LED Interfacing (29) Linux (53) LPC2148 (41) NuttX RTOS (7)
PIC16F877A (26) Raspberry PI (15) RT-Thread RTOS (9) RTOS (34) Sensor (24) SPI
(9) ST Link (8) stm32 (38) sysfs (10) Tasklet (6) Timer/Counter (8) Tutorials
(262) UART (37) UDS Protocol (6) USB (6) Vilambaram (28) Workqueue (6)


RECENT POSTS

 * CheckRed – Strengthen security across multi-cloud environments with CIEM
 * Quick Ways to Fix “UnrecognizedDatabase Format” Error in MS Access
 * How Do SOCKS Proxies Work? A Comprehensive Guide for Everyone
 * WebP to JPG Conversion and Compatibility of Images
 * What is my IP Address? Here’s How to Find It Out in Seconds


SUBSCRIBE TO THE BLOG VIA EMAIL

Enter your email address to receive the notifications of new posts.

Email Address

Subscribe

Join 292 other subscribers

Wanna Disable Ads in EmbeTronicX?



Be a premium member!!! Register

Premium members, Please Login

[75% OFF ] Use code – ETX75

One Month – 4 USD (Rs.320) 1 USD (Rs.80)

One Year – 40 USD (Rs.3200) 10 USD (Rs.800)

If you want to appreciate EmbeTronicX, You

Should Consider:








MOST VIEWED POSTS SINCE JUNE 2022

 * IOCTL in Linux (I/O Control) – Linux Device Driver Tutorial Part 8 (332,764)
 * Linux Device Driver Tutorial – Part 1 | Introduction (221,302)
 * Fixed: Prolific PL2303TA USB to Serial Windows 11 Problem (173,700)
 * Diagnostics and Communication Management Function Group – UDS Protocol
   Tutorial Part 2 (173,081)
 * Sysfs in Linux Kernel – Linux Device Driver Tutorial Part 11 (156,458)
 * SPI Device Driver Tutorial – Linux Device Driver Tutorial Part 47 (116,465)
 * Device File Creation – Linux Device Driver Tutorial Part 5 (113,582)
 * UDS Protocol Introduction (Unified Diagnostic Services) – UDS Protocol
   Tutorial Part 1 (104,977)
 * First Linux Device Driver – Linux Device Driver Tutorial Part 2 (104,266)
 * Simple STM32 Bootloader Implementation – Bootloader Tutorial Part 3 (97,721)


AUTOMOTIVE TUTORIALS



UDS Protocol Tutorials



UDS Protocol Introduction (Unified Diagnostic Services) – UDS Protocol Tutorial
Part 1 Diagnostics and Communication Management – UDS Protocol Tutorial Part 2
Data Transmission – UDS Protocol Tutorial Part 3 Input Output Control – UDS
Protocol Tutorial Part 4 Routine Control Unit – UDS Protocol Tutorial Part 5
Upload Download Function Unit – UDS Protocol Tutorial Part 6



AUTOSAR Tutorials



AUTOSAR Introduction – AUTOSAR Tutorials Part 1 Application Layer in AUTOSAR –
AUTOSAR Tutorials Part 2 Run Time Environment (RTE) Layer – AUTOSAR Tutorials
Part 3


REVIEWS

Kaiweets KM601 Smart Digital Multimeter Review HT208D Inrush Clamp Meter
(6000 Counts) – Review Automatic Self Adjusting Wire Stripper (KAIWEETS KWS-103)
– Review KAIWEETS HT118A Multimeter – Review and How to Use?






Contact Us  | Advertise with Us  |  Disclaimer  |  FAQ  |  Trademark  |  Privacy
Policy  |  Guest Post

 

Copyright EmbeTronicX 2024 © All Rights Reserved.

wpDiscuz


Insert

Table of Contents

×
 * Application Layer in AUTOSAR – Introduction
 * Software Component (SWC)
   * Atomic SWC
   * Composition SWC
     * Runnable Entity
       * Init Runnable
       * Periodic Runnable
       * Server Runnable
     * Trigger points
     * Access point type
     * Ports
     * Port Interface
       * Sender/Receiver interface
       * Client/Server interface
       * Example
     * Port Prototypes
     * Connectors
       * Assembly connector
       * Delegate connector
 * Summary

→ Table of Contents