Proposals

Eclipse CANought

Friday, January 12, 2024 - 16:23 by Martin Brown

Eclipse CANought offers the automotive-specific capabilities to enhance the Eclipse Kanto project to offer a comprehensive solution focused on the automotive industry. Eclipse CANought provides extensions to the Eclipse Kanto project focused on automotive market segment capabilities by standardizing and securing CAN communications. 

It is critical that Automotive IoT applications have a standardized and secure solution for CAN communications with embedded controllers. The Eclipse CANought extensions will make Eclipse Kanto more appropriate for automotive-focused implementations.

Eclipse Corinthian

Thursday, November 30, 2023 - 04:39 by Andrew Katz

The Eclipse Cardinal Program has identified areas where template and process documents would add value to legal processes involved in technology, specifically in the areas of procurement and M&A activities involving open source software.

The documents will be hosted in a git-based repository enabling open source development techniques and methodologies to be used. Anyone can raise issues with the documents, fork the documents (for example to create jurisdiction-specific versions of them), and issue pull/merge requests.

Release versions of the documents will be made available in markdown, docx and plain text formats, through a simple and clear web frontend, meaning that users who don’t wish to engage with the development process can easily access them directly. The liberal licensing model will allow unrestricted use, modification and re-distribution.

Overview

The initial set of documents was developed by Moorcrofts LLP, a law firm based near London, in England in association with Orcro Limited, an Open Source Consultancy, also based in the UK. Moorcrofts and Orcro are both OpenChain partner organisations (openchainproject.org) and have been working in that capacity to develop:-

1. a due diligence questionnaire and set of warranties for acquiring software from a developer using open source software; and

2. a due diligence questionnaire and set of warranties for use in M&A transactions involving a target which develops software using open source.

These will be hosted by the Eclipse Cardinal Program from day one. We also have a suite of documents drafted to facilitate the supply of services over the internet using microtransaction architectures, which have also been developed by specialist law firms in a number of jurisdictions worldwide. The roadmap includes the development of software intended to facilitate the drafting, assembly, storage and analysis of legal documents. For example, since drafting contracts shares many characteristics with writing software, we propose developing a module for the Eclipse IDE which facilitates this.

Due diligence and warranties for open source development: procurement and M&A

The open source procurement and M&A process has historically focussed on specific releases of supplied software (for example, by analysing the composition of that release, and reviewing the licences for each component within the release). This is becoming less and less effective as a means of analysing and determining compliance risk as software development moves to a CI/CD model (continuous integration/continuous deployment/development).

A much more effective approach is to focus the warranties on the development process itself, and the processes, policies and procedures which the developing organisation uses to manage that development process. An ISO standard, ISO5230:2020 (OpenChain) defines the characteristics that a development program must have in order to manage open source compliance risk effectively, and the standard lends itself to a framework both for due diligence, and for warranties, both in procurement and M&A. The beauty of this approach is that it does not require that the target is compliant with, or even aware of, ISO5230:2020 (but it does mean that applying the process to a compliant organisation is that much more straightforward).

The initial set of due diligence questions for procurement has been developed using the ISO5230 framework, with the input from many active members of the OpenChain project, and the procurement terms have themselves been adapted to form the M&A due diligence and warranty suite.

Eclipse FA³ST

Monday, November 27, 2023 - 03:55 by Michael Jacoby

Eclipse FA³ST aims to provide an implementation of the re-active (or type 2) Asset Administration Shell according to the Asset Administration Shell (AAS) specification by Plattform Industrie 4.0.  In contrast to other implementations such as Eclipse BaSyx, Eclipse FA³ST will focus on the deployment at edge-level rather than cloud-level, meaning that its primary focus will be on asset connectivity rather than scalability. Other expected key features are

  • Easy to set-up & use
  • Open architecture which enables easy customization and extension
  • Implementation of API for HTTP and OPC UA
  • Protocol-agnostic synchronization with assets
  • Usage via command-line interface, docker container, and as embedded library

Eclipse WattAdvisor

Tuesday, November 21, 2023 - 11:01 by Jonas Pemsel

Eclipse WattAdvisor provides a Python library that consists of several functions and classes to build and solve a linear optimization model based on certain input data and parameters. The optimization model represents a local energy system composed of different energy components to produce, store, or transform energy.

Input data can contain information about the following aspects of the local energy system:

  • geographical location
  • annual energy demands per energy type
  • Installed power and/or capacity per energy component already existing in the system
  • Potential power per energy component that can be added to the system at maximum
  • Custom cost parameters per energy component
  • Prices of tariffs to purchase energy from external sources for the energy system

With this input data, a predefined function to start the automatic processing of the model can be called. At first, it builds a generic optimization model formulated with the Python library Pyomo and parameterizes it according to the input data to create a specific optimization problem. Here, the target function to minimize equals the sum of the total cost of all components to be used for the component composition. The total cost per component consists of at most:

  • Investment costs converted into annual costs by an annuity factor based on the expected lifespan of the component
  • Annual operational cost
  • Annual energy purchase cost

