
<!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>404 Page not found | The Eclipse Foundation</title>
  <meta property="og:title" content="404 Page not found | The Eclipse Foundation" />
  <meta name="twitter:title" content="404 Page not found | The Eclipse Foundation" />
  <meta name="description" content="APP4MC website">
  <meta property="og:description" content="APP4MC website">
  <meta name="twitter:description" content="APP4MC website">
  <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/app4mc/" />
  <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/app4mc/" />
  <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 class="active">
        <a href="">404 Page not found</a>
      </li>
      
      </ol>
      
    </div>
  </div>
</section>

    
<main>
  <div class="container">
    <div class="row">
      <div class="col-md-18 padding-bottom-30">
        <h1>Page not found</h1>
        <p>We're sorry, the page you requested cannot be found. Below are some links that may be useful.</p>
        <ul>
          <li><a href="//eclipse.org">Eclipse home</a></li>
          <li><a href="//eclipse.org/projects/searchpage.php">Search</a> our site</li>
          <li>Website <a href="//eclipse.org/legal/privacy.php">privacy policy</a> and <a href="//eclipse.org/legal/termsofuse.php">terms of use</a></li>
          <li><a href="//eclipse.org/legal">Legal documents</a></li>
          <li><a href="//eclipse.org/artwork/">Logos</a> and artwork</li>
          <li><a href="//wiki.eclipse.org/index.php/Webmaster_FAQ">webmaster FAQ</a></li>
          <li><a href="mailto:webmaster@eclipse.org">Email the webmaster</a></li>
        </ul>
        <br><br>
      </div>
      <div class="col-md-18">
        <div class="sideitem">
          <h6>Useful links</h6>
          <ul>
            <li><a href="//archive.eclipse.org">Eclipse project archives</a></li>
            <li><a href="//download.eclipse.org/eclipse/downloads">Eclipse project downloads</a></li>
          </ul>
        </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>

