Abstractions provide great opportunities



next up previous contents
Next: Why do we Up: Opportunities Previous: Opportunities

Abstractions provide great opportunities

Through the development of specification languages that can be executed to achieve rapid prototyping, and the declarative view (i.e., functional and logic programming), specification and programming have grown very close together. In fact, recently even text documents have been growing ``smarter". The exploding popularity of presenting documents on the Internet through the HTML language is because this permits us to incorporate some elements of computation directly into our text. When one activates a link in a Web document, a computation closely analogous to a remote procedure call is performed. Of course the procedure calls are very inflexible in the current setting, but it does not take much imagination to foresee many other possibilities. Yet, paradoxically, none of these advances can really take advantage of the computation power provided by the new parallel machines, and their migration towards these machines is too slow with respect to the urgency of the goals we discuss here. We believe that this is due to the fact that methodology and implementation tools for parallel machines has not kept pace with the rapid development of formal specification mechanisms. Therefore, the discovery of new implementation mechanisms, naturally suited to the formal specification tools used to develop the new paradigms of computation, will create the opportunity to merge elements from these diverse approaches to substantially benefit the construction of software tools for HPCS at all levels. We advocate this process in the context of developing new languages and compilers that support incremental development of programs and allow programmers to control the granularity of the processes executing their programs and effectively utilize the computation power provided by the hardware.