cspa -- Communications Software, Protocols and Architectures

CT30A6000 Communications Software, Protocols and Architectures (8 cr)


Action Points


  1. First a programming work
  2. TCP modeling

Exercises Contents

  1. Protocol design
  2. message sequence charts
  3. state machines
  4. Abstract Syntax Notation 1
  5. protocol testing
  6. connectionless and connection oriented software
  7. protocol layering architectures
  8. concurrency in communication
  9. communication software programming
  10. implementation of state machines
  11. implementation of codecs
  12. software communication
  13. conformance testing
  • Communication end-points


  1. students gain basic knowledge about the development of communication protocols
  2. and software.
  3. students will understand the methods to describe the internal and external behavior of protocols.
  4. Students will be able to write specifications for communication software interfaces
  5. and model
  6. and program communications software
  7. Students will know the basic testing and verification methods.


Course development notes



CSA question

two part state machine

From given FSM make one MSC scenario (communication path).

From given MSC scenario define interface of the communication entity.


Searching internet

No internet copy & paste


Requirements and Analysis

  • Use Case diagrams
  • Collaboration diagrams


  • Class Diagrams
  • Object Diagrams
  • Sequence Diagrams
    • MSC, Message Sequence Charts
  • Activity Diagrams
  • Statechart diagrams
  • Deployment Diagrams


  • Component Diagrams
  • FSM Implementation
  • State Design Pattern

Test and Verification

  • Unit testing
  • Conformance Testing
  • Formal Verification Based on Theorem Proving
  • Statistical Usage Testing

Packet Message Description

  • BFN for textual presentation
  • Blocks for byte aligned presentation

About software documentation

  • Usual software documentation: System implementation ⇒ Documentation
    • Documentation usually goes old as system implemntation changes
  • But specification case: Specification ⇒ System implementation
    • Implementations follows specification
    • Specification does not get old
    • For example TCP protocol, it has remained same from 1981, and has maybe thousands of implementations.

Exercise questions and assignments


Find out different kind of communicating devices or computers. To where they are communicating. What is the media for communication. What is protocol in communication.


For each ISO reference model layer, find out an example protocol. List requirements the protocol is going to implement.


Create protocol stack by forming requirements.


Compare protocol A and B, what are differences in message exchange order.


Layer interaction, TCP, UDP


Given state machnine. Presnt MSC with state changes.



Timer management

Buffer management and implementation


  • of messages
    • of information (data) contained in messages. header and payload. type of data
  • message exchange order, state machine

lower layer assumptions and requirements

Topics 2

Congestion control

Communication systems quality parameters

Communications systems (software) architecture - Layers pattern. vs reative systems - mediator pattern ?

Reactive Systems

Message. Alias: signal, frame, packet, PDU.

Message in logic form.

Message in oneway function form.

Message in structure/class form (in certain programming language).

Message in PDU forn (horizontal).

Message vertical in layer architecture - SAP messages

Message horizontal in layer architecture - PDU messages

Message types: request, indication, reply, error, exception, .. .



Channel, communication.

Protocol service logic container. Block ~ Packege ~ Class ? ~ Object ?

Active unit in software: process, active object. ~ threading.

Specification ~ Protocol ~ SPI.

Event in reactive systems. Point of arrival of the message. Timeout events. Other events.

Metaobject protocols.

Design patterns: State, Layer, Mediator

Logic message examples: eg. transport layer. TCP messages, UDP messages, SCTP messages. UDP: send_req, recv_ind. TCP: read_ind, write_req, close_req, connect_req, accept_ind, listen_req.

Coding of the PDU's: For application (presentation) ASN.1, CORBA CDR, XML. Text based encoding, “binary” based encoding.

Synchronous communication

Asynchronous communication

Last modified: 2013/07/01 14:42