Saturday, January 17, 2009

180. Models of Computation


The rich variety of concurrent models of computation outlined in the previous section can be daunting to a designer faced with having to select them. Most designers today do not face this choice because they get exposed to only one or two. This is changing, however, as the level of abstraction and domain-specificity of design software both rise.


We expect that sophisticated and highly visual user interfaces will be needed to enable designers to cope with this heterogeneity. An essential difference between concurrent models of computation is their modeling of time. Some are very explicit by taking time to be a real number that advances uniformly, and placing events on a time line or evolving continuous signals along the time line.


Others are more abstract and take time to be discrete. Others are still more abstract and take time to be merely a constraint imposed by causality. This latter interpretation results in tim e that is partially ordered, and explains much of the expressiveness in process networks and rendezvous-based models of computation.
Partially ordered time provides a mathematical framework for formally analyzing and comparing models of computation.

A grand unified approach to modeling would seek a concurrent model of computation that serves all purposes. This could be accomplished by creating a melange, a mixture of all of the above, but such a mixture would be extremely complex and difficult to use, and synthesis and simulation tools would be difficult to design.

No comments:

Post a Comment