Distributing concurrent Ada programs by source translation
Software—Practice & Experience
An overview of the SR language and implementation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Ada for distributed systems
Communication between Ada programs in DIADEM
IRTAW '88 Proceedings of the second international workshop on Real-time Ada issues
Supporting Ada in a distributed environment
IRTAW '88 Proceedings of the second international workshop on Real-time Ada issues
A new approach to fault tolerance in distributed Ada programs
IRTAW '88 Proceedings of the second international workshop on Real-time Ada issues
Ada Program Partitioning Language: A Notion for Distributing Ada Programs
IEEE Transactions on Software Engineering
Translation and Execution of Distributed Ada Programs: Is It Still Ada?
IEEE Transactions on Software Engineering
An implementation supporting distributed execution of partitioned ada programs
ACM SIGAda Ada Letters
Targeting a traditional compiler to a distributed environment
ACM SIGAda Ada Letters
Guardians and Actions: Linguistic Support for Robust, Distributed Programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A survivable distributed computing system for embedded application programs written in Ada
ACM SIGAda Ada Letters
Building distributed Ada applications from specifications and functional components
TRI-Ada '91 Proceedings of the conference on TRI-Ada '91: today's accomplishments; tomorrow's expectations
TRI-Ada '92 Proceedings of the conference on TRI-Ada '92
ACM SIGAda Ada Letters
Ada-Linda: a powerful paradigm for programming distributed Ada applications
TRI-Ada '94 Proceedings of the conference on TRI-Ada '94
Ada in distributed systems: an overview
ACM SIGAda Ada Letters
Hi-index | 0.00 |
The task of programming distributed applications in Ada may be addressed in several ways. Most of these require the application developer to factor the hardware configuration into software design very early in the development process. The resulting software is sensitive to changes in hardware, does not lend itself to design iteration, is not easily transportable across different hardware configurations, and is not stable against changes during the life-cycle of the application.In Section 2, we describe an approach that achieves separation of concerns between program design and program partitioning for distributed execution. The entire application is written as a single Ada program using the full capabilities of the language for program structuring, separate compilation, and type checking. Then in a distinct second phase of design, the program is partitioned and prepared for distributed execution. The two-phase design approach helps reduce design complexity by problem decomposition, and allows experimentation with different strategies for allocating software to hardware without requiring software redesign. Section 3 reviews other work and presents a comparative evaluation.Two implementations of this approach have been completed and tested with the Ada Compiler Validation Capability (ACVC) test-suite. Implementation issues are discussed, and the key features of our implementation approach are presented in Section 4. Finally, Section 5 concludes the paper with pointers to future work.