CSA Project Work

Peer review

Document peer reviewing will be done on reading rings.

  • 3 groups are forming a ring, see the csa groups list.
  • One group sends their specifications to others groups in ring to review.
    • Send your specifications document (.pdf) to assistant as well
    • Name your document as csa-2009-draft-<topic>-<glastname>-<glastname>.pdf . <topic> = name of the game topic without spaces. <glastname> = Your group member lastname.
  • Specification is peer reviewed and comments are returned back to sending group and to assistant.
    • Put your comments into one .pdf document.
    • Name your comments document as csa-2009-draft-<topic>-<glastname>-<glastname>-commentsby-<clastname>-<clastname>.pdf . <clastname> = commenting group member lastname.
    • Send your review comments document to assistant as well.
  • Everyone on ring is responsible to inform contact information and retrieve others contact information.

Assignment topics: A Networked Game system

Project work topic is networked game system. Assignment is to model, design and specify a gaming system where players can play game over network. There is two result specifications, a game topic specific model and gaming support model. Gaming support provides common functionalities where game specification defines topic game play functionalities.

Initial (model your own that is consistent with your design) breakout of networked gaming system:

Upper part – Entities (components, classes) that are using entities in specified layer and layer service.

Game layer specification – Game topic specific model and specification of communication. Game rules and logic, movement order, ..

Support layer specification – General game support functionalities modeling and communication specification. Creating and managing a game session, chant functionalities, ..

Bottom part – transport entities (well UDP) to deliver communication into some media (operating system and hardware manages it from that point, so not in focus).

The protocol stack is in assumed to be in different processes (and therefore in different computers).

Work Constraints & Requirements

Given Requirements for Project Work



Game is Nine Men Morris


Game is Pentago

Assumed UDP Transport Layer

Assumed Transport layer: User Datagram Protocol (UDP).

Layer Service

This User Datagram Protocol (UDP) is defined to make available a datagram mode of packet-switched computer communication in the environment of an interconnected set of computer networks. This protocol assumes that the Internet Protocol (IP) is used as the underlying protocol. RFC768


  • Can send a message with octet stream playload
  • Can receive a message with octet stream playload
  • Transport endpoints are specified by numerical port number


  • IP addressing is used


  • For this project work, you can assume UDP to be reliable. No message errors, duplications, losses or reorderings. It is bonus if you have considered this on support layer, but you should focus on making specifications complete before.

Layer Model


  • UDP_User – User of UDP service. To be replaced by some support layer entity.
  • UDP

SAP Interfaces

  • UDP_Send
    • send
    • listen
    • close
  • UDP_Receive
    • receive

Abstract Messages

  • send: Send octet stream to receiver port
    1. dst_addr: uint32
    2. dst_port: uint16
    3. size: uint16
    4. data: octet_stream
  • listen: Listen messages from given port
    1. port: uint16
  • close: Close given port and stop listening of messages
    1. port: uint16
  • receive: Receive octet stream from peer sender port
    1. src_addr: uint32
    2. port: uint16
    3. size: uint16
    4. data: octet_stream


  • dst_addr – destination IP address where to send message
  • dst_port – destination transport end point
  • size – number of octets in UDP message: header (8 octets) + data
  • data – octet stream payload
  • port – port to listen messages
  • src_addr – source (sender) IP address where message is coming from


  • uint32 – 32 bit unsigned integer
  • uint16 – 16 bit unsigned integer
  • octet_steam – sequence of octets
Last modified: 2013/07/01 14:42