Next: Conclusions
Up: Strategic Directions
Previous: Programming Languages for
It is unlikely that the fruits of concurrency research will gain wide-spread
acceptance and usage until the user community is educated in these techniques.
Such concurrency education should start in the undergraduate curriculum.
The following list includes some essential concepts that can and should be
taught at the undergraduate level, perhaps as part of a course on distributed
systems.
-
State transition systems: structural (graph isomorphism) versus
behavioral (bisimilarity, language equivalence) equivalence.
-
From syntax to state transition systems: SOS, compositionality,
refinement.
-
Requirements specification: finite executions and invariant assertions;
infinite executions, fairness, and temporal assertions.
-
Requirements verification: proof checking versus model checking.
(The two ideas can be contrasted effectively with a simple mutual
exclusion protocol, first for two and then for n processes.)
Scott Smolka
Thu Aug 22 10:56:53 EDT 1996