From: <Bill.Foote@Eng.Sun.COM> > ... IMHO the next one that's needed is a way of > really understanding and modeling concurrency. I think my interests are some distance from the mainstream of this discussion group, but I thought it was time to throw a pebble in the pond. IMHO concurrency is *not enough* when real-time, or high-performane or genuinely concurrent (I mean here parallel hardware) systems are involved. The missing element is time. You need a model, a language, a compiler and an execution environment which support the expression and manipulation of temporal constraints in order to build such systems. I am particularly concerned with high speed, highly parallel, interactive, embedded systems and have developed the Handel-C system to support such systems. The Handel-C language is a subset of C, extended with CSP parallelism and communication primitives, but crucially it also has a (ludicrously simple) timing semantics. With this compiler and an FPGA chip as the execution environment, a programmer can routinely build, for instance, a C/CSP style program that runs fast enough to generate a video signal directly from its output primitives in which multiple parallel processes (are these objects perhaps?) are (each) invoked 25 million times per second. Our timing model states that an assignment statement takes one clock cycle to execute. No time at all is taken by any of the programming language cconstructs and true concurrency is used in the implementation which means that it is straightforward for a programmer to control the cycle-by-cycle behaviour of large parallel systems, which is what we need for our target applications. My guess is that this timing model is too tight for most of the systems that you are interested in, but I think the basic observation is just as true for you as it is for me: without the ability to express, reason about and control the temporal behaviour of programs, you simply cannot expect to build real-time systems routinely. More information is available at: www.comlab.ox.ac.uk/oucl/hwcomp.html Thanks for your indulgence, Ian ----------------------------------------------------------- Ian Page, Reader in Computing Science, Oxford University Computing Lab, Parks Road, Oxford OX1 3QD Tel: (+44/0) 1865 273853 direct, 273840 sec, 273839 fax. ------------ http://www.comlab.ox.ac.uk/~page -------------