-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transition to J2735 ASN 2020, Dockerfile Optimization & Updated SCMS Files #42
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…rectory instead of a single file
…method in acm.cpp
Optimize Dockerfiles for Smaller and Faster Deployments
Enhance J2735 ASN File Handling in `doIt.sh` Script
…nto 1609dot2/transition-to-etsi-v2.1.1
…nto 1609dot2/transition-to-etsi-v2.1.1
Include Generated Header/Implementation Files
Updated SCMS Files
dmccoystephenson
changed the title
Transition to J2735 ASN 2020 & Dockerfile Optimization
Transition to J2735 ASN 2020, Dockerfile Optimization & Updated SCMS Files
Jan 30, 2024
Release Notes for v1.6.0
dan-du-car
reviewed
Jan 31, 2024
…2024 Modified dockerfiles, added data documentation & refactored code for clarity
This PR is ready for re-review. |
Looks good. Thank you! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Transition to 2020
The ACM has transitioned to using the 2020 version of the J2735 ASN specification for compiling header and implementation files essential for message processing.
Updated ASN.1 Compiler Repository
We have adopted Leidos' fork of the ASN.1 Compiler, accessible at https://www.github.com/mouse07410/asn1c. This change was necessary due to the 'WITH SUCCESSORS' keyword in the 2020 J2735 ASN specification, which is not supported by the original repository (https://www.github.com/vlm/asn1c) currently.
Adjustments to the dockerfiles were made to accommodate this switch.
Modifications to doIt.sh Script
The doIt.sh script now directs to the 'asn1c_combined/j2735-asn-files/2020' directory, utilizing all *.asn files in that directory as input for the ASN.1 Compiler.
SEMI ASN File Updates
The SEMI file has been updated to be compatible with J2735 2020. Structure references had to be changed and import statements were added.
This file has been renamed to differentiate it from the previous version of the file.
The changelog included at the top of the file has been updated, including the following:
Unit Tests
Three new unit tests have been introduced for encoding TIMs with OdeTimPayload/OdeAsdPayload payload types and decoding a BSM. Each unit test is now encapsulated within its own TEST_CASE instead of being grouped under a single TEST_CASE.
Unit tests associated with encoding BSMs have been commented out, as they are not a desired feature of the ACM and were failing after the transition to mouse07410/asn1c.
Test Data
There are some differences in the
TravelerDataFrame
structure between 2016 & 2020 that required some modifications to some test messages.These include the following field renamings:
Testing
BSM Decoding & TIM Encoding have been verified to be working through manual testing. This involved spinning up the ACM & sending data to the relevant kafka topics.
ODE Updates
Transitioning to J2735 2020 requires some modifications to the ODE as well. These have been included in the following PR:
usdot-jpo-ode/jpo-ode#522
Dockerfile Optimization
Changes
Some changes have been made to the Dockerfiles with the aim to enhance performance and efficiency:
Testing
The changes have been thoroughly tested with the following results:
These updates are expected to contribute to a more efficient and streamlined development and deployment process.
Updated SCMS Files
Changes
The purpose of the changes in this PR is to transition the ACM away from utilizing the 'scms-asn1' git submodule, opting instead to directly include the updated SCMS files within the project.
Git Submodule Changes
The 'scms-asn1' git submodule has been removed.
Updated SCMS Files
The SCMS files that were being used before were from 2018. These files are from 2021/2022 and include the following:
The 'Ieee1609Dot2.asn' file depends on a structure defined in the 'EtsiTs103097ExtensionModule.asn' file.
Testing