[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
RE: Benefits of CSP Based Programming Languages
Hi William,
Automotive is indeed an area that could use the rigor of
CSP. But it's a hard selling job in this rather political/protected
mechanical world.
Nevertheless, things are happening. Soon relieve will come
not just from using CSP, but from using rigorous Systems Engineering
methods.
E.g. Formal methods are being introduced (after most car
manufacturers got hit by safety issues and serious reliability
issues).
There is the IEC61508 safety standard. Traceability there
is the key word. And the use of MISRA rules when using C (which is almost
unavoidable). 128 rules to follow, mainly concerned about what to do not when
programming in C (it's clearly not a safe programming
language).
There's also SCADE-DRIVE. Graphical programming with formal
proof checkers in the background, generating C. But restricted to static
scheduling.
SPARK also. A subset of ADA with assertions at the source
code level. Generates C.
Occam would definitely be an alternative if there was a
back-end compiler for the micro's people are using. (no Pentium class power
suckers!).
Other interesting technology would be SpaceWire (already in
use by ESA, ex-T9000 link engine with LVDS), rather than CAN-bus, FlexRay and
TTP.
If I could start from scratch, I would definitely do things
differently in automotive, but we are already happy if we can apply more rigor
in the development process.
Best regards,
Eric Verhulst
---------------------- FROM :
--------------------------
Eric.Verhulst@xxxxxxxxxxxxxxxxxxxxxx
Skype me at: ericverhulstskype
Mob. +32 477
608339
Systematic Systems Development
Methodologies
Trustworthy Embedded Components
http://www.OpenLicenseSociety.org
-----------------------------------------------------------
"
"Concept" is a vague concept", L. Wittgenstein
I am a new list member, so please
pardon me if this topic has already been covered.
I am writing a paper for the Society of Automotive
Engineers spring congress about what potential benefits developers of automotive
embedded software are missing when they write in C. I plan to use occam as an
example of how pervasive embedded computing concepts, like time, concurrency,
multiprocessing and communications, can be built into a language. I have already
created small example programs in occam that illustrate how handling these
difficult issues can be greatly simplified when using a suitable programming
language.
That should serve to
motivate a claim that use of such a language could result in greatly reduced
development time and a higher quality finished product, which are both hot
topics in the field of automotive software. Has anyone actually performed an
experiment or done a study with a CSP based language to see if such benefits are
actually realized? If so, what degree of improvement was observed?
There is also great interest in the
automotive industry in doing testing and validation. CSPs are rigorously defined
mathematical constructs that can be manipulated with a calculus. Since occam
implements them directly, it should be easy to analyze. That suggests the
possibility of tools to perform automated analysis or formal proofs of
consistency, deadlocks, timing, etc. From looking at Hoare's CSP book that seems
theoretically possible. Are such tools currently available? If so, what kinds
and how practical are they? What other kinds of testing and validation are
facilitated?
Thanks for any
information you can provide and remember you needn't restrict answers to
occam.