Proposals

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.

Eclipse Aidge

Tuesday, July 26, 2022 - 04:56 by Boris Baldassari

The Eclipse Aidge platform is a comprehensive solution for fast and accurate Deep Neural Network (DNN) simulation and full and automated DNN-based applications building. The platform integrates database construction, data pre-processing, network building, benchmarking and hardware export to various targets. It is particularly useful for DNN design and exploration, allowing simple and fast prototyping of DNN with different topologies. It is possible to define and learn multiple network topology variations and compare the performances (in terms of recognition rate and computationnal cost) automatically. Export hardware targets include CPU, DSP and GPU with OpenMP, OpenCL, Cuda, cuDNN and TensorRT programming models as well as custom hardware IP code generation with High-Level Synthesis for FPGA and dedicated configurable DNN accelerator IP.

Eclipse ArchE

Friday, July 22, 2022 - 09:03 by Andreas Looft

Eclipse ArchE provides a tool for Architecture Modeling following a Model-Based-Systems-Engineering (MBSE) approach.

Instead of having a heterogeneous environment of various tools to break High-Level Stakeholder Requirements all the way down to modeled software components that shall run in the car.

In that sense ArchE is:

  • Single Source of Truth for architecture
  • supporting all architecture activities and related processes
  • tightly integrating special engineering disciplines like resource estimation, timing, safety, security in your architecture process
  • tightly integrating into software development lifecycle
  • enabling Diff/Branch/Merge, testing/integration, ...