Skip to main content
  • Log in
  • Manage Cookies
projects.eclipse.org
Download
  • Projects
  • Working Groups
  • Members
  • Community
    • Marketplace
    • Events
    • Planet Eclipse
    • Newsletter
    • Videos
    • Blogs
  • Participate
    • Report a Bug
    • Forums
    • Mailing Lists
    • Wiki
    • IRC
    • Research
  • Eclipse IDE
    • Download
    • Learn More
    • Documentation
    • Getting Started / Support
    • How to Contribute
    • IDE and Tools
    • Newcomer Forum
  • More
      • Community

      • Marketplace
      • Events
      • Planet Eclipse
      • Newsletter
      • Videos
      • Blogs
      • Participate

      • Report a Bug
      • Forums
      • Mailing Lists
      • Wiki
      • IRC
      • Research
      • Eclipse IDE

      • Download
      • Learn More
      • Documentation
      • Getting Started / Support
      • How to Contribute
      • IDE and Tools
      • Newcomer Forum
    • Search

  1. Home
  2. Projects
  3. Eclipse Automotive
  4. Eclipse uProtocol
  5. Eclipse uProtocol
×

Informative message

This proposal has been approved and the Eclipse uProtocol project has been created.
Visit the project page for the latest information and development.

Go to Project

Eclipse uProtocol

Basics
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project: 
Eclipse Automotive
Background: 

A software defined vehicle requires the design and development of software entities(uEs) that are distributed by nature, and deployed in many different os/hw environments such as vehicle-mechatronics, vehicle-high-compute SoCs, mobile phones, infrastructure, the cloud, etc.... 

Each environment has their own software development languages, deployment solutions, and communication protocols making application and service development for connected vehicles challenging and often OEM/vendor specific.

The currently are no common protocols that cross automotive and cloud boundaries for messaging/RPC, existing solutions are tailored for specific use cases and each come with their own pro's and cons (ex. it works in the cloud but not for safety critical ASIL-D messages).

Finally, given the lack of connections between the embedded automotive and Internet/cloud worlds, there is no standard way to safely and securely discover, connect, and communicate with software across the various above mentioned deployments so more often than not OEMs are left with implementing proprietary communication solutions.

Scope: 

Eclipse uProtocol provides a transport agnostic, layered communication protocol that is deployment, OS, and device (vehicle, cloud, mobile phone, charging station, etc...) agnostic, leveraging well-known existing automotive and Internet standards. Scope of the project shall include the specifications, sdk, and reference implementations of the specifications. 

Description: 

Purpose

Connecting Automotive Apps and Services, Everywhere

The purpose of this project shall be to provide a transport agnostic, layered communication protocol that builds on top of existing automotive and Internet standards, from the mechatronic layer (between ECUs, VMs, etc…) up to the Cloud, enabling a connected software defined vehicles.

Overview

The protocol is divided up into three layers:

  • Application Layer (uP-L3):
    • Responsible for business/application logic through definition of methods, topics, messages
    • Core Platform uEs (uSubscription, uDiscovery, etc...)
  • Communication Layer (uP-L2):
    • Describing data & metadate in a common way using CloudEvents: publication/notificaitons, request/response, file transfer, etc...
    • Routing & Dispatching of events through Dispatchers (uBus, uStreamer, Device Proxy Router, Cloud Proxy)
  • Transport Layer (uP-L1):
    • Sending & receiving of events point-2-point between Software Entities (uEs)
    • Session an connection over automotive & Internet standards

For more information about uProtocol please visit: Overview of uProtocol

Project Contents

The uProtocol project shall contain that contain a number of children repos that are:

  1. eclipse-uprotocol/uprotocol: Protocol specification & various layers interface definitions  and interface definitions
  2. eclipse-uprotocol/uprotocol-sdk-java: Java Software development Kit (implements uP-L2 and includes other helper code for the protocol)
  3. eclipse-uprotocol/uprotocol-sdk-cpp: Same as Java SDK but for C++
  4. eclipse-uprotocol/uprotocol-android: Android implementation of uProtocol, both the transport protocol (Binder) and core dispatchers and application logic 
Why Here?: 

The value we hope to give (and get) are:

  • Collect valueable feedback and insite from the industry
  • Avoid fragmentation (OEM/vendor specific solutions)
  • Rally around a common vision for the software defined vehicle
  • Harmonize across the automotive projects to a common vision such that we can expand the deployments and functionality supported by this underlining protocol
Licenses: 
Apache License, Version 2.0
Project Scheduling: 

An official release of the source code is planned for September (post incubation period to allow for feedback from the community). Documentation might be released sooner. 

Future Work: 

Other deployment solutions (cloud providers, IV OS like Linux, QNX, etc...), additional transports, etc... .  

People
Project Leads: 
Steven Hartley
Committers: 
Steven Hartley
Frank Ghenassia
Tamara Fischer
Mikhail Petrov
Adi Enzel
Uzi Meirov
Halim Ragab
Mentors: 
Naci Dai
Interested Parties: 

This project is backed by General Motors and is part of the SDV initiative

Source Code
Initial Contribution: 

We will release the following initially:

  • uProtocol specification
  • Java SDK
  • C++ SDK
  • Compatibility Test Kit (CTK) (how to validate the protocol implementations)
  • Android implementation
Source Repository Type: 
GitHub
  • Sign in to post comments.

Project Links

  • Introducing Eclipse uProtocol
Incubating - Eclipse uProtocol

Related Projects

Project Hierarchy:

  • Eclipse Automotive
  • Eclipse uProtocol

Tags

Technology Types
  • Automotive
Build Technologies
  • Maven
Other Tags
  • automotive

Eclipse Foundation

  • About Us
  • Contact Us
  • Sponsor
  • Members
  • Governance
  • Code of Conduct
  • Logo and Artwork
  • Board of Directors
  • Careers

Legal

  • Privacy Policy
  • Terms of Use
  • Copyright Agent
  • Eclipse Public License
  • Legal Resources

Useful Links

  • Report a Bug
  • Documentation
  • How to Contribute
  • Mailing Lists
  • Forums
  • Marketplace

Other

  • IDE and Tools
  • Projects
  • Working Groups
  • Research@Eclipse
  • Report a Vulnerability
  • Service Status

Copyright © Eclipse Foundation. All Rights Reserved.

Back to the top