[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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.