Skip to content
rumineykova edited this page Apr 27, 2015 · 59 revisions

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

  1. English Description
  2. Session Type
  3. Scribble
  4. Pabble
  5. Typestate
  6. Global Graphs
  7. State Machine
  8. Any other visual representation
  9. 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| English Description (rfc reference)
|Scribble
Implementation| Session Java: Ray
|Mungo:Ornela
|LINKS: Sam
Usecase| Redis Domain| Data Structures and Algorithms Responsibility| Roly Requirements| English Description |Scribble |State Machine Implementation| Mungo Usecase| Domain Name System Domain| Network Protocols Responsibility| Simon Fowler Requirements| English Description |Scribble |State Machine Implementation| Erlang Usecase| Travel Agency Domain| Network Application Responsibility| Ray Requirements| English Description |Session Types |Sequence Diagram Implementation| Session Java Usecase| Bookstore Domain| Network Application Responsibility| Dimitris Requirements| English Description |Session Types |Scribble |Sequence Diagram Implementation| Session Java: Ray |Mungo: Dimitris Usecase| Network Topologies Domain| Systems Responsibility| Nick Requirements| English Description |Pabble |Diagrams (if any) Implementation| MPI Usecase| Data Structures Domain| Data Structures and Algorithms Responsibility| Dimitris Requirements| English Description |Session Types |Typestate Implementation| Mungo |SILL Usecase| Needham-Shroeder Domain| Security Responsibility| Rumi Requirements| English Description (reference) |Session Type Implementation| SILL - Add Link to SILL usecases Usecase| Concurrency Algorithms Domain| Data Structures and Algorithms Responsibility| Rumi Requirements| English Description (reference your paper) |Scribble |Graphical Representation Implementation| Python Usecase| File Access Protocol Domain| Data Structures/OS Responsibility| Dimitris Requirements| English Description |Typestate Implementation| Mungo Usecase| ATM Domain| Network Applications Responsibility| Sam Requirements| English Description |Session Type Implementation| LINKS Usecase| Cache Coherency Protocol Domain| Hardware Responsibility| Dimitris Requirements| English Description |Scribble Implementation| No implementation

Clone this wiki locally