¡ ¡ ¡
Spring ¡2014 ¡
School of Computer Science
Principles of Software Construction: Objects, Design, and - - PowerPoint PPT Presentation
Principles of Software Construction: Objects, Design, and Concurrency The Perils of Concurrency Can't live with it. Cant live without it. Spring 2014 Charlie Garrod Christian Kstner School of Computer Science Administrivia
School of Computer Science
2
3
4
§ Concurrency is a crucial system abstraction § E.g., background computing while responding to users § Concurrency is necessary for performance § Multicore processors and distributed computing § Our focus: application-level concurrency § Cf. functional parallelism (150, 210) and systems concurrency (213)
§ For flexible designs and reusable code § A primary paradigm in industry – basis for modern frameworks § Focus on Java – used in industry, some upper-division courses
§ Practical specification techniques and verification tools § Address challenges of threading, correct library usage, etc.
§ Proposing and evaluating alternatives § Modularity, information hiding, and planning for change § Patterns: well-known solutions to design problems
5
6
7
8
9
10
http://www.tomshardware.com/reviews/5-ghz-project,731-8.html
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
§
§
30
§
§
31
32
33
34
35
36