[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 : --------------------------
   Skype me at: ericverhulstskype
   Mob. +32 477 608339
   Systematic Systems Development Methodologies
   Trustworthy Embedded Components
" "Concept" is a vague concept", L. Wittgenstein


From: owner-occam-com@xxxxxxxxxx [mailto:owner-occam-com@xxxxxxxxxx] On Behalf Of william.luitje@xxxxxxxxxxxxxxxx
Sent: Wednesday, November 02, 2005 12:31 AM
To: occam-com@xxxxxxxxxx
Subject: Benefits of CSP Based Programming Languages

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.