CHF145.90
Download steht sofort bereit
Thousands of different programming languages exist, and many more are being created each year, yet all those involved in such work must acknowledge that it is "the highest goal of programming-language design to enable good ideas to be elegantly expressed" These are the words of Sir Charles Antony Richard Hoare, or Tony Hoare to his colleagues and friends, a man who has inspired generations of researchers in computer science. His work, grounded in practical programming, has had a profound impact on the evolution of the field. This includes the development of Hoare logic and Communicating Sequential Processes (CSP).
Reflections on the Work of C.A.R. Hoare presents a comprehensive edited survey of all aspects of these subjects, with original contributions by more than 30 international leaders in the field. The book, while honoring Hoare's important contributions, assembles a collection of chapters showing the state of the art in programming languages, sequential programs, concurrency, and unified theories of programming.
Topics and features:
Discusses the problem-frames approach, and explores algebraic properties of the new programming combinators
This accessible monograph is an ideal overview of theoretical and empirical evolution in programming logic and semantics of programming languages. It will serve as an invaluable resource for professionals, researchers, libraries, and students who are interested in broadening their knowledge in all of the areas covered.
Zusammenfassung
ThisvolumehasitsoriginsinameetingheldatMicrosoftResearch,Cambridge,in April2009tocelebrateTonyHoares75thBirthday(actually11Jan2009). Allthe technicalpapersexceptforthosewrittenbyAbramsky,Jackson,JonesandMeyer arebasedsometimesclosely,sometimesnotonpresentationsgivenatthatme- ing. TheideaforthemeetingaroseinconversationsbetweenourselvesandAndrew HerbertofMicrosoft,whohostedatrulymemorableandhappyevent. ThemeetingwasorganisedbyourselvesandKenWood,withthe?nancials- portofMicrosoftResearchandFormalSystems(Europe)Ltd,andheldovertwo days. We wouldlike to recordparticularthanksto Angela Still of Microsoftfor makingallthelocalarrangementsatCambridgeandmuchmore:themeetingwould nothavehappenedwithouther. Whilethemajorityofthepapersinthisvolumearetechnical,weaskedauthorsto re?ectonthein?uenceofHoaresworkontheirown?eldsandtomakeappropriate remarksonit. Allthetechnicalpaperswererefereed. DiscussionswithWayneWheelerofSpringerinspiredthetwoofustowritethe scienti?cbiographyofHoarethatisthe?rstpaperinthisvolume. Thoughwehave bothknownTonywellformanyyears,wewereamazedathowmanydiscoveries abouthimwemadeduringtheprocessofwritingthisarticle. WewouldlikethankWayneandhisassistantSimonReesfortheirhelpinprep- ingthisvolumeaswellastheirpatience. Muchoftheworkingatheringthepapers, ensuringconsistencyofLaTeXstyles,etc. ,wasdonebyLucyLiofOxfordUniv- sityComputingLaboratoryandwethankherwarmly. Tragically,KenWoodswifeLisadiedafteralongillnessinSeptember2009. Wededicatethisvolumetohermemory. January2010 CliffJones BillRoscoe ix Contents 1 Insight,InspirationandCollaboration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 C. B. JonesandA. W. Roscoe 2 FromCSPtoGameSemantics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 SamsonAbramsky 3 OnMereologiesinComputingScience. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 DinesBjørner 4 Roles,Stacks,Histories:ATripleforHoare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71 Johannes Borgstrom, ¨ Andrew D. Gordon, andRiccardoPucella 5 ForwardwithHoare. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 MikeGordonandHel ´ene ` Collavizza 6 ProbabilisticProgrammingwithCoordination. . . . . . . . . . . . . . . . . . . . . . . . . . . 123 HeJifeng 7 TheOperationalPrincipleandProblemFrames. . . . . . . . . . . . . . . . . . . . . . . . . 143 MichaelJackson 8 TheRoleofAuxiliaryVariablesintheFormal DevelopmentofConcurrentPrograms. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167 C. B. Jones 9 AvoidaVoid:TheEradicationofNullDereferencing. . . . . . . . . . . . . . . . . . . . 189 BertrandMeyer,AlexanderKogtenkov,andEmmanuelStapf 10 UnfoldingCSP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213 MikkelBundgaardandRobinMilner xi xii Contents 11 Quicksort:CombiningConcurrency,Recursion, andMutableDataStructures. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 DavidKitchin,AdrianQuark,andJayadevMisra 12 TheThousand-and-OneCryptographers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255 A. K. McIverandC. C. Morgan 13 On Process-AlgebraicExtensions of Metric TemporalLogic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283 ChristophHaase,Joel ¨ Ouaknine,andJamesWorrell 14 FunwithTypeFunctions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301 OlegKiselyov,SimonPeytonJones,andChung-chiehShan 15 OnCSPandtheAlgebraicTheoryofEffects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333 RobvanGlabbeekandGordonPlotkin 16 CSPisExpressiveEnoughfor
Inhalt
Insight, Inspiration and Collaboration C. B. Jones and A. W. Roscoe From CSP to Game Semantics Samson Abramsky On Mereologies in Computing Science Dines Bjørner Roles, Stacks, Histories: A Triple for Hoare Johannes Borgstrom, Andrew D. Gordon and Riccardo Pucella Forward with Hoare Mike Gordon and Helene Collavizza Probabilistic Programming with Coordination He Jifeng The Operational Principle and Problem Frames Michael Jackson The Role of Auxiliary Variables in the Formal Development of Concurrent Programs Cliff B. Jones Avoid a Void: The Eradication of Null Dereferencing Bertrand Meyer, Alexander Kogtenkov and Emmanuel Stapf Unfolding CSP Mikkel Bundgaard and Robin Milner Quicksort: Combining Concurrency, Recursion, and Mutable Data Structures David Kitchin, Adrian Quark and Jayadev Misra The Thousand-and-One Cryptographers AK McIver and CC Morgan On Process-algebraic Extensions of Metric Temporal Logic Christoph Haase, Joel Ouaknine and James Worrell Fun with Type Functions Oleg Kiselyov, Simon Peyton Jones and Chung-chieh Shan On CSP and the Algebraic Theory of Effects Rob van Glabbeek and Gordon Plotkin CSP is Expressive Enough for ? A.W. Roscoe The Tokeneer Experiments Jim Woodcock, Emine Gokce Aydal and Rod Chapman