Toward Practical Parallel Programming
{'Code': '05010400', 'Directorate': {'Abbreviation': 'CSE', 'LongName': 'Direct For Computer & Info Scie & Enginr'}, 'Division': {'Abbreviation': 'CCF', 'LongName': 'Division of Computing and Communication Foundations'}}
{'SignBlockName': 'name not available', 'PO_EMAI': None, 'PO_PHON': None}
This project seeks to take a major step toward increased practicality of        parallel programming for genuine applications.  Three areas will be             studied:                                                                                                                                                        oLanguage design:  A new multiparadigm language will be designed,               weaving together the best parallel programming features of functional,          logic, and objected oriented languages:  producer-consumer AND-                 parallelism (functional); goal-driven OR-parallelism (logic), and               message-based loose coupling (object oriented languages).                                                                                                       oImplementation techniques:  A coherent implementation strategy for this        composite language will be developed, based on techniques for compiling         each language component to conventional machine code.  These techniques         will include strictness analysis (functional) , Warren Abstract Machine         Code (logical), and encapsulated imperative code (object oriented               languages).  The combined method will be demonstrated on both a                 uniprocessor workstation and on an 18-node multiprocessor system.                                                                                               oProgrammer pragmatics:  The practical merits of this approach will be          evaluated through an application study involving successive levels of           sophistication in digital circuit simulation.  In support of this               demonstration, user interface issues will be addressed through the              construction of a prototype programming environment, operating                  compatibly in both uni-and multiprocessor modes.                                                                                                                Parallel programming is rapidly being transformed from an esoteric              specialty to a subject of fundamental importance to all programers.             Among the reasons for this transformation are (i) the introduction of           concurrency control constructs into general purpose languages (e.g.             tasks in ADA), (ii) increasing interest in naturally parallel algorithms        (e.g. constraint satisfaction methods), and (iii) the recent                    availability of commercial multiprocessor offering dramatically                 increased computing power per unit cost.
{'FirstName': 'Gary', 'LastName': 'Lindstrom', 'PI_MID_INIT': None, 'PI_SUFX_NAME': None, 'PI_FULL_NAME': 'Gary Lindstrom', 'EmailAddress': 'gary@cs.utah.edu', 'NSF_ID': '000140399', 'StartDate': '07/15/1987', 'EndDate': None, 'RoleCode': 'Principal Investigator'}
{'Name': 'University of Utah', 'CityName': 'SALT LAKE CITY', 'ZipCode': '841129049', 'PhoneNumber': '8015816903', 'StreetAddress': '201 PRESIDENTS CIR', 'StreetAddress2': None, 'CountryName': 'United States', 'StateName': 'Utah', 'StateCode': 'UT', 'CONGRESSDISTRICT': '01', 'CONGRESS_DISTRICT_ORG': 'UT01', 'ORG_UEI_NUM': 'LL8GLEVH6MG3', 'ORG_LGL_BUS_NAME': 'UNIVERSITY OF UTAH', 'ORG_PRNT_UEI_NUM': None}
{'Name': None, 'CityName': None, 'StateCode': None, 'ZipCode': None, 'StreetAddress': None, 'CountryCode': None, 'CountryName': None, 'StateName': None, 'CountryFlag': None, 'CONGRESSDISTRICT': None, 'CONGRESS_DISTRICT_PERF': '""'}
[{'Code': '2875', 'Text': 'SYSTEM SOFTWARE'}, {'Code': '9145', 'Text': 'SPECIAL PROGRAMS-RESERVE'}]
{'url': 'https://www.nsf.gov/awardsearch/download?DownloadFileName=1987&All=true', 'xml': '8704778.xml'}