Proposals

Eclipse Heimlig

Tuesday, February 28, 2023 - 10:22 by Marco Langerwisch

Eclipse Heimlig is a Hardware Security Module (HSM) firmware for embedded platforms written in Rust.

As an HSM, Eclipse Heimlig typically runs on dedicated hardware and provides cryptographic services to clients running on other cores. These include:

  • Generation and secure storage of cryptographic keys.
  • Key use (encryption, decryption, signing, verification) without revealing key material to the client.
  • Generation of cryptographically secure random numbers (CSPRNG).

Eclipse Heimlig implements common cryptographic algorithms:

  • Symmetric encryption and decryption (AES-CBC, AES-GCM, AES-CCM, Chacha20Poly1305)
  • Signing and verification (ECDSA)
  • Key exchange (ECDH)
  • Hashing (SHA-2, SHA-3, BLAKE3)
  • Random number generation (ChaCha20Rng)

Eclipse Serializer

Monday, February 20, 2023 - 11:06 by Markus Kett

Eclipse Serializer is a serialization written from the ground up that works fundamentally differently from Java serialization and other encodings. Eclipse Serializer strictly separates data from code and transfers data only. Through deserialization, no code is executed at all. Thus, injecting and executing malicious code is impossible. Due to this highly-secure design, Eclipse Serializer protects against fatal deserialization attacks and eliminates the biggest security flaw of Java. This makes Eclipse Serializer a highly secure alternative to other serialization. 

Eclipse Xpanse

Thursday, February 2, 2023 - 03:10 by Swaroop Akulu …

Eclipse Xpanse provides a framework to describe and deploy cloud managed services to enable anyone to create them in a open and portable way.

To enable an Open Services Cloud market, the Eclipse Xpanse project provides:

  • OCL (Open Services Cloud Configuration Language), a manifest file (json) describing all resources needed for a managed service. The OCL includes artifacts, identity, network, computing, storage, billing, console, etc. resource descriptions.
  • Xpanse Runtime, the main component deployed on the cloud infrastructure, exposing an API to load OCL manifest, register and deploy managed services.
  • XpansePlugins, specific to a cloud provider/infrastructure backend (e.g. openstack, kubernetes, Cloud Service Providers, etc.) which converts the abstract APIs from the Xpanse Runtime into the specific Cloud Service Providers concrete internal southbound APIs.
  • Mockup UI, showing the concept of how Open Services Cloud market can operate.

Eclipse SCM

Thursday, January 19, 2023 - 07:15 by Arun Das

The Stochastic Cognitive Model (SCM) is a driver behavior model for the use in multi-agent highway traffic simulations. SCM models cognitive processes of human drivers ranging from gaze behavior over situation recognition to decision on a specific action. SCM agents are further parametrized by driver parameters to ensure a range of driver behavior by different SCM agents and thus a high level of realism in the traffic simulation.

Eclipse Oniro OH

Thursday, December 22, 2022 - 05:20 by Stefan Schmidt

Creating a vertical Oniro OH solution has advantages for the Oniro Project. Some of them are outlined below.

  • Provides a way to demonstrate Oniro features and technology using functional IoT device examples.
  • Simplifies discussion with potential partners when one is able to show a real-world IoT device (albeit not fully-featured) built on top of Oniro by reducing the barrier to entry.
  • Allows more thorough integration testing of Oniro components based on real user stories.
  • Access to existing ecosystem for applications and services.

For Oniro, we want to provide blueprints of some IoT devices that can be built using Oniro. Eclipse Oniro OH is the first vertical solution add-on to provide this.

Eclipse TOMLed

Wednesday, December 21, 2022 - 07:11 by Zbigniew Kacprzak

TOMLed Editor reduces the cost of development and improves developers’ comfort which might lead to yet better performance: happy people work in more creative and efficient way

Detailed description: https://amadeusitgroup.github.io/eclipse-toml-editor/

 

Eclipse Service Lifecycle Management

Monday, November 21, 2022 - 15:15 by Benjamin Goetz

Eclipse Service Lifecycle Management (SLM) provides a set of applications to manage the lifecycle of AI (artificial intelligence) services in production environments. The service lifecycle consists of the release, deploy, and operate phase and exits with the decommissioning of the service. It has a connection to the software development lifecycle (idea, design, code, build, test) and the AI model development lifecycle (idea, data acquisition, data analysis, data preparation, model training, model evaluation).

In the context of the service lifecycle three different user groups were identified:

  • service developer: a person who is responsible for creating services and providing deployable executables
  • service consumer: a person who wants to use services provided by a service developer
  • system administrator: a person who takes care of the infrastructure the services are running in and makes sure the services are working properly

For the user group system administrator, it is important to manage IT Resources (Bare Metal / Virtual Machines, Virtual Resource Provider / Hypervisor) and to provide the ability to roll out basic resource configurations (monitoring purpose, service runtime environments, etc.) - so-called capabilities. In order to develop and test the scripts which are used to (un)install and use capabilities the SLM provides a test environment as a sandbox. The test environment allows the provisioning of virtual machines with different operating systems and versions of those operating systems to simulate the circumstances of the real world. By doing so, it is possible to handle heterogeneous IT landscapes and to ensure the functionality of capabilities without interfering with the real world.

