<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>OpenCert</title>
    <link>https://www.polarsys.org/opencert/</link>
    <description>Recent content on OpenCert</description>
    <generator>Hugo -- gohugo.io</generator>
    <managingEditor>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</managingEditor>
    <webMaster>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</webMaster>
    <lastBuildDate>Wed, 05 Dec 2018 00:00:00 +0000</lastBuildDate>
    
	<atom:link href="https://www.polarsys.org/opencert/index.xml" rel="self" type="application/rss+xml" />
    
    
    <item>
      <title>Documentation</title>
      <link>https://www.polarsys.org/opencert/resources/documentation/</link>
      <pubDate>Wed, 05 Dec 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/resources/documentation/</guid>
      <description>&lt;p&gt;Access to the documentation of the current OpenCert package produced by the AMASS partners - code name Prototype P1.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Download the new version of the AMASS open platform!</title>
      <link>https://www.polarsys.org/opencert/news/2018-12-05-download_p2_preview/</link>
      <pubDate>Wed, 05 Dec 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-12-05-download_p2_preview/</guid>
      <description>&lt;p&gt;AMASS partners just published their latest version of the AMASS open tools platform.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Back from EclipseCon France 2018</title>
      <link>https://www.polarsys.org/opencert/news/2018-06-25-epf-presentation-at-ec-france/</link>
      <pubDate>Mon, 25 Jun 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-06-25-epf-presentation-at-ec-france/</guid>
      <description>&lt;p&gt;AMASS was present on stage during the plenary session. Atif explains the process to migrate EPF to the latest version of the Eclipse platform.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Meet AMASS at EclipseCon France 2018</title>
      <link>https://www.polarsys.org/opencert/news/2018-06-01-meet-amass-ec-france/</link>
      <pubDate>Fri, 01 Jun 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-06-01-meet-amass-ec-france/</guid>
      <description>&lt;p&gt;The AMASS project will participate again to the Open Research lab booth at EclipseCon France 2018 on June 13th-14th.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>New content on the OpenCert website</title>
      <link>https://www.polarsys.org/opencert/news/2018-03-22-new-content/</link>
      <pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-03-22-new-content/</guid>
      <description>&lt;p&gt;To accompany their new prototype, the AMASS partners updated the web site with new content.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Online training</title>
      <link>https://www.polarsys.org/opencert/resources/training/</link>
      <pubDate>Thu, 22 Mar 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/resources/training/</guid>
      <description>&lt;p&gt;This page references the latest training material available for the OpenCert platform.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>New integrated prototype built by the AMASS project team</title>
      <link>https://www.polarsys.org/opencert/news/2018-03-09-new-prototype/</link>
      <pubDate>Fri, 09 Mar 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-03-09-new-prototype/</guid>
      <description>&lt;p&gt;The AMASS project partners invested tons of energy to build the new prototype of the AMASS Open Platform.&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Downloads</title>
      <link>https://www.polarsys.org/opencert/downloads/</link>
      <pubDate>Wed, 24 Jan 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/downloads/</guid>
      <description> Current prototype  OpenCert CHESS client - AMASS P2 prototype version for Windows (64 Bit) - Zip-archive Read the documentation  Previous prototypes AMASS P1 prototype  OpenCert CHESS client - AMASS P1 prototype version for Windows (64 Bit) - Zip-archive User Manual Developer Manual  Core prototype (version - 2017-03-07)  OpenCert CHESS client - version for Windows (64 Bit) - Zip-archive User Manual: OpenCert_UserManual_07062017.pdf Developer Manual: OpenCert_DeveloperGuide_07062017.pdf  </description>
    </item>
    
    <item>
      <title>New YouTube channel</title>
      <link>https://www.polarsys.org/opencert/news/2018-01-15-youtubechannel/</link>
      <pubDate>Mon, 15 Jan 2018 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2018-01-15-youtubechannel/</guid>
      <description>&lt;p&gt;Subscribe to the OpenCert Youtube&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>About</title>
      <link>https://www.polarsys.org/opencert/about/</link>
      <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/about/</guid>
      <description>OpenCert is not a monolithic platform. The OpenCert Tool Platform is composed of various contributions that cover the different features:
OpenCert Core toolset supports evidence management, assurance case specification and compliance management functionalities.
 The Chess toolset adds support for Architecture-Driven Assurance. The CHESS toolset leverages another important PolarSys project, the Papyrus platform for UML design and profiles.
 EPF Composer supports the process specification and process compliance.
The main contributions come from the AMASS project.</description>
    </item>
    
    <item>
      <title>Building the website</title>
      <link>https://www.polarsys.org/opencert/news/2017-06-07-hello-world/</link>
      <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/news/2017-06-07-hello-world/</guid>
      <description>&lt;p&gt;In 2017 spring, we are starting to build a website for the Eclipse OpenCERT project.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Community</title>
      <link>https://www.polarsys.org/opencert/community/</link>
      <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/community/</guid>
      <description>Social networks Follow OpenCert and the AMASS Open Platform on:
 Twitter LinkedIn Group  View more videos on the youtube channel
Get in touch with the team Learn about OpenCert, join the community, connect with other CHESS users, get support and service:
 Forum: Consult the OpenCert forum and ask questions about the tool. This also the forum about CHESS and other Polarsys projects. Polarsys Wiki: Wiki providing additional resources about OpenCert and Polarsys.</description>
    </item>
    
    <item>
      <title>Getting Started with OpenCert</title>
      <link>https://www.polarsys.org/opencert/resources/gettingstarted/</link>
      <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/resources/gettingstarted/</guid>
      <description>&lt;p&gt;This section guides the end-user through the use of OpenCert.&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>PolarSys OpenCert</title>
      <link>https://www.polarsys.org/opencert/home/</link>
      <pubDate>Wed, 07 Jun 2017 00:00:00 +0000</pubDate>
      <author>opencert-dev@polarsys.org (Eclipse Foundation and the AMASS ECSEL project partners)</author>
      <guid>https://www.polarsys.org/opencert/home/</guid>
      <description>The PolarSys OpenCert Tools Platform integrates contributions from different open source projects
           PolarSys OpenCert is an integrated and holistic solution for assurance and certification management of Cyber-Physical Systems (CPS) spanning the largest safety and security-critical industrial markets, such as aerospace, space, railway, manufacturing, energy and health. The ultimate aim is to lower certification costs in face of rapidly changing product features and market needs.</description>
    </item>
    
  </channel>
</rss>