Investment and operational costs are calculated by applying specific cost factors of a component, while annual operational costs are determined using the expected amount of energy purchased by the component and energy tariff prices given as input. It should be mentioned that the total cost of each component is formed by an individual combination of the three possible cost factors, e.g., the total cost of an energy purchase component consists only of the annual energy purchase cost. 

The optimization problem is then passed to an open-source solver to create a solution. This leads to a solution that follows the fundamental target function to find the cost-minimal composition of energy components and remaining energy purchases to supply the parameterized demands.

After a valid solution is found, the relevant result data is exported either in machine-readable (JSON) or human-readable (Excel) format.

Energy balances are formulated in the model for these energy carriers:

  • Electrical energy
  • Thermal energy
  • Natural gas

Currently, classes to implement the following component groups are predefined and available in the project:

  • Combined heat and power plant
    • Transforming natural gas into electrical energy
  • Electrical energy storage
    • Storing electrical energy
  • Energy demand
    • Consuming energy for the system
    • Can be parameterized for all energy carriers
  • Energy feed-in
    • Consuming energy from the system and generating income
    • Can be parameterized only for electrical energy
  • Energy purchase
    • Producing energy for the system
    • Can be parameterized for all energy carriers
  • Gas boiler
    • Transforming natural gas into thermal energy
  • Heat pump
    • Transforming electrical energy into thermal energy
    • Efficiency estimation by the usage of historical air or ground temperature weather data
  • Photovoltaic plant
    • Roof surface
    • Free field
    • Producing electrical energy for the system
    • Energy production estimation by the usage of historical solar radiation weather data
  • Solar thermal energy plant
    • Producing thermal energy for the system
    • Energy production estimation by the usage of historical solar radiation weather data
  • Thermal energy storage
    • Storing thermal energy
  • Wind power plant
    • Producing electrical energy for the system
    • Energy production estimation by the usage of historical wind speed weather data

By adding new component groups, this list can be extended, which in turn contributes to extending the scope and applicability of the model.

Eclipse Daanse - Data and Analysis Services

Thursday, November 16, 2023 - 05:47 by Stefan Bischof

Eclipse Data Analysis Services (Daanse) is an open source software designed to analyze large amounts of data and extract valuable insights from it. With a steady rise of digital data production in business, science and technology, the importance of data analysis has grown tremendously. Data Analysis Services offers a wide range of tools, technologies and expertise to interpret data in meaningful ways and help decision makers formulate strategies and identify patterns and trends. There are several important features of Data Analysis Services: Data cleansing and integration: One of the crucial steps in data analysis is the preparation of the data. Often data are flawed or incomplete. Data Analysis Services helps to clean, transform and bring data into a unified form to enable sound analysis. Data Visualisation: Data can be complex and numbers alone are sometimes not enough to convey information. Data Analysis Services uses visualisation tools to present data in the form of charts, graphs and interactive dashboards. This simplifies the communication of results and insights. Statistical Analysis: Data Analysis Services uses statistical methods and models to analyse data and identify patterns, correlations or significance. This includes descriptives, inferential statistics, regression analysis, time series analysis and more. Business Intelligence: Data Analysis Services helps management to extract business-critical insights that help improve business processes, optimise resources and identify new business opportunities. Big Data Analysis: In a world characterised by huge amounts of data, Big Data analysis is an integral part of Data Analysis Services. Processing and analysing large and complex data sets require specialised tools and technologies.

Eclipse Daanse combines the following technologies to cover different applications scopes:

XMLA (XML for Analysis)

XMLA provides a detailed specification for accessing analytical data sources. This specification describes the structure of XMLA messages and the supported operations for accessing OLAP data sources. The Test and Compatibility Kit (TCK) can be used to check compliance of different implementations with the XMLA specification and to ensure interoperability between systems. Eclipse Daanse offers a Java API via Jakarta XML Bind and flexible customisable SOAP messages.

MDX (Multidimensional Expressions):

MDX is a query language for multidimensional data sources and is closely related to XMLA. The scope and delimitation of MDX are as follows: Stringd can be converted into an implementation or API model using parsers.



OLAP

OLAP (Online Analytical Processing) is a powerful technology widely used in data analysis and reporting. It is based on several important components: The DataCube Provider makes it possible to create and provide multidimensional data cubes that offer efficient and flexible data organisation for complex analyses. OLAP's Access and Security Model regulates access rights to data sources and ensures that only authorised users can access the information they need, while sensitive data remains protected. The Calculation Model enables complex calculations and aggregations to be performed on the multidimensional data. This enables the creation of meaningful reports and analyses that provide deeper insights into the data. OLAP's Dynamic Function Model allows dynamic functions to be used to respond to changes in data sources or query results. This allows users to customise analyses and include real-time data in their reports. Parts of this implementation are a Fork ot the Pentaho  Mondrian Project

