
<!DOCTYPE html>
<html lang="en">
  
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <title>Visit APP4MC at DATE or Parallel conferences | The Eclipse Foundation</title>
  <meta property="og:title" content="Visit APP4MC at DATE or Parallel conferences | The Eclipse Foundation" />
  <meta name="twitter:title" content="Visit APP4MC at DATE or Parallel conferences | The Eclipse Foundation" />
  <meta name="description" content="On March, the 30th, the talk &lsquo;On Reducing Busy Waiting in AUTOSAR via Task-Release-Delta-based Runnable Reordering&rsquo; (2pm) presents analyses regarding resource management based upon APP4MC at the Design, Automation and Test Conference and Exhibition (DATE).

">
  <meta property="og:description" content="On March, the 30th, the talk &lsquo;On Reducing Busy Waiting in AUTOSAR via Task-Release-Delta-based Runnable Reordering&rsquo; (2pm) presents analyses regarding resource management based upon APP4MC at the Design, Automation and Test Conference and Exhibition (DATE).

">
  <meta name="twitter:description" content="On March, the 30th, the talk &lsquo;On Reducing Busy Waiting in AUTOSAR via Task-Release-Delta-based Runnable Reordering&rsquo; (2pm) presents analyses regarding resource management based upon APP4MC …">
  <meta name="author" content="Susan Iwai"/>
  <link href='https://www.eclipse.org/favicon.ico' rel='icon' type='image/x-icon'/>
  <meta property="og:image" content="https://www.eclipse.org/app4mc/images/logo.png" />
  <meta name="twitter:image" content="https://www.eclipse.org/app4mc/images/logo.png" />
  <meta name="twitter:card" content="summary" />
  <meta name="twitter:site" content="@EclipseFdn" />
  <meta name="twitter:creator" content="@EclipseFdn" />
  <meta property="og:url" content="https://www.eclipse.org/news/2017-03-29_conferences_2017/" />
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="Application Platform Project for MultiCore (APP4MC)" />
  
  <meta name="generator" content="Hugo 0.42.1" />
  <link rel="canonical" href="https://www.eclipse.org/news/2017-03-29_conferences_2017/" />
  <link rel="alternate" href="https://www.eclipse.org/app4mc/index.xml" type="application/rss+xml" title="Application Platform Project for MultiCore (APP4MC)">
  <link rel="stylesheet" href="https://eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/quicksilver.min.css">
  <link href="//fonts.googleapis.com/css?family=Libre+Franklin:400,700,300,600,100" rel="stylesheet" type="text/css"/>
  
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
  



<script async src="https://www.googletagmanager.com/gtag/js?id=UA-164550450-1"></script>
<script>
  function getEclipseCookieConsentStatus() {
   var i,x,y,cookies_list=document.cookie.split(";");
    for (i = 0; i < cookies_list.length; i++) {
      x = cookies_list[i].substr(0,cookies_list[i].indexOf("="));
      y = cookies_list[i].substr(cookies_list[i].indexOf("=")+1);
      x = x.replace(/^\s+|\s+$/g,"");
      if (x == 'eclipse_cookieconsent_status') {
        return unescape(y);
      }
    }
  }
  var eclipse_cookieconsent_status = getEclipseCookieConsentStatus();
  if (eclipse_cookieconsent_status === 'allow') {
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'UA-164550450-1');
  }
</script>
</head>
  <body>
    
