User:Allan McInnes/Concurrency project
- This is a not so much a WikiProject, as it is a personal summary of what I feel needs fixing in the area of Concurrency (computer science), and some ideas on how to approach the repairs. It just happens to be structured something like a WikiProject page because that format is good for organizing my thoughts. Nevertheless, feel free to edit this page as though it wasn't in my userspace — input from others is very welcome.
Wikipedia has a large number of articles devoted to different aspects of concurrency. Unfortunately, these articles have been developed in a piecemeal fashion. This has resulted in:
- Wildly varying article quality.
- A lot of overlap between the material covered in different articles.
- A lack of coherent structure — information is scattered and disorganized.
- Significant gaps in the information that is presented
- Develop individual articles relating to concurrency to the highest-possible standard.
- Organize the articles relating to concurrency into a coherent structure.
- Add new articles where necessary to fill in gaps in information on concurrency.
Articles relating to concurrency. This includes both the theoretical study of concurrency, and the practicalities of implementing and using concurrency. Articles with a principle focus other than concurrency, but which include concurrency (e.g. Denotational semantics) will probably also receive attention.
- Work on improving an existing concurrency article.
- Find concurrency articles not yet included in the structure below, and add them.
- Figure out where the gaps are, and either add articles, or list them below as to be added.
- Create an article that needs to be added.
- Rearrange the structure below to better organize the information.
- Develop a list of proposed articles merges to unify and structure the content of the project articles.
Topics in concurrencyEdit
Theory of concurrencyEdit
- Models of concurrency — to be added — very preliminary draft at User:Allan McInnes/Drafts/Models of concurrency
- Petri nets
- Actor model
- Process calculi
- Parallel Random Access Machine
- Event structures — to be added
- Tuple space
- Fairness (computer science) — to be added
- Unbounded nondeterminism
Logics for concurrencyEdit
- Hennessy-Milner logic — to be added
- Linear temporal logic
- Computational tree logic
- Temporal Logic of Actions
Formal specification languages for concurrent systemsEdit
Tools for analyzing concurrent systemsEdit
- FDR2 — to be added
- List of Petri net tools
- SPIN model checker
- TLC model checker — to be added
- Uppaal Model Checker
- Race condition
- Shared memory
- Concurrency control
- Lock (computer science)
- Mutual exclusion
- Semaphore (programming)
- Monitor (synchronization)
- Banker's algorithm
- Lock-free and wait-free algorithms
- Message passing
Practice of concurrencyEdit
- Computer multitasking
- Concurrent computing
- Parallel computing