Inventors:
Kenneth Hines - Kenmore WA, US
Ross Ortega - Seattle WA, US
International Classification:
G06F009/44
G06F009/45
US Classification:
717/101000, 717/106000, 717/144000, 717/155000, 717/156000
Abstract:
A goal of the present invention is to allow programmers to build software systems without regard to a specific target hardware architecture on which the software system will be implemented. An aspect of this is a high-level, coordination-centric, design methodology that permits programmers to explicitly declare the way control and data interactions between software components are coordinated. Coordination synthesis generates selectively optimizable implementation code to implement the coordination-centric software application on a target hardware architecture, and generates appropriate coordination code to implement the coordination scheme for the software application with the target hardware architecture's supported interaction protocols. The present invention transforms this abstract coordination between software components into concrete interactions for the interaction protocols provided by a target hardware architecture and further generates runtime support for each processing resource of the target hardware architecture for the software components running on that processing resource.