Databases:

Different databases can be integrated via JDBC (Java Database Connectivity) which allows developers to interact with different databases by providing a standardised method for connecting and querying. The JDBC Database Dialect Abstraction Layer makes it possible to work with different databases without having to worry about the specific syntax differences. OLAP data can thus also be accessed by means of OLAP database-schema mapping.



Clients:

Eclipse Daanse enables access to analytical data sources from various client applications: In addition to the possibility of integrating your own applications using the client libraries (in several languages like Java and Typescript), Eclipse Daanse includes its own web client for tables, charts and maps as well as dashboards. In addition, further reporting tools can be connected via adapters and templates.



Dashboards:

In addition to XMLA data sources, the Eclipse Daanse client's dashboard engine enables other data sources such as SensorThingsAPI, REST and OCG (WMS, WFS) to be connected and merged with each other. These data sources can feed a variety of visualisations such as charts, tables, maps, infographics ,texts and more. Visualisations can be combined to different widgets and designed interactively via input and control options such as (fields, buttons, sliders, map events ... ). In addition to classic dashboards, interactive maps, infographics or interfaces for e.g. building management systems can also be realised in this way.

Eclipse Symphony

Thursday, November 9, 2023 - 12:31 by Haishi Bai

Eclipse Symphony enables end-to-end orchestration experience and addresses it as a distinct concern. Its objective is to provide an easy-to-adopt, cost-effective, and consistent application programming interface (API) for managing workloads that involve multiple device types and service vendors at multiple locations. Eclipse Symphony enables developers and adopters to utilize their current systems as-is, without making any alterations, and to unify disparate systems into a coherent entirety. The key benefit of Eclipse Symphony is its ability to codify a consistent workflow across these systems and tool chains, ensuring their seamless integration and harmonious operation.

Eclipse Symphony enables solution orchestration by a separation of concerns into 3 constructs, Unified Object Model, Orchestration API, and Providers.

  • Unified Object Model defines the units of orchestration and the target state for these units.
  • Orchestration API provides the orchestration capabilities that are state seeking, information graph and workflow.
  • Providers encapsulate and isolate platform-specific operations for each of the systems and devices that participate in the system orchestration task and enable extensibility.

Eclipse Apoapsis

Tuesday, November 7, 2023 - 16:57 by Marcel Kurzmann

Eclipse Apoapsis consolidates the requirements from the tooling side (e.g. fast scan times, configuration as code,...) on the one hand and the requirements from the institutionalized operation side in medium to large organizations on the other hand (e.g. user access, role concept, organization specific structures, ...). Concerning concepts and wording it is based on the capability map created by the Open Chain Automation Workgroup in the context of Open Source Management (https://github.com/Open-Source-Compliance/Sharing-creates-value/tree/master/Tooling-Landscape/CapabilityMap). It is planned to incrementally work out the API-specification bottom-up starting from the reference implementation in the course of the project. Additionally it is intended to collect Blueprints (e.g. central pipeline, decentral SBOM generation with centralized metadata analysis, semi-automated analysis with central metadatabase, ...) and use cases (e.g. security vulnerability monitoring, identification of TOP100 used components in the organization, as a ... I want to... so that ...) that address generic problemspaces observed in the community , which can be used by interested parties to easily match their own problem space (birds of a feather) and map to a potential solution concept.

In an initial phase, the Eclipse Apoapsis project's ORT-server provides a concrete solution for a blueprint, where central Software Composition Analysis pipelines are used at scale while covering a large range of project setups (e.g. from Mobile Apps using Cocoapods to Cloud Services using Java/Maven) and configurable extent of analysis (e.g. from mere SBOM-creation to full-blast Dependency Analysis including Vulnerabilities and Copyright/License reports). To achieve this, the Eclipse Apoapsis project's ORT-server is based on the OSS Review Toolkit and makes use of its integration APIs for dependency analysis, license scanning, vulnerability databases, rule engine, and report generation. The Eclipse Apoapsis project itself concentrates on the server functionality including user and role management and the necessary APIs.

Necessary API harmonizations are indirectly worked-out in close collaboration with the original authors of the respective upstream-projects (e.g. ORT's technical steering committee).

The OpenChain Automation Workgroup developed a capability map in the context of Open Source Management (https://github.com/Open-Source-Compliance/Sharing-creates-value/tree/master/Tooling-Landscape/CapabilityMap). Within this Workgroup the OSS Review Toolkit provides a reference implementation for Open Source Management Automation and will be part of the first blueprint for the server setup.

It is planned to incrementally work out additional server-setups to support further blueprints in the course of the project.

 

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