{"id":192497,"date":"2015-07-19T00:00:00","date_gmt":"2015-07-19T15:30:54","guid":{"rendered":"https:\/\/www.microsoft.com\/en-us\/research\/msr-research-item\/the-laws-of-programming-with-concurrency\/"},"modified":"2016-07-15T15:24:59","modified_gmt":"2016-07-15T22:24:59","slug":"the-laws-of-programming-with-concurrency","status":"publish","type":"msr-video","link":"https:\/\/www.microsoft.com\/en-us\/research\/video\/the-laws-of-programming-with-concurrency\/","title":{"rendered":"The Laws of Programming with Concurrency"},"content":{"rendered":"
\n

Regular algebra provides a full set of simple laws for the programming of abstract state machines by regular expressions. They apply equally to sequential programs run on real computers. When extended by similar laws for interleaving of regular expressions, they apply also to programs for modern concurrent and distributed systems.<\/p>\n

Evidence for this claim is given by deriving from the algebra a concurrent extension of Hoare Logic (O\u2019Hearn\u2019s separation logic), and also an operational semantics for Milner\u2019s process calculus (CCS).<\/p>\n<\/div>\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

Regular algebra provides a full set of simple laws for the programming of abstract state machines by regular expressions. They apply equally to sequential programs run on real computers. When extended by similar laws for interleaving of regular expressions, they apply also to programs for modern concurrent and distributed systems. Evidence for this claim is […]<\/p>\n","protected":false},"featured_media":199140,"template":"","meta":{"msr-url-field":"","msr-podcast-episode":"","msrModifiedDate":"","msrModifiedDateEnabled":false,"ep_exclude_from_search":false,"footnotes":""},"research-area":[],"msr-video-type":[],"msr-locale":[268875],"msr-impact-theme":[],"msr-pillar":[],"class_list":["post-192497","msr-video","type-msr-video","status-publish","has-post-thumbnail","hentry","msr-locale-en_us"],"msr_download_urls":"","msr_external_url":"https:\/\/youtu.be\/9kKQ8uLK8mk","msr_secondary_video_url":"","msr_video_file":"","_links":{"self":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/192497"}],"collection":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video"}],"about":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/types\/msr-video"}],"version-history":[{"count":0,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video\/192497\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media\/199140"}],"wp:attachment":[{"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/media?parent=192497"}],"wp:term":[{"taxonomy":"msr-research-area","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/research-area?post=192497"},{"taxonomy":"msr-video-type","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-video-type?post=192497"},{"taxonomy":"msr-locale","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-locale?post=192497"},{"taxonomy":"msr-impact-theme","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-impact-theme?post=192497"},{"taxonomy":"msr-pillar","embeddable":true,"href":"https:\/\/www.microsoft.com\/en-us\/research\/wp-json\/wp\/v2\/msr-pillar?post=192497"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}