<a class="sr-only" href="#content">Skip to main content</a>
<header class="header-wrapper" id="header-wrapper">
  <div class="clearfix toolbar-container-wrapper">
    <div class="container">
      <div class="text-right toolbar-row row hidden-print">
        <div class="col-md-24 row-toolbar-col">
          <ul class="list-inline">
            <li><a href="https://accounts.eclipse.org/user/edit" class="" data-tab-destination="tab-profile"><i class="fa fa-edit fa-fw"></i> Edit my account</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
  <div class="container">
    <div class="row" id="header-row">
      <div class="col-sm-5 col-md-4" id="header-left">
        <div class="wrapper-logo-default">
            <a title="Application Platform Project for MultiCore (APP4MC)" href="https://www.eclipse.org/app4mc/">
              <img width="140" class="logo-eclipse-default img-responsive hidden-xs" src="https://www.eclipse.org/app4mc/images/logo.png" alt="Application Platform Project for MultiCore (APP4MC)" />
            </a>
          
        </div>
      </div>
      
      <div class="col-sm-19 col-md-20 reset margin-top-10" id="main-menu-wrapper">
      
        <div class="navbar yamm" id="main-menu">
          <div class="navbar-collapse collapse reset float-right" id="navbar-main-menu">
            <ul class="nav navbar-nav">
              



<li>
  <a class="" href="https://www.eclipse.org/app4mc/gettingstarted/">
  
  Getting Started
  </a>
  
</li>


<li>
  <a class="" href="https://www.eclipse.org/app4mc/documentation/">
  
  Documentation
  </a>
  
</li>


<li>
  <a class="" href="https://www.eclipse.org/app4mc/community/">
  
  Community
  </a>
  
</li>


<li>
  <a class="" href="https://www.eclipse.org/app4mc/downloads/">
  
  Downloads
  </a>
  
</li>


<li>
  <a class="" href="https://www.eclipse.org/app4mc/news/">
  
  News
  </a>
  
</li>


<li class="dropdown eclipse-more">
  <a href="#" data-toggle="dropdown" class="dropdown-toggle">
    
    
    <span>About</span>
    <b class="caret"></b>
  </a>
  <ul class="dropdown-menu">
    <div class="yamm-content">
      
      <li><a href="https://www.eclipse.org/app4mc/history/">History</a> </li>
      
      <li><a href="https://www.eclipse.org/app4mc/snippets/">Snippets</a> </li>
      
    </div>
  </ul>
  
</li>


<li class="dropdown eclipse-more hidden-xs">
  <a data-toggle="dropdown" class="dropdown-toggle" role="button">More<b class="caret"></b></a>
  <ul class="dropdown-menu">
    <li>
      
      <div class="yamm-content">
        <div class="row">
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Community</strong></p>
            </li>
            <li><a href="http://marketplace.eclipse.org">Marketplace</a></li>
            <li><a href="http://events.eclipse.org">Events</a></li>
            <li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li>
            <li><a href="https://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li>
            <li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li>
            <li><a href="https://blogs.eclipse.org">Blogs</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Participate</strong></p>
            </li>
            <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
            <li><a href="https://www.eclipse.org/forums/">Forums</a></li>
            <li><a href="https://www.eclipse.org/mail/">Mailing Lists</a></li>
            <li><a href="https://wiki.eclipse.org/">Wiki</a></li>
            <li><a href="https://wiki.eclipse.org/IRC">IRC</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Eclipse IDE</strong></p>
            </li>
            <li><a href="https://www.eclipse.org/downloads">Download</a></li>
            <li><a href="https://help.eclipse.org">Documentation</a></li>
            <li><a href="https://www.eclipse.org/getting_started">Getting Started / Support</a></li>
            <li><a href="https://www.eclipse.org/contribute/">How to Contribute</a></li>
            <li><a href="https://www.eclipse.org/ide/">IDE and Tools</a></li>
            <li><a href="https://www.eclipse.org/forums/index.php/f/89/">Newcomer Forum</a></li>
          </ul>
        </div>
      </div>
    </li>
  </ul>
</li>



            </ul>
          </div>
          <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-main-menu">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            </button>
            <div class="wrapper-logo-mobile">
              
                <a class="navbar-brand visible-xs" title="Application Platform Project for MultiCore (APP4MC)" href="https://www.eclipse.org/app4mc/">
                  <img width="140" class="logo-eclipse-default-mobile img-responsive" src="https://www.eclipse.org/app4mc/images/logo.png" alt="Application Platform Project for MultiCore (APP4MC)" />
                </a>
              
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  

