1 / 4

E81 CSE 532S: Advanced Multi-Paradigm Software Development

Learn to manage concurrent, distributed programs efficiently. Dive into event handling, synchronization, & network programming principles. Discover powerful libraries like ACE & Boost Asio.

sheltonl
Download Presentation

E81 CSE 532S: Advanced Multi-Paradigm Software Development

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. E81 CSE 532S: Advanced Multi-Paradigm Software Development From Concurrent to Networked Software Systems Chris Gill Department of Computer Science and Engineering Washington University, St. Louis cdgill@cse.wustl.edu

  2. Events, Connections, and Concurrency • Over the rest of the semester we’ll look at how to manage multiple (e.g., distributed) programs • So far we’ve considered one program’s threads • Now we’ll look at multiple programs at once • Event handling becomes a key topic • Especially within concurrency and synchronization • We’ll start off very simply, then refine rapidly • Single threaded, basic connection establishment • Single threaded handling of multiple connections • Multi-threaded handling of multiple connections • Finally, runtime service access & (re-)configuration

  3. C++ Network Programming Libraries • There are a number of good external libraries for C++ network programming (but with varying capabilities) • E.g., the Qt framework http://qt-project.org • Some of the libraries’ features (e.g., from boost) could be added to the standard libraries in a later C++ standard • We’ll focus on two prominent full-featured ones • The ADAPTIVE Communication Environment (ACETM) http://www.dre.vanderbilt.edu/~schmidt/ACE.html • Boost.Asio (and other boost libraries) http://www.boost.org • You’ll install ACE for today’s studio exercises • Please use the on-line resources listed in the studio page • Please let me know if you run into disk quota issues (I’ve asked to have your disk quotas increased to 4GB)

  4. A Few Optional Book Suggestions • Boost.Asio C++ Network Programming by John Torjo • Available from www.packtpub.com or Amazon.com • The ACE Programmer’s Guide by Stephen D. Huston, James CE Johnson, and Umar Syyid • Available from www.riverace.com/acebooks or Amazon.com • C++ Network Programming Volume 1 Mastering Complexity with ACE and Patterns, by Douglas C. Schmidt and Stephen D. Huston • Available from www.riverace.com/acebooks or Amazon.com • C++ Network Programming Volume 2 Systematic Reuse with ACE and Frameworks, by Douglas C. Schmidt and Stephen D. Huston • Available from www.riverace.com/acebooks or Amazon.com

More Related