When the system administrator releases capabilities, the service developer can develop services building on top of those capabilities. Therefore, system administrators and service developers have to agree on common deployment definition types (e.g. docker-compose or kubernetes definition) which on the one hand the capabilities are able to handle and on the other hand the service developers will provide for their services. When a service developer wants to release a service he can publish the service as a service offering in the SLM. Service offerings provide basic meta-information about the service and service requirements the offerings have regarding their runtime environment (e.g. access to specific hardware, network connection, etc.). 

Based on the capabilities and the service offerings the service consumers can apply configurations on their IT resources and deploy service instances in a self-service manner. In service deployment, the SLM will check which requirements a service offering has and which capabilities and hardware specifications the consumer's IT resources provide. After a match-making process, the SLM will provide a filtered list of resources the service can potentially run on. To finish the deployment the user selects a resource and the SLM will deploy the service.

In order to semantically describe all entities in this context (like resources, capabilities, service offerings/instances, requirements, ...) in a consistent way the SLM utilizes the concept of the asset administration shell (AAS). AAS are used to provide a digital representation of entities and pave the way for interoperability in production environments. The AAS can hold different submodels describing specific aspects of an entity, e.g. providing one submodel showing almost static information about a PC (like hardware specification, operating system) and another submodel showing the current load state/metrics of a PC (like utilization of CPU and RAM). In order to implement this concept, the SLM will use the Eclipse Basyx Framework to provide an AAS Registry (a discovery server for AAS) and AAS Server which host the AAS of entities and their submodels. Finally, the SLM will use the AAS to describe IT (information technology) and OT (operation technology) components in the same way.

Eclipse Semantic Modeling Framework (ESMF)

Monday, November 7, 2022 - 10:32 by Chris Volk

A digital twin is defined, for example, by the Asset Administration Shell as a set of submodels each representing a different aspect of the asset being represented by the digital twin. To enable semantic interoperability the semantics of every aspect needs to be cleary defined.

The Eclipse Semantic Modeling Framework provides exactly the means for defining the semantics of different aspects of information aka submodels provided via digital twins.

The core of the Eclipse Semantic Modeling Framework is the development of the Semantic Aspect Meta Model (SAMM). Besides the SAMM specifying the language to define the semantics of a submodel in an "Aspect Model", the ESMF also includes an editor, SDKs in different programming languages, a command line tool for validation, generating documentation and different serializations and other functionality easing its usage and implementation in digital twin projects. Also aasx generators for support of Asset Administration Shell are in scope.

Aspect Models express a schema with a defined Resource Description Framework (RDF, [1]) vocabulary and are validated by a comprehensive set of rules in the Shapes Constraint Language (SHACL, [2]). Domain semantics are captured by a combination of structural elements, relations, namespaces and reified named concepts. 

Additionally, basic ontologies are developed to define a common terminology.

The Eclipse Semantic Modeling Framework (ESMF) in combination with the specifications of and open source solutions for the Asset Administration Shell accelerates the development of digital twin technologies and drives its adoption in ecosystems. 

References

  1. Cyganiak, R., Wood, D., Lanthaler, M.. RDF 1.1 Concepts and Abstract Syntax.
  2. Knublauch, H., Kontokostas, D., Shapes Constraint Language (SHACL).

Eclipse MoEc

Thursday, November 3, 2022 - 13:11 by Manuel Sontag

Eclipse MoEc provides an open software development kit (SDK) for infrastructure-based planning, motion, parking and charging solutions within the Software Defined Vehicle (SDV) ecosystem.

The MoEc SDK covers the three primary "Software Defined Architecture" (SDA) pillars:

  1. MoEc.OS: Orchestration of demanded control-plane components such as Eclipse Leda and Eclipse Cyclone DDS.
  2. MoEc.MOTION: All necessary application-plane software-components and algorithm e.g., from "Simultaneous Localization And Mapping" (SLAM), through PID-controller for actuation, up to specific motion-controller for aspects such as lane-keeping.
  3. MoEc.INTEGRATION: Required data-plane software components for integration into specific environments such as CARLA Simulator, Eclipse SUMO Simulator and 1:10 RC vehicle via a "Common Vehicle Interface" (CVI).

Objective is to provide a straight forward implementation including a easy to understand documentation, making the related aspects such as robotic algorithm, multi agent systems (MAS) easy to understand.

Eclipse p3com

Friday, October 21, 2022 - 05:46 by Jakub Sosnovec

Eclipse p3com enables arbitrary communication interfaces through a convenient and modern high level API while exploiting full HW capabilities.

Eclipse "p3com" stands for:

  • Pluggable
  • Portable
  • Publish/subscribe communication

It is pluggable because it provides a modular transport layer architecture and integrates transparently into existing middleware projects using the Eclipse iceoryx API which is already well established and incorporated into multiple libraries such as Eclipse Cyclone DDS.

Eclipse p3com is portable, because it supports Linux operating system as well as FreeRTOS real-time operating system for hard real-time processors.

Finally, Eclipse p3com primarily supports the publish/subscribe communication model and benefits from the recently introduced request/response model in Eclipse iceoryx.