472,783 Members | 925 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 472,783 software developers and data experts.

JSF++


Since I got flamed for mentioning MISRA C++ the other week I though I
would ask first.

Can I post a link to the Word version JSF++ or is that against the
c.l.c++ rules as well?

Chris
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Mar 14 '06 #1
10 4697

Chris Hills wrote:
Since I got flamed for mentioning MISRA C++ the other week I though I
would ask first.

Can I post a link to the Word version JSF++ or is that against the
c.l.c++ rules as well?

Chris
--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/


This group is not moderated. As a consequence, it is up to yourself as
to what you consider topical - and you risk getting flamed.
I believe MISRA C++ should be topical here, but my knowledge of MISRA
is limited.
If you believe JSF++ is topical and if your ego can take a flame, I
would post it.

/Peter

Mar 14 '06 #2
peter koch wrote:
Chris Hills wrote:
Since I got flamed for mentioning MISRA C++ the other week I though I
would ask first.

Can I post a link to the Word version JSF++ or is that against the
c.l.c++ rules as well?

The new version of Java Sever Faces, AKA Shale, AKA Struts2, AKA
StrutsShale? :P (not the ESE link in google)
This group is not moderated. As a consequence, it is up to yourself as
to what you consider topical - and you risk getting flamed.
I believe MISRA C++ should be topical here, but my knowledge of MISRA
is limited.
If you believe JSF++ is topical and if your ego can take a flame, I
would post it.


Knowing Chris, I'm sure he'd survive.

Ben Pope
--
I'm not just a number. To many, I'm known as a string...
Mar 14 '06 #3
In article <44**********************@taz.nntpserver.com>, Ben Pope
<be***************@gmail.com> writes
peter koch wrote:
Chris Hills wrote:
Since I got flamed for mentioning MISRA C++ the other week I though I
would ask first.

Can I post a link to the Word version JSF++ or is that against the
c.l.c++ rules as well?
The new version of Java Sever Faces, AKA Shale, AKA Struts2, AKA
StrutsShale? :P (not the ESE link in google)


Joint Strike Fighter ++ the JSF C++ coding guide. Up until now it has
been Restricted under US National Security Rules (in case AQ start
hacking into the JSF as it flies :-)

URL: http://www.jsf.mil/downloads/down_documentation.htm
File: JSF_AV_C++_Coding_Standards_Rev_C.doc

It will do until the release of MISRA C++ :-)

This group is not moderated. As a consequence, it is up to yourself as
to what you consider topical - and you risk getting flamed.
I believe MISRA C++ should be topical here, but my knowledge of MISRA
is limited.
If you believe JSF++ is topical and if your ego can take a flame, I
would post it.


Knowing Chris, I'm sure he'd survive.

Ben Pope


I am a shy delicate flower wot is sensitive and easily hurt :-)

--
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
\/\/\/\/\ Chris Hills Staffs England /\/\/\/\/
/\/\/ ch***@phaedsys.org www.phaedsys.org \/\/\
\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/

Mar 14 '06 #4
Chris Hills wrote:
In article <44**********************@taz.nntpserver.com>, Ben Pope
<be***************@gmail.com> writes
peter koch wrote:
Chris Hills wrote:

Since I got flamed for mentioning MISRA C++ the other week I though I
would ask first.

Can I post a link to the Word version JSF++ or is that against the
c.l.c++ rules as well?


The new version of Java Sever Faces, AKA Shale, AKA Struts2, AKA
StrutsShale? :P (not the ESE link in google)

Joint Strike Fighter ++ the JSF C++ coding guide. Up until now it has
been Restricted under US National Security Rules (in case AQ start
hacking into the JSF as it flies :-)

URL: http://www.jsf.mil/downloads/down_documentation.htm
File: JSF_AV_C++_Coding_Standards_Rev_C.doc

It will do until the release of MISRA C++ :-)


I, for one, would love to see some review/discussion of this document.
It looks fairly complete and thorough.

Joe
Mar 15 '06 #5
Joe Van Dyk wrote:
I, for one, would love to see some review/discussion of this document.
It looks fairly complete and thorough.


Some of the rules are bad due to tool-based restrictions. For example,
try/catch/throw is banned. They don't mention the use of anonymous
namespaces to restrict visibility. They recommend the use of some
custom Array class instead of std::vector, etc...

Mar 15 '06 #6
red floyd wrote:
Joe Van Dyk wrote:
I, for one, would love to see some review/discussion of this document.
It looks fairly complete and thorough.

Some of the rules are bad due to tool-based restrictions. For example,
try/catch/throw is banned. They don't mention the use of anonymous
namespaces to restrict visibility. They recommend the use of some
custom Array class instead of std::vector, etc...


Why do they recommend the custom Array class? And what do you mean by
"tool-based restrictions?"
Mar 15 '06 #7
Joe Van Dyk wrote:
red floyd wrote:

Some of the rules are bad due to tool-based restrictions. For
example, try/catch/throw is banned. They don't mention the use of
anonymous namespaces to restrict visibility. They recommend the use
of some custom Array class instead of std::vector, etc...


Why do they recommend the custom Array class? And what do you mean by
"tool-based restrictions?"


tool-based restrictions: their compiler doesn't support it.

"AV Rule 208
C++ exceptions shall not be used (i.e. throw, catch and try shall not be
used.)
Rationale: Tool support is not adequate at this time."

