-
Notifications
You must be signed in to change notification settings - Fork 8
Home
Welcome to the session-types-use-cases wiki!
#Objective: Compile a set of use-cases for sessions
#Coordinating Commitee:
- Dimitrios Kouzapas
- Rumyana Neykova
- Sam Lindley
#Repository Link: https://github.com/epsrc-abcd/session-types-use-cases
#Repository:
-
will be structured as a set of folders with each folder corresponding to a use-case.
-
each sub-folder of each use-case will include one use-case requirement.
Example: folder SMTP/Mungo contains the implementation of the SMTP usecase in Mungo folder Buyer-Seller/Scribble contains the Scribble protocol for Buyer-Seller
#Repository Requirements:
- Physical Language Description
- Session Type
- Scribble
- Pabble
- Typestate
- Global Graphs
- State Machine
- Any other visual representation
- Implementation
- LINKS
- SILL
- Haskell
- Mungo
- Session Java
- Python
- MPI
- Erlang
- se-pi
Requirement 1 is obligatory At least one of the requirements from 2, 3, 4, 5 is obligatory Requirements 6, 7, 8 are optional Requirement 9 is obligatory for at least one implementation tool
#Application Domains:
-
Business Protocols
-
Network Applications
-
Systems
-
Operating Systems
-
Data Structures and Algorithms
-
Hardware
-
Programming paradigms
-
Security
#Usecases:
-
ATM
- Travel Agency
- Bookstore
- Simple Mail Transfer Protocol
- Domain Name System
- Network Topologies
- Redis
- SILL usecases
- File Access Protocol
- Python Benchmark
- Cache Coherency Protocol
#Responsibilities:
| Description
---------------|---------------------------
Usecase| Simple Mail Transfer Protocol
Domain| Network Protocols
Requirements| Physical Language Description (rfc reference)
|Scribble
Implementation| Session Java: Ray
|Mungo:Ornela
|LINKS: Sam
Usecase| Redis
Domain| Data Structures and Algorithms
Responsibility| Roly
Requirements| Physical Language Description
|Scribble
|State Machine
Implementation| Mungo
Usecase| Domain Name System
Domain| Network Protocols
Responsibility| Simon Fowler
Requirements| Physical Language Description
|Scribble
|State Machine
Implementation| Erlang
Usecase| Travel Agency
Domain| Network Application
Responsibility| Ray
Requirements| Physical Language Description
|Session Types
|Sequence Diagram
Implementation| Session Java
Usecase| Bookstore
Domain| Network Application
Responsibility| Dimitris
Requirements| Physical Language Description
|Session Types
|Scribble
|Sequence Diagram
Implementation| Session Java: Ray
|Mungo: Dimitris
Usecase| Network Topologies
Domain| Systems
Responsibility| Nick
Requirements| Physical Language Description
|Pabble
|Diagrams (if any)
Implementation| MPI
Usecase| Data Structures
Domain| Data Structures and Algorithms
Responsibility| Dimitris
Requirements| Physical Language Description
|Session Types
|Typestate
Implementation| Mungo
|SILL
Usecase| Needham-Shroeder
Domain| Security
Responsibility| Rumi
Requirements| Physical Language Description (reference)
|Session Type
Implementation| SILL - Add Link to SILL usecases
Usecase| Concurrency Algorithms
Domain| Data Structures and Algorithms
Responsibility| Rumi
Requirements| Physical Language Description (reference your paper)
|Scribble
|Graphical Representation
Implementation| Python
Usecase| File Access Protocol
Domain| Data Structures/OS
Responsibility| Dimitris
Requirements| Physical Language Description
|Typestate
Implementation| Mungo
Usecase| ATM
Domain| Network Applications
Responsibility| Sam
Requirements| Physical Language Description
|Session Type
Implementation| LINKS
Usecase| Cache Coherency Protocol
Domain| Hardware
Responsibility| Dimitris
Requirements| Physical Language Description
|Scribble
Implementation| No implementation