for project work

Specification document audience: Programmers, System architects, Maintainers, ..

What specification should describe to audience reader ?

System overview

  • System overview gives a example picture to reader to understand the communication system.
  • System overview identifies overall communicating entities (computers, devices), ..
    • Also gives roles for them, eg. client - server, peer to peer. These roles will dictate the communication model in more detailed parts.
  • Show large scale entities and how they are connected together by channels.
  • System overview also defines the context where more detailed models will exists.
  • One node can be “zoomed” into protocol stack view

Protocol Stack overview

Layer Service

Layer Model

  • Specifies the identified communicating entities inside layers.
    • What is the entity that presents the layer
    • What entities are created
  • Channels between entities.
  • SAP interfaces and peer PDU interfaces.
    • Entity and interface relationships

State machine (FSM) Diagrams

  • State machines in communicating (or event receiving) entities.
  • The behavior how entity reacts to incoming messages (or events)

Sequence (MSC) Diagrams

  • MSC sequence diagram examples to describe the communication to reader.
  • Each layer entity should be covered in MSC diagrams.
  • Sequence diagrams are example/scenario based. Usually is not feasible to include all possible scenarios into specification, but select couple good example that cover communication entities and describes the communication behaviour to the reader in best possible way.

Abstract Message Definitions

  • Definition of messages in abstract form.
  • Identification or messages and their parameters.
  • PDUs

Concrete Message definitions

List of Used Types

  • Collect list of used types

List of References

  • (or referred Publications)
  • List of referred specifications or other material.


  • Publication reference citations should be used in text as well.

Specification qualities

Working. Communications specification is a part of working software (and hardware) system, so it have to represent operational subsystem model.

Complete. Specification have to be define everything to make communications to be interoperable. Note: implementation specific details do not belong to specification.

Exact. Definition have to be clearly understand.

Unambiguous. Specification may not specify same definition by multiple semantics.

Focused. Specification should concentrate only to its communication service modeling. Channels to other components (communication layers, databases, user interfaces, sensors, ..) have to be acknowledged by needed interface modeling, but theirs design or even implementation is not current specification business.

Consistent. All specifications have to be consistent with each other.

Minimal. Specifications should be only defined once and in other occurrences referred (if needed for readablity).

Referable. Specification works as a agreement between different multiple implementations. Implementation should be able to refer specific parts in specification pages (well keep sense here, and think about reader).

Last modified: 2013/07/01 14:42