</header>

    
<section class="default-breadcrumbs hidden-print" id="breadcrumb">
  <div class="container">
  <h3 class="sr-only">Breadcrumbs</h3>
  <div class="row">
    <div class="col-sm-24">
      <ol class="breadcrumb">
        
      
      
      
      
      
      <li>
        <a href="https://www.eclipse.org/app4mc/">Eclipse APP4MC</a>
      </li>
      
      
      <li>
        <a href="https://www.eclipse.org/app4mc/news/">News</a>
      </li>
      
      
      <li class="active">
        <a href="https://www.eclipse.org/app4mc/news/2017-03-29_conferences_2017/">Visit APP4MC at DATE or Parallel conferences</a>
      </li>
      
      </ol>
      
    </div>
  </div>
</section>

    
<main>
  <div class="container">
    
    <div class="row">
      <div class="col-md-18 padding-bottom-30">
        
        
        <h1>Visit APP4MC at DATE or Parallel conferences</h1>
        
        <p>On March, the 30th, the talk &lsquo;On Reducing Busy Waiting in AUTOSAR via Task-Release-Delta-based Runnable Reordering&rsquo; (2pm) presents analyses regarding resource management based upon APP4MC at the Design, Automation and Test Conference and Exhibition (DATE).</p>

<p></p>

<p>On March, the 30th, the talk &lsquo;On Reducing Busy Waiting in AUTOSAR via Task-Release-Delta-based Runnable Reordering&rsquo; (2pm) presents analyses regarding resource management based upon APP4MC at the <a href="https://www.date-conference.com/conference/session/11.5">Design, Automation and Test Conference and Exhibition (DATE)</a>.</p>

<p>Furthermore, on Friday, March the 31st 10:40am, you can learn how to use APP4MC to analyize and optimize embedded multi-core systems and their performance at <a href="https://www.parallelcon.de/veranstaltung-5701-performanceanalyse-und--optimierung-von-embedded-multicore-systemen.html?id=5701">parallel2017</a>.</p>

<!--more-->

<p><strong>Abstract DATE</strong></p>

<p>Below, please find the talk&rsquo;s corresponding paper abstract for the DATE conference.</p>

<p>The increasing amount of innovative software technologies in the automotive domain comes with challenges regarding inevitable distributed multi-core and many-core methodologies. Approaches for general purpose solutions have been studied over decades but do not completely meet the specific constraints (e.g. timing, safety, reliability, affinity, etc.) for AUTOSAR compliant applications. AUTOSAR utilizes a spinlock mechanism in combination with the priority ceiling protocol in order to provide mutually exclusive access to shared resources. The essential disadvantages of spinlocks are unpredictable task response times on the one hand and wasted computation time caused by busy waiting periods on the other hand. In this paper, we propose a concept of task-release-delta-based runnable reordering for the purpose of sequentializing parallel accesses to shared resources, resulting in reduced task response times, improved timing predictability, and increased parallel efficiency respectively. To achieve this, runnables that represent smallest executable program parts in AUTOSAR are reordered based on precedence constraints. Our experiments among industrial use cases show that task response times can be reduced by up to 18,2%.</p>

<p><strong>Abstract parallel</strong></p>

<p>Based on the APP4MC Eclipse platform, we present the steps required in the development process to make the best use of Multicore controller&rsquo;s resources. Depending on the development status and the need for analyses, different levels of detail are needed to make targeted evaluations. Examples show which data is required at which development process and what tools can be utilized to extract this data from different sources. The analyzes range from forecast generation in early development phases to the detailed distribution and optimization of the software artifacts to existing hardware.</p>  
        
      </div>
      <div class="col-md-6  padding-bottom-30">
        

<h1>News</h1>
  
    <div class="news_item">
      <div class="news_item_date"><strong>Fri, Apr 30, 2021</strong></div>
      <div class="news_item_title">
        <h3><a href="https://www.eclipse.org/app4mc/news/2021-04-30-release-1-1-0/">APP4MC - Release 1.1.0 published</a></h3>
      </div>
      <div class="news_item_description">
        <p>We released a new version of APP4MC with a couple of new features and improvements.</p>

<p></p>
      </div>
      <hr>
    </div>
  
    <div class="news_item">
      <div class="news_item_date"><strong>Tue, Dec 1, 2020</strong></div>
      <div class="news_item_title">
        <h3><a href="https://www.eclipse.org/app4mc/news/2020-12-01-release-1-0-0/">APP4MC - Release 1.0.0 published</a></h3>
      </div>
      <div class="news_item_description">
        <p>We released a new version of APP4MC with a couple of new features and improvements.</p>

<p></p>
      </div>
      <hr>
    </div>
  
    <div class="news_item">
      <div class="news_item_date"><strong>Mon, Aug 3, 2020</strong></div>
      <div class="news_item_title">
        <h3><a href="https://www.eclipse.org/app4mc/news/2020-08-03-release-0-9-9/">APP4MC - Release 0.9.9 published</a></h3>
      </div>
      <div class="news_item_description">
        <p>We released a new version of APP4MC with a couple of new features and improvements.</p>

<p></p>
      </div>
      <hr>
    </div>
  
<div class="news_view_all"><a href="https://www.eclipse.org/app4mc//news">View all news</a></div>

      </div>
    </div>
    
  </div>
</main>

    
<p id="back-to-top">
  <a class="visible-xs" href="#top">Back to the top</a>
</p>
<footer id="solstice-footer">
  <div class="container">
    <div class="row">
      <section class="col-sm-6 hidden-print" id="footer-eclipse-foundation">
        <h2 class="section-title">Eclipse Foundation</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/org/">About Us</a></li>
          <li><a href="https://www.eclipse.org/org/foundation/contact.php">Contact Us</a></li>
          <li><a href="https://www.eclipse.org/donate">Donate</a></li>
          <li><a href="https://www.eclipse.org/org/documents/">Governance</a></li>
          <li><a href="https://www.eclipse.org/artwork/">Logo and Artwork</a></li>
          <li><a href="https://www.eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-legal">
        <h2 class="section-title">Legal</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
          <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
          <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
          <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li>
          <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-useful-links">
        <h2 class="section-title">Useful Links</h2>
        <ul class="nav">
          <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
          <li><a href="//help.eclipse.org/">Documentation</a></li>
          <li><a href="https://www.eclipse.org/contribute/">How to Contribute</a></li>
          <li><a href="https://www.eclipse.org/mail/">Mailing Lists</a></li>
          <li><a href="https://www.eclipse.org/forums/">Forums</a></li>
          <li><a href="//marketplace.eclipse.org">Marketplace</a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-other">
        <h2 class="section-title">Other</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/ide/">IDE and Tools</a></li>
          <li><a href="https://www.eclipse.org/projects">Community of Projects</a></li>
          <li><a href="https://www.eclipse.org/org/workinggroups/">Working Groups</a></li>
          <li><a href="https://www.eclipse.org/org/research/">Research@Eclipse</a></li>
          <li><a href="https://status.eclipse.org">Service Status</a></li>
        </ul>
      </section>
      <div class="col-sm-24 margin-top-20">
        <div class="row">
          <div id="copyright" class="col-md-16">
            <p id="copyright-text">Copyright &copy; Eclipse Foundation, Inc. All Rights Reserved.</p>
          </div>
          <div class="col-md-8 social-media">
            <ul class="list-inline">
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://twitter.com/EclipseFdn">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-twitter fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://plus.google.com/+Eclipse">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-google-plus fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.facebook.com/eclipse.org">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-facebook fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.youtube.com/user/EclipseFdn">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-youtube fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.linkedin.com/company/eclipse-foundation">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-linkedin fa-stack-1x"></i>
                </a>
              </li>
            </ul>
          </div>
        </div>
      </div>
      <a href="#" class="scrollup">Back to the top</a>
    </div>
  </div>
</footer>

<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/main.min.js"></script>

</body>
</html>
  </body>
</html>

