Durra: A Task-Level Description Language Reference Manual (Version 2)

Abstract: Durra is a language designed to support the development of large-grained parallel programming applications. These applications are oftencomputation-intensive, or have real-time requirements that require efficientconcurrent execution of multiple tasks, devoted to specific pieces of the appli-cation. During execution time the application tasks run on possibly separateprocessors, and communicate with each other by sending messages of differ-ent types across various communication links. The application developer isresponsible for prescribing a way to manage all of these resources. We callthis prescription atask-level application description. It describes the tasks tobe executed, the possible assignments of processes to processors, the datapaths between the processors, and the intermediate queues required to storethe data as they move from source to destination processes. Durra is atask-level description language,a notation in which to write these applicationdescriptions.This document is a revised version of the original reference manual [2]. It de-scribes the syntax and semantics of the language and incorporates all the lan-guage changes introduced as a result of our experiences writing task and ap-plication descriptions in Durra. A companion document,Durra: A Task-LevelDescription Language User’s Manual[7], describes how to use the compiler,runtime environment, and support tools.

[1]  Aloysius K. Mok,et al.  Safety analysis of timing properties in real-time systems , 1986, IEEE Transactions on Software Engineering.

[2]  Mario R. Barbacci MasterTask: The Durra Task Emulator , 1988 .

[3]  Jeannette M. Wing,et al.  DURRA : A Task-Level Description Language , 1987, ICPP.

[4]  T. N. Chairman-Nam,et al.  Proceedings of the 20th international conference on Software engineering , 1998, ICSE 1998.

[5]  Jeannette M. Wing,et al.  Programming at the processor-memory-switch level , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.

[6]  Mario R. Barbacci,et al.  Developing Applications for Heterogeneous Machine Networks: The Durra Environment , 1989 .

[7]  Mario R. Barbacci,et al.  Command, Control, Communications, and Intelligence Node: A Durra Application Example , 1989 .

[8]  Jeannette M. Wing,et al.  Specifying Functional and Timing Behavior for Real-Time Applications , 1987, PARLE.

[9]  H. T. Kung,et al.  The design of nectar: a network backplane for heterogeneous multicomputers , 1989, ASPLOS 1989.

[10]  Mario Barbacci,et al.  Application-level programming , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[11]  Charles B. Weinstock,et al.  Performance and Reliability Enhancement of the Durra Runtime Environment , 1989 .

[12]  Steven A. Shafer,et al.  An architecture for sensor fusion in a mobile robot , 1986, Proceedings. 1986 IEEE International Conference on Robotics and Automation.

[13]  Jeannette M. Wing,et al.  A language for distributed applications , 1990, Proceedings. 1990 International Conference on Computer Languages.

[14]  Mario R. Barbacci,et al.  Durra: A Task-Level Description Language Use's Manual , 1989 .

[15]  Mario R. Barbacci,et al.  The Durra Runtime Environment , 1988 .