As for use of a custom Array class, they didn't specify why to use that
instead of std::vector. My guess is that JSF began before C98 became
official, and they already had an Array class written.
Mar 15 '06 #8
The standard attempts to balance many competing interests. So, why no
exceptions?

Remember the JSF will not fly on a desktop machine, but rather on
specialized hardware. Moreover, the bsp, operating system, run-time
environment, libraries, etc. must be certified to DO-178B level A
standards or higher (very costly). Hence, you can't just pull your
favorite compiler off the shelf and use it. Given the above
restrictions, your choices are limited. The particular tool suite did
not support exceptions, rtti, etc. Hence the rule. (Note the commercial
version of the tool suite does support these capabilities--the DO-178B
level A version does not).

As more companies begin to use C++ in aviation, hopefully the
certifiable versions of the libraries will be expanded. When that
happens, you will probably see the rule go away.

Now, why the "custom" Array class? Again, it is a balance of
competing interests. The c-style array has long been a source of
errors, especially when used in interfaces. You encounter the so-called
"array-decay" problem. The std::vector is an excellent alternative in
many cases, but not all. The standard containers make use of dynamic
memory. However, extensive heap usage can subject a system to
fragmentation and subsequent determinism issues.

The JSF must operate within hard real-time constraints and guarantee
memory exhaustion can never happen. Consequently, the Array class was
developed as a c-style array alternative that can operate under a hard
real-time environment while eliminating typical problems associated
with c-style arrays. The philosophy is to provide "safer" alternatives
to known "unsafe" or "error-prone" structures.

In summary, some rules will seem odd at first glance. However, the
context of the JSF development environment will hopefully shed a little
light on the subject. Not all rules will be appropriate for all
environments (e.g. use exceptions where you can), but this may be a
good starting place for other safety-critical, hard real-time work.

Mar 20 '06 #9
ke*************@lmco.com wrote:
Given the above
restrictions, your choices are limited. The particular tool suite did
not support exceptions, rtti, etc. Hence the rule. (Note the commercial
version of the tool suite does support these capabilities--the DO-178B
level A version does not).
I agree. I said that they were tool-based restrictions -- I assumed the
compiler suite did not support them.

Now, why the "custom" Array class? Again, it is a balance of
competing interests. The c-style array has long been a source of
errors, especially when used in interfaces. You encounter the so-called
"array-decay" problem. The std::vector is an excellent alternative in
many cases, but not all. The standard containers make use of dynamic
memory. However, extensive heap usage can subject a system to
fragmentation and subsequent determinism issues.

[further discussion redacted]


Good point. I suspect the Array class is similar to std::tr1::array,
i.e. a class with a fixed size array, but bounds checking, etc... I
hadn't thought of that.
Mar 20 '06 #10
> Good point. I suspect the Array class is similar to std::tr1::array,
i.e. a class with a fixed size array, but bounds checking, etc...


Correct.

Mar 21 '06 #11

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: Steve | last post by:
I need to build a very dynamic client and would be interested in knowing the pros and cons of using JSF and Ajax to accomplish this. Thanks. Steve
0
by: Vinutha | last post by:
I have designed one xhtml page using frameset, where i have included 3 frames to make one page, ie. one for header, one for menuTree & one for body, This is my code, <!DOCTYPE html PUBLIC...
0
by: Vinutha | last post by:
I have designed one xhtml page using frameset, where i have included 3 frames to make one page, ie. one for header, one for menuTree & one for body, This is my code, <!DOCTYPE html PUBLIC...
4
Dököll
by: Dököll | last post by:
Hey Gang! I thought I had a good idea but then I realized JSF doesn't play that... I am trying to mimick what HTML can do in JSF when using target tags to related to inner HTML pages. In...
0
by: Rina0 | last post by:
Cybersecurity engineering is a specialized field that focuses on the design, development, and implementation of systems, processes, and technologies that protect against cyber threats and...
0
by: erikbower65 | last post by:
Using CodiumAI's pr-agent is simple and powerful. Follow these steps: 1. Install CodiumAI CLI: Ensure Node.js is installed, then run 'npm install -g codiumai' in the terminal. 2. Connect to...
0
linyimin
by: linyimin | last post by:
Spring Startup Analyzer generates an interactive Spring application startup report that lets you understand what contributes to the application startup time and helps to optimize it. Support for...
0
by: erikbower65 | last post by:
Here's a concise step-by-step guide for manually installing IntelliJ IDEA: 1. Download: Visit the official JetBrains website and download the IntelliJ IDEA Community or Ultimate edition based on...
0
by: kcodez | last post by:
As a H5 game development enthusiast, I recently wrote a very interesting little game - Toy Claw ((http://claw.kjeek.com/))。Here I will summarize and share the development experience here, and hope it...
0
by: Taofi | last post by:
I try to insert a new record but the error message says the number of query names and destination fields are not the same This are my field names ID, Budgeted, Actual, Status and Differences ...
14
DJRhino1175
by: DJRhino1175 | last post by:
When I run this code I get an error, its Run-time error# 424 Object required...This is my first attempt at doing something like this. I test the entire code and it worked until I added this - If...
5
by: DJRhino | last post by:
Private Sub CboDrawingID_BeforeUpdate(Cancel As Integer) If = 310029923 Or 310030138 Or 310030152 Or 310030346 Or 310030348 Or _ 310030356 Or 310030359 Or 310030362 Or...
0
by: lllomh | last post by:
How does React native implement an English player?

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.