[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.