Proposals

Eclipse Vhant

Tuesday, October 24, 2023 - 12:40 by Wayne Beaton

The Eclipse Foundation Development Process (EDP) is the foundational goverance document for Eclipse projects and committers. It describes the manner in which we do open source software. The EDP does not prescribe any particular development methodology; it is more concerned with the larger-scale aspects of open source project lifecycle, including such things as reviews, processes for running votes and elections, bringing new committers onto a project, etc.

The Eclipse Foundation Specification Process (EFSP) extends the EDP to describe the process by which specifiations are created in open source.

The Eclipse Vhant project maintains the Eclipse Foundation Development Process, the Eclipse Foundation Specification Process, the Standard Top-Level Project Charter, and related resources.

Eclipse ThreadX

Thursday, October 12, 2023 - 15:59 by Stefan Wick

Eclipse ThreadX provides a vendor-neutral, open source, safety certified OS for real-time applications published on under a permissive license.

The Eclipse ThreadX suite encompasses:

  • ThreadX - advanced real-time operating system (RTOS) designed specifically for deeply embedded applications
  • NetX Duo - advanced, industrial-grade TCP/IP network stack designed specifically for deeply embedded real-time and IoT applications
  • FileX - high-performance, FAT-compatible file system that’s fully integrated with ThreadX kernel
  • GUIX - provides a complete, embedded graphical user interface (GUI) library
  • USBX - high-performance USB host, device, and on-the-go (OTG) embedded stack, that is fully integrated with ThreadX kernel
  • LevelX - Flash Wear Leveling for FileX and stand-alone purposes
  • GuiX Studio - design environment, facilitating the creation and maintenance of all graphical elements for CUIX
  • TraceX - analysis tool that provides a graphical view of real-time system events to better understand the behavior of real-time systems

Eclipse SysON

Friday, September 29, 2023 - 04:50 by Cedric Brun

The Eclipse SysON project provides an open-source web-based tooling to edit SysML v2 models. It includes a set of editors (graphical, textual, form-based, etc.) enabling users to build the various parts of system models. Capitalizing on the capabilities of the Sirius Web platform, SysON offers a user-friendly interface, facilitating seamless model creation, modification, and visualization.

Furthermore, Eclipse SysON is the core of the SysMLv2 model editing feature of Papyrus and seamlessly enables co-design of SysMLv2 models alongside Eclipse Capella.

Additionally, Eclipse SysON embraces the standard API for interconnection, enhancing the interoperability of these vital modeling resources and will support the SysML v2 textual specifications as an exchange format, to ensure seamless transitions. 

Through this initiative, we seek to foster growth within the MBSE community by providing a robust and accessible tool that harmonizes seamlessly with modern modeling landscapes.

 

Eclipse SimRel

Saturday, September 23, 2023 - 09:12 by Ed Merks

The Eclipse Simultaneous Release process works as follows:

Eclipse OS-Gov

Friday, September 15, 2023 - 09:35 by Silona Bonewald

The Eclipse OS-Gov project provides guidelines and best practices for the governance and management of open source projects. Developed by recognised open source experts, it covers a wide range of topics, from tooling to communication and security. It only provides recommendations, as projects should adapt their practices to their own context.

We intend to develop these recommendations in a collaborative manner with the community, and publish various outputs (PDF, epub, HTML) freely available to everybody.

Eclipse openDuT

Tuesday, August 22, 2023 - 04:17 by Johannes Baumgartl

Eclipse openDuT automates the testing and validation process for automotive software and applications. This includes offering a framework for the testing and validation process but also includes process descriptions of the intended use.

It focuses on reliable, repeatable, and observable automated test and validation executions. The main building blocks are:

  • Model or description language of test cases that can be kept private or can be part of the open-source context, for example to offer a common implementation of a required topic for legal assessments.
  • Test Execution Engine as OSS reference implementation and open APIs to plug-In private engines for private Test Cases.
  • Test Management and Execution as component taking care about the needed capabilities to execute test cases and collect the results and insights.
  • Management Service to orchestrate, observe and establish communication between distributed Hardware ECUs and Emulated ECUs. Distribution means that the (virtual) devices can be in different networks and even separated by proxies and the internet.
  • Hardware Abstraction, Automotive Applications and Communication for uniform interaction with an abstract driver for different automotive networks e.g., CAN.

Main Use Cases are:

  • (Fully automated) grey-box tests for single ECUs or clusters of ECUs
  • Execution of tests over distributed test benches
  • Realization of functional and explorative tests
  • Coverage of Complete Security attack scenarios
  • Easy interfacing and usability of the framework (Compatibility with external protocols, modularization, …)
  • Observation of the test setup to verify if the test has been effective.
  • Cloud/on-premises/hybrid deployments
  • Adaption and full functional integration of 3rd party components (OSS, proprietary/ private source)

Eclipse Qrisp

Monday, August 7, 2023 - 09:19 by Nikolay Tcholtchev

Qrisp is a high-level programming language for working with quantum computers. Qrisp is designed to enable programmers to write complex quantum algorithms with the ease of a modern day programming language, while still compiling down to the circuit level. By automating much of the low-level coding duties, such as gate-by-gate assembly or qubit management, we aim to open this field of research to a broad audience of developers. Qrisp was originally developed at Fraunhofer FOKUS funded by the German ministry for economic affairs and climate action.

The state of the art in programming a quantum computer pretty much resembles programming in assembler – even worse, while assembler provides at least some basic commands more abstract than the actual hardware gates, in quantum computing using gates and qubits only, is the standard. Frameworks like Qiskit or Cirq allow the user to create sub-circuits which can be reused in larger, more complex circuits. However, the handling of the circuits is still rather cumbersome.

Qrisp aims to tackle this challenge by trying to hide the qubit and gate structure of the underlying circuits as much as possible. This is achieved by conceptually replacing gates and qubits by functions and variables. This permits the creation of much more complex circuits than would ever be possible with handling gates and qubits directly. Of course, moving to variables and functions does not end programming with gates and qubits. The elementary quantum functions still need their implementation - under the hood - compiled using gates and qubits. This is why Qrisp comes with its own circuit creation module, which has most of the relevant features known from the established circuit creation frameworks.

Variables and functions not only simplify the management of highly complex circuits – due to the structure of an actual programming language many circuits can be created in a highly modular manner. This improves the possibility to easily maintain or upgrade certain parts of the code.

Apart from allowing highly complex circuit creation, Qrisp can also serve a pedagogical aspect, opening up this realm to non-physicists. This is because in Qrisp many quantum functions and control structures are already pre-programmed and therefore do not require the understanding of complex linear algebra that is needed when comprehending gate sequences.

Eclipse Epicyro

Monday, July 17, 2023 - 13:23 by Arjan Tijms

Eclipse Epicyro implements Jakarta Authentication, a technology that defines a low-level SPI for authentication mechanisms, which are controllers that interact with a caller and a container’s environment to obtain the caller’s credentials, validate these, and pass an authenticated identity (such as name and groups) to the container.

Eclipse Epicyro provides default implementations of these authentication mechanisms and algorithms, as defined and mandated by the Jakarta Authentication specification.

Eclipse BlueChi

Wednesday, June 21, 2023 - 16:40 by Jeffrey Osier-Mixon

Eclipse BlueChi is built around three components:

  • The hirte service, which is the primary controller that runs on the primary node
  • The hirte-agent services, which run on each managed node and are the agents that talk locally to systemd to instruct systemd to act on services
  • The hirtectl command line, which is used by administrators to test, debug and manually manage services across nodes

Eclipse BlueChi is meant to be used in conjunction with a state manager (a program or person) that knows the desired state of the systems. This design choice has a few consequences: 

  • Eclipse BlueChi does not know the desired final state of the systems; it only knows how to transition between states, such as how to start, stop or restart a service on one or more nodes 
  • Eclipse BlueChi monitors and reports changes in the services that are running and alerts the state manager when a service stops or when the connection to a node is lost, but hirte itself does not act on these notifications
  • Eclipse BlueChi does not handle the initial setup of the system; the system boots into a desired state and hirte handles the transitions from this state

The state manager program integrates with hirte over D-Bus. The state manager tells hirte to perform actions or to receive the outcome of actions. Eclipse BlueChi monitors services and nodes via D-Bus and reports state changes back to the state manager. Administrators can use the hirtectl interface to avoid interacting directly with hirte via D-Bus.

Eclipse Langium

Wednesday, May 24, 2023 - 08:23 by Miro Spönemann

Eclipse Langium is a toolkit for domain-specific languages (DSLs) that is fully built with TypeScript. It provides a text parser with integrated cross-reference resolution and a language server for smart editor support. You can use Langium to build custom text languages that can be automatically processed. For example, you can execute user-defined behavior with an interpreter, or generate executable code, documentation, or other output formats. Such a custom language can

  • empower non-technical persons to provide data, logical constraints, executable behavior, or similar concepts,
  • greatly reduce the manual effort to create artifacts such as source code or documentation,
  • strengthen the communication between stakeholders with a formal language.

Eclipse Langium aims to enable DSL development in a web-based technology stack. When used in the context of a desktop app (e.g. VS Code, Eclipse IDE, etc.), Langium runs on the Node.js platform. Additionally, it can run in a web browser to add language support to web applications with embedded text editors (e.g. Monaco Editor). The interface between Langium and the text editor is the Language Server Protocol (LSP).

The entry point of a Langium project is the grammar language – similarly to how Eclipse Xtext works. A grammar file describes the concrete syntax by instructing the parser how to read input text, and also the abstract syntax by defining object types and their properties. The resulting abstract syntax tree (AST) is created by the parser that Langium provides based on the grammar declaration. The AST is the basis for all further operations, including cross-reference resolution, validation, code generation and much more.

In addition to editor support through LSP, a Langium-based language implementation can be used as a library to implement automation processes: interpret (execute) language instances, generate different artifacts, transform into specific modeling formats, and so forth – there are vast possibilities that can be explored depending on your project context and the specific problems you would like to address.