logo slogan

JSF++

JSF++

PRQA were excited when we first learned about the "JOINT STRIKE FIGHTER AIR VEHICLE C++ CODING STANDARDS FOR THE SYSTEM DEVELOPMENT AND DEMONSTRATION PROGRAM" and liked everthing they saw—except its name. Luckily, it's now more commonly referred to simply as "JSF++".  PRQA quickly got in touch with Kevin Carroll at Lockheed Martin and Bjarne Stroustrup, major contributors, to learn more. Then, we set out to build the best automatic enforcement solution available for it. QA·JSF++ was soon born.

 

Why did PRQA feel they could deliver the best solution? You'll quickly discover—once you explore the standard—that to successfully deliver a robust JSF++ auto-enforcement solution you need three key components: coding standard domain expertise, C++ language expertise, and MISRA expertise. PRQA, almost exculsivly, possess all three—perfectly positioned to help those who want to leverage the best practices embodied in JSF++..

 

Learn more. Get the JSF++ standard document here, Plus, you can get a JSF++ background presentation.

 

Contact us today to discover more about QA·JSF++ and how it delivers

 

Excerpt from the actual coding standard document

INTRODUCTION

The intent of this document is to provide direction and guidance to C++ programmers that will enable them to employ good programming style and proven programming practices leading to safe, reliable, testable, and maintainable code. Consequently, the rules contained in this document are required for Air Vehicle C++ development and recommended for non-Air Vehicle C++ development.

As indicated above, portions of Air Vehicle (AV) code will be developed in C++. C++ was designed to support data abstraction, object-oriented programming, and generic programming while retaining compatibility with traditional C programming techniques. For this reason, the AV Coding Standards will focus on the following:

1. Motor Industry Software Reliability Association (MISRA) Guidelines For The Use Of The C Language In Vehicle Based Software,
2. Vehicle Systems Safety Critical Coding Standards for C, and
3. C++ language-specific guidelines and standards.

The MISRA Guidelines were written specifically for use in systems that contain a safety aspect to them. The guidelines address potentially unsafe C language features, and provide programming rules to avoid those pitfalls. The Vehicle Systems Safety Critical Coding Standards for C, which are based on the MISRA C subset, provide a more comprehensive set of language restrictions that are applied uniformly across Vehicle Systems safety critical applications. The AV Coding Standards build on the relevant portions of the previous two documents with an additional set of rules specific to the appropriate use C++ language features (e.g. inheritance, templates, namespaces, etc.) in safety-critical environments.

Overall, the philosophy embodied by the rule set is essentially an extension of C++’s philosophy with respect to C. That is, by providing “safer” alternatives to “unsafe” facilities, known problems with low-level features are avoided. In essence, programs are written in a “safer” subset of a superset.


© Lockheed Martin Corporation