Search

Filter

  • Advanced Filters:

  • to
  • Specific Data Sources:

    All Edit

    Select All  |  Select None

Reset filters

The standard course in theory of computation introduces students to Turing machines and computability theory. This model prescribes what can be computed, and what cannot be computed, but the negative results have far more consequences. To take the common example, suppose an operating systems designer wants to determine whether or not a program will halt given enough memory or other resources. Even a Turing machine program cannot be designed to solve this problem---and Turing machines have far more memory than any physical computer. The negative results of computability theory are also robust (a principle enshrined as Church's thesis): since many other models of computation, including λ-calculus, Post systems, and µ-recursive functions, compute the same class of functions on the natural numbers, negative results from one description apply to all other descriptions.But the discipline of programming and the architecture of modern computers impose other constraints on what can be computed. The constraints are ubiquitous. For example, a combination of hardware and software in operating systems prevents programs from manipulating protected data structures except through the system interface. In programming languages, there are programs that "cannot be written," e.g., a sort procedure in Pascal that works on arrays of any size. In databases, there is no Datalog program to calculate the parity of a relation (see 1). Each of these settings involves a uniprocessor machine, but the constraints become even more pronounced in distributed systems: for instance, there is no mutual exclusion protocol for n processors using fewer than n atomic read/write registers 5. All of these problems are computable in Turing's sense: one can encode each of these problems as computation over the natural numbers, and one can write programs to solve the problems. So in what sense is Church's thesis applicable? It is important to remember that computability theory only describes properties of the set of computable functions on the natural numbers (although there have been attempts to extend computability theory and complexity theory to higher-order functions; see, e.g., 13, 12, 20.) If one adopts computability theory as the only theory of computation, one is naturally forced to encode other forms of computation as functions on the natural numbers. Alan Perlis' phrase "Turing tarpit" highlights this potential misuse of computability theory: the encoding of computation into one framework forces many relevant distinctions to become lost.Any attempt to explain other computing constraints must necessarily look for theories beyond computability theory. Semantics aims to fill this niche: it is the mathematical analysis and synthesis of programming structures. The definition is admittedly broad and not historically based: semantics was originally a means of describing programming languages, and the definition covers areas not usually called "semantics." This essay attempts to flesh out this definition of semantics with examples, comparisons, and sources of theories. While most of the ideas will be familiar to the practicing semanticist, the perspective may be helpful to those in and out of the field.

End of preview. The entire article is 8 pages. To view the full-text, please rent this article to continue.

/lp/association-for-computing-machinery/the-analysis-of-programming-structure-30KedT7SzT
Welcome to DeepDyve! Rent Premier Research Articles and Save Up to 90%

Learn more

Bookmark

The analysis of programming structure

Mitchell, John C.; Riecke, Jon G.
ACM SIGACT News , Volume 28 (2)
Association for Computing MachineryJun 1, 1997

More Info

More Like This Article

View All dataSource[]=actageo&dataSource[]=aspet&dataSource[]=aaos&dataSource[]=aacc&dataSource[]=aacr&dataSource[]=aea&dataSource[]=aip&dataSource[]=ajnr&dataSource[]=ams&dataSource[]=aps_physical&dataSource[]=appi_book&dataSource[]=appi_journal&dataSource[]=apha&dataSource[]=asip&dataSource[]=asm&dataSource[]=asn&dataSource[]=aspb&dataSource[]=avs&dataSource[]=annual_reviews&dataSource[]=arxiv&dataSource[]=acm&dataSource[]=berghahn&dataSource[]=cabi&dataSource[]=clinical_trials&dataSource[]=dailymed&dataSource[]=degruyter&dataSource[]=du_press&dataSource[]=esa&dataSource[]=eu_press&dataSource[]=elsevier&dataSource[]=emerald&dataSource[]=ejtr&dataSource[]=emea&dataSource[]=epo&dataSource[]=faseb&dataSource[]=gsa&dataSource[]=health_affairs&dataSource[]=hindawi&dataSource[]=imanager&dataSource[]=imedpub&dataSource[]=informa_healthcare&dataSource[]=informs&dataSource[]=iop&dataSource[]=iucr&dataSource[]=iospress&dataSource[]=jbjs&dataSource[]=leftcoast&dataSource[]=lu_press&dataSource[]=mesharpe&dataSource[]=mary_ann_liebert&dataSource[]=medline&dataSource[]=mit_press&dataSource[]=nature&dataSource[]=oxford&dataSource[]=pier_professional&dataSource[]=pnas&dataSource[]=portlandpress&dataSource[]=psyc_articles&dataSource[]=psyc_books&dataSource[]=psyc_critiques&dataSource[]=plos_journal&dataSource[]=pubmed_central&dataSource[]=rsna&dataSource[]=rockefeller&dataSource[]=rcn&dataSource[]=ria&dataSource[]=rsc&dataSource[]=sage&dataSource[]=spie&dataSource[]=springer_journal&dataSource[]=springer&dataSource[]=taylor_francis&dataSource[]=aps&dataSource[]=the_scientist&dataSource[]=uc_press&dataSource[]=uspto_abstract&dataSource[]=wiley&dataSource[]=pct

Browse: Subject Areas | Journals | Publishers

Sign Up for a DeepDyve Account

Bookmark an Article

To bookmark an article, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Subscribe to Journal Email Alerts

To subscribe to email alerts, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK

Thank you for renting with DeepDyve

Your PayPal account has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

Your credit card has been charged $2.99. You now have access to the full text of this article. A rental receipt has also been sent to your email address.

OK

New! You can now keep track of new articles from ACM SIGACT News on your personalized homepage! Learn more

PDF Download — Not Available

Thanks for your interest in purchasing the PDF. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for purchasing with DeepDyve

Your PayPal account has been charged $.

Your credit card has been charged $.

You can now download this article. A purchase receipt has also been sent to your email address.

Download This Article or I'm done with my download

Print Page — Not Available

Thanks for your interest in printing individual pages. Your request has been noted and we will work with our publisher partner to discuss enabling this feature.

In the meantime, you can get the PDF by visiting the publisher site.

Thank you for printing with DeepDyve

Your PayPal account has been charged $0.

Your credit card has been charged $0.

You can now print this article. A purchase receipt has also been sent to your email address.

Print the Selected Pages or I'm done with my printing

Please refresh to generate a new download link

Your article download link has expired. Please refresh this page to obtain a new download link and try again.

Follow a Journal

To get new article updates from a journal on your personalized homepage, please log in first, or sign up for a DeepDyve account if you don't already have one.

OK