Giter VIP home page Giter VIP logo

Comments (6)

mvs5465 avatar mvs5465 commented on June 19, 2024 1

Hey @onders86, we are moving towards using the open source asn1c compiler by Lev Walkin.

from jpo-ode.

hmusavi avatar hmusavi commented on June 19, 2024

I use the following primary criteria in a quick search for ASN.1 compiler and runtime software:

  1. Java runtime
  2. Availability of a compiler/Java API code generator
  3. UPER encoding and decoding
  4. Free and Open Source

I was able to identify only one potentially viable candidate but have not tried to test and evaluate it.
openASN.1 which is available on SourceForge (https://sourceforge.net/projects/openasn1/?source=typ_redirect) is developed by Clayton Hoss and Marc Weyland as their diploma thesis.
This package needs to be evaluated to see if:

  1. The compiler implementation is up-to-date and complete to be able to parse J2735 ASN.1 schema file.
  2. The generated code compiles in Java 8 without any post compile modification
  3. The quality of the generated code is high
  4. The runtime library is robust and efficient
  5. The generated code correctly and efficiently implements ASN.1 specification, particularly J2735 schema

from jpo-ode.

arielsgold avatar arielsgold commented on June 19, 2024

Thanks for looking into this, Hamid. Is there an established benchmark we need to hit for java runtime? If not, how do we establish a benchmark? (I assume, perhaps erroneously, that the rest of the criteria you describe are either subjective - e.g., code quality - or a yes/no determination - e.g., code compiles correctly.)

from jpo-ode.

hmusavi avatar hmusavi commented on June 19, 2024

There is no externally established benchmark that I know of specifically designed for ASN.1 but there is an internal benchmark that we established as part of the SE MI ODE ASN.1 tool selection. Using that benchmark, we could compare the performance of any prospective ASN.1 library to four commercial ASN.1 libraries, including OSS.

The code quality metrics do not need to be subjective either. We could run the source code through a static analysis tool such as Sonarqube or even more sophisticated commercial tools which perform much deeper analysis.

Booz Allen development team has access to CAST AIP (http://www.castsoftware.com/products/code-analysis-tools) which assesses the quality of the software against the following Health Factors more thoroughly and deeply than SonarQube:

The following are Health Factors analyzed by CAST AIP
Robustness Engineering flaws and practices that can have an impact on the runtime stability of the application.
Efficiency Potential efficiency bottlenecks and potential future scalability issues linked to coding practices.
Security Design flaws, likelihood of having application failures and application defects due to modifications.
Changeability Difficulties to modify code in order to implement new features, correct errors, or change the applications environment.
Transferability Difficulties to move code across teams, lock in to specific resources, or longer onboard time for new team members.
Total Quality Index (TQI) An average of all the rules applicable to an application (based on technology) provided by CAST.

from jpo-ode.

tonychen091 avatar tonychen091 commented on June 19, 2024

Closing this topic now, as the team has a plan forward for an open source ASN1 compiler

from jpo-ode.

onderson avatar onderson commented on June 19, 2024

Whats the forward plan for asn.1 support? Looking something to improve on this subject? Regards

from jpo-ode.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.