
<!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>Eclipse APP4MC | The Eclipse Foundation</title>
  <meta property="og:title" content="Eclipse APP4MC | The Eclipse Foundation" />
  <meta name="twitter:title" content="Eclipse APP4MC | The Eclipse Foundation" />
  <meta name="description" content="Eclipse APP4MC is a platform for engineering embedded multi- and many-core software systems. The platform enables the creation and management of complex tool chains including simulation and validation. As an open platform, proven in the automotive sector by Bosch and their partners, it supports interoperability and extensibility and unifies data exchange in cross-organizational projects.
Multi- and Many-Core Development Process Support
The Amalthea platform allows users to distribute data and tasks to the target hardware platforms, with the focus on optimization of timing and scheduling.">
  <meta property="og:description" content="Eclipse APP4MC is a platform for engineering embedded multi- and many-core software systems. The platform enables the creation and management of complex tool chains including simulation and validation. As an open platform, proven in the automotive sector by Bosch and their partners, it supports interoperability and extensibility and unifies data exchange in cross-organizational projects.
Multi- and Many-Core Development Process Support
The Amalthea platform allows users to distribute data and tasks to the target hardware platforms, with the focus on optimization of timing and scheduling.">
  <meta name="twitter:description" content="Eclipse APP4MC is a platform for engineering embedded multi- and many-core software systems. The platform enables the creation and management of complex tool chains including simulation and …">
  <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/" />
  <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/" />
  <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>
  

<div class="jumbotron featured-jumbotron margin-bottom-0">
  <div class="container">
    <div class="row">
      <div class="col-md-20 col-md-offset-2 col-sm-18 col-sm-offset-3">
        <h1>Eclipse APP4MC</h1>
          
         
          
         
      </div>
    </div>
  </div>
</div>

</header>

    
    
<main>
  <div class="container">
    
    <div class="row">
      <div class="col-md-18 padding-bottom-30">
        
        
        <p><br></p>

<p><strong>Eclipse APP4MC</strong> is a platform for engineering embedded multi- and many-core software systems. The platform enables the creation and management of complex tool chains including simulation and validation. As an open platform, proven in the automotive sector by Bosch and their partners, it supports interoperability and extensibility and unifies data exchange in cross-organizational projects.</p>

<p><img src="images/system-model.png" class="img-responsive"></p>

<p><strong><em>Multi- and Many-Core Development Process Support</em></strong></p>

<p>The Amalthea platform allows users to distribute data and tasks to the target hardware platforms, with the focus on optimization of timing and scheduling. It addresses the need for new tools and techniques to make effective use of the level of parallelism in this environment.</p>

<p><strong><em>Common Data Exchange and Simulation</em></strong></p>

<p>The System Model contains the information required to simulate, analyze and optimize performance. It contains extensive information about software, hardware, timing behavior, and constraints for the system under development.</p>

<p>Based on the <a href="http://www.eclipse.org/modeling/emf/">Eclipse Modeling Framework</a>, its capabilities not only include hardware and software modelling but in addition, tools for visualization and processing. The unified data model enables tool interoperability and data exchange with other systems such as <a href="http://www.autosar.org">Autosar</a> and simplifies the exchange and storage of data.</p>

<p><strong><em>Event Tracing</em></strong></p>

<p>The AMALTHEA definitions of task states and transitions provides the basis for evaluating systems with tracing tools, identifying problems and discovering improvements. These definitions are already in use in both commercial and open source tools.</p>

<p><strong><em>Customizable Workflow</em></strong></p>

<p>The AMALTHEA workflow engine supports a continuous development workflow, allowing data exchange along the entire toolchain. Workflow elements can be customized and extended according to user needs. As a basis, a standard workflow developed with <a href="http://www.eclipse.org/Xtext/documentation/306_mwe2.html">Eclipse Xtext(MWE2)</a> is included.</p>

<h2>What is APP4MC?</h2>

<p>Get a quick overview of how APP4MC and Capra can help you manage timing, scheduling and traceability in a multi-core environment.  Thanks for watching!</p>

<p><a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=dPDuy2lXJHc"></a></p>
  
        
      </div>
      <div class="col-md-6  padding-bottom-30">
        

<h1>News</h1>
  
    <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_item">
      <div class="news_item_date"><strong>Wed, May 20, 2020</strong></div>
      <div class="news_item_title">
        <h3><a href="https://www.eclipse.org/app4mc/news/2020-05-20-gsoc-2020/">Eclipse APP4MC accepted for GSoC 2020</a></h3>
      </div>
      <div class="news_item_description">
        <p>Once again Eclipse APP4MC projects have been accepted for inclusion in the Google Summer of Code (GSoC).</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>

