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. Physical Language 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| 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

Clone